Background Information
Content Search Web-Parts supports a caching feature as described here: https://support.office.com/en-us/article/Make-pages-load-faster-with-caching-in-the-Content-Search-Web-Part.
This should bring enhanced performance.
Problem
When configuring caching as described in the article the Content Search Web-Part does not return any results.
Steps to reproduce
Insert a Content Search Web-Part into a page
Edit the query (for testing purposes here: Recently changed items)
Under Settings activate the option caching for everyone except external users
After saving and publishing the Content Search Web-Part does not return any result. This is reproducable in multiple tenants.
Solution
If you want to enable caching for a security group, this security group requires permissions on the site collection (min. read permission).
In my case "Everyone, except external users" had no read permissions on the site collection.
Related
I have a website that shows different content depending on the user country, but I faced an issue with Cloudflare enabled, which caches full page output and returns wrongly for other countries.
Tried to look into custom cache keys or some ways to cache pages by country but couldn't find the solution.
The feature you are looking for is Custom Cache Keys (available on the Enterprise plan). It allows you to include user features (such as country and language) in the key used to cache an object.
I have a requirement that needs to fetch Caching Details which includes:
Analyze the current system caching which includes CDN setup, enabled HTML, data cache etc with invalidating of cache suggest.
I need to get Sitecore instance caching details in non Sitecore application like Windows Application.
What are the options to get Sitecore Instance Details in non Sitecore Application
What all inputs i should provide to non Sitecore application to get Sitecore instance details.
The non Sitecore application will be used as a tool which gets Sitecore application(Sitecore Instance) details like pipelines,workflows,caching etc.
Your help would be greatly appreciated.
Thanks in Advance.
Admin Tools
Sitecore provides a basic cache monitoring page.
/sitecore/admin/cache.asp
and many other tools see /sitecore/admin/
Performance counter
You can use Windows Performance counters: see
https://sitecorebasics.wordpress.com/2014/10/25/sitecore-8-0-performance-counters/
On Azure application insight see https://doc.sitecore.com/developers/91/sitecore-experience-management/en/configure-application-insights-post-deployment.html
Log file
A lot of information is in the log file, http://sitecore-community.github.io/docs/documentation/Sitecore%20Fundamentals/Logging/ or Azure application insight https://doc.sitecore.com/developers/91/sitecore-experience-management/en/analytics.html
Custom Admin page
You can easily create your own admin page with the details you want to monitor. for the caching you can use the Sitecore.Caching.CacheManager in your code.
Sitecore Event and Pipelines
Sitecore is easy to extend with custom code, you can also easily add extra logging to you windows application. by subscribe to an Event https://sitecore-community.github.io/docs/pipelines-and-events/events/ or add an extra process to a pipeline. http://sitecore-community.github.io/docs/pipelines-and-events/pipelines/
I have implemented a website using Oracle Webcenter Portal (WCP) integrated with Oracle Webcenter Content (WCC).
Some pages of the website need to show public documents that are stored in WCC. In order to do this I use WCP content presenters. However, I realized that, in order for the document to be visible to a user that is not logged in, that document must have no account associated in WCC.
However, for security reasons, prior to it's release the document needs to have an account.
I was trying to use WCC Workflow events to alter the account using wfUpdateMetaData Idoc function. However, after some research I realized that this function is only capable of altering metadata that was manually created by me.
Is there any way to achieve this?
Thanks in advance.
You have two possible approaches:
It is possible to give access to non-logged in users, by giving access rights to Guest. It's probably not what you want, so I'll leave this option without further description for now.
Second option is to change account by using executeService to call the UPDATE_DOCMETA service. It might an issue that the document is in an active workflow and you might have to call wfRelease prior to the service call (I have no possibility to test it right now)
I have enabled fast checkin on WCC through adding useFastCheckin=1 as an addition configuration variable.
However, now when users upload documents to WCC through the Siebel Iframe, the documets are not displaying on the Iframe after being uploaded.
The document is available in WCC if you search for it but no documents are visible in the iFrame.
Then when removing the useFastCheckin=1 on WCC, the documents display on siebel iFrame as normal.
Does anyone have a solution for this to allow for WCC to use fast checkin and show the documents on the iFrame?
I managed to find a solution to the issue that I was facing in my above question.
I added the following two additional configuration variables to WebCenter Content General configuration:
UseSearchCache=false
SearchCacheMaxItemAgeInMinutes=0
and voila problem solved.
I am working with a Kentico site and I have a problem with page output caching.
We have a custom webpart which loads the records from a Bizform's record data and displays those data in a page. The problem is that after giving it several tries, we couldn't figure out the problem why the webpart couldn't get the latest data from the bizfrom data and we suspect it was because of output caching.
We tried to:
Disable webpart output caching in webpart configuration
Disable page output caching in CMSDesk > General > Output Caching
Disable site output caching in Settings > System > Performance
Disable IIS cache for both User-mode and Kernel cache
Create cache dependencies for cms.form|byid| touched key (which I found is not supported in current kentico version)
And going to try create event handler to add touched key on bizform insert event
We encounter a similar problem with Shopping Cart Mini Preview Webpart with Ecommerce.CurrentContext.CurrentShoppingCart which returns different result for service handler (.ashx - gets updated) and for webpart (.ascx - does not get updated)
If you ever experienced these problems, please help.
The last place where it could be cached is the content cache. It can be set either in Settings->System->Performance or at the web part level under System settings section.
Only web parts that utilize the content caching have this section available. (E.g. some repeaters and data source web parts.) It might be a little bit confusing because then there are two sections (System settings and Performance) where you can influence caching. However the Performance section is used to set up the Partial output cache.
Anyway, you should definitely try to check Cache debug to see what is actually cached.
Additional resources:
Deep dive – Kentico CMS Caching
New in 5.5: Caching API changes
Deep dive: Cache dependencies
Kentico caching and cache dependencies explained
ASP.NET Caching Dependencies
I have faced issue similar to second one (with Shopping Cart Mini Preview Webpart) recently. Only web service (.asmx) was used instead of HTTP handler. In my case issue was solved by setting the EnableSession property of WebMethod attribute to true for all the CRUD webservice methods.
[System.Web.Services.WebMethod(EnableSession = true)]
So I think the matter is that handler should be able to access current Session.
In case of HTTP handler you could try to add IRequiresSessionState on the handler declaration to attach it with the session.
I am also using Kentico 8, I see that your Kentico version is older. That might also have impact but I am not sure about that.