Accessing Media library files without accessing Examine Internal Index
Hi guys,
Is there any way to access all the media files in Umbraco without using the Examine Indexes?
We are facing some issues in our client environments because of the following: per each environment, we have two servers: one that has access to the Umbraco back office (only accessible on their network), and another that doesn't.
The problem here is: we don't use the Examine indexes, we use the FullTextSearch (https://our.umbraco.com/packages/website-utilities/full-text-search/). Since we don't use that, we are not building the indexes in the environments.
Our client has requested to create a PDF index sitemap, and that is working properly in the server that has access to the Umbraco backoffice because I'm able to create the indexes through the Examine Management screen (in the developer tools). However, since we don't have access to the Umbraco backoffice on the other environment, we are not able to create the Examine Indexes in there, and we have some cache issues because the PDF files are not being indexed in the page.
A possible solution would be to build the indexes in all the environments, but I'm just trying to understand if we have any other solution for that without accessing the Examine Internal Indexes.
We are accessing the media library this way:
@ListPDFFiles(Umbraco.TypedMediaAtRoot())
@helper ListPDFFiles(IEnumerable
foreach (var mediaNode in mediaStartNode)
{
if (mediaNode.DocumentTypeAlias == "File")
{
if (mediaNode.GetPropertyValue<string>("UmbracoExtension") == "pdf")
{
<url>
<loc>@GetUrlWithDomainPrefix(mediaNode.Url)</loc>
<lastmod>@(string.Format("{0:s}+00:00", mediaNode.UpdateDate))</lastmod>
</url>
}
}
if (mediaNode.Children.Any())
{
@ListPDFFiles(mediaNode.Children)
}
}
One more possible solution - use MediaService to access the media instead of Umbraco helper, it will be slower, but it works without ExamineIndexes and it retrieves the data directly from the database.
Thanks for your help on this! I was able to accomplish the request with the suggestion that u gave.
I did the following:
XML sitemap - hitting umbraco file cache, since I have a model in context when the user accesses the sitemap page
PDF sitemap - hitting the DB directly. I haven't cached the files because the performance were not that difference between hitting the Examine Index and hitting the DB (I'm assuming that's because our client doesn't have that much files)
Accessing Media library files without accessing Examine Internal Index
Hi guys,
Is there any way to access all the media files in Umbraco without using the Examine Indexes?
We are facing some issues in our client environments because of the following: per each environment, we have two servers: one that has access to the Umbraco back office (only accessible on their network), and another that doesn't.
The problem here is: we don't use the Examine indexes, we use the FullTextSearch (https://our.umbraco.com/packages/website-utilities/full-text-search/). Since we don't use that, we are not building the indexes in the environments.
Our client has requested to create a PDF index sitemap, and that is working properly in the server that has access to the Umbraco backoffice because I'm able to create the indexes through the Examine Management screen (in the developer tools). However, since we don't have access to the Umbraco backoffice on the other environment, we are not able to create the Examine Indexes in there, and we have some cache issues because the PDF files are not being indexed in the page.
A possible solution would be to build the indexes in all the environments, but I'm just trying to understand if we have any other solution for that without accessing the Examine Internal Indexes.
We are accessing the media library this way:
@ListPDFFiles(Umbraco.TypedMediaAtRoot())
@helper ListPDFFiles(IEnumerable
}
Thanks for your help in advance,
Hi Carlos
One more possible solution - use MediaService to access the media instead of Umbraco helper, it will be slower, but it works without ExamineIndexes and it retrieves the data directly from the database.
Maybe if you add caching it will work for you.
Thanks,
Alex
Hi Alex,
Thanks for your help on this! I was able to accomplish the request with the suggestion that u gave.
I did the following:
XML sitemap - hitting umbraco file cache, since I have a model in context when the user accesses the sitemap page PDF sitemap - hitting the DB directly. I haven't cached the files because the performance were not that difference between hitting the Examine Index and hitting the DB (I'm assuming that's because our client doesn't have that much files)
Thanks,
is working on a reply...