Skip to main content

Sitecore clear cache setting

Sitecore has extensive cache settings. You can add caching at the rendering level so it affects all instances of that rendering. Or you can add caching at the component level on a particular page via the presentation details. This is all good when you are setting it up, but once this goes to production, the way caching is supposed to work is that the cache should get cleared after an item is published. So after an item is published, any associated cache should also automatically get updated.

In our case, we saw that once we went to production (with extensive caching enabled) our pages loaded much faster. However when the content authors were updating content, the updates were not making it to the delivery servers. The content seemed to be stuck in the cache. We noticed that we had to do one of the following to see the updated cache.

  1. Go to the admin cache page [SitecoreSite/sitecore/admin/Cache.aspx] and click the "Clear all" button. This is not viable long term solution but helps to troubleshoot if an issue is related to the cache.
  2. Uncheck any cache settings you have placed on either renderings or pages level components. 

The above steps would help determine if your issues is related to the cache not cleared after each publish. We noticed that in our Sitecore.config file, after the publish:end event, the default site name is set to be "website". Our site was not called website, so after updating the site name, we noticed that caches were getting cleared after publishing. Phew! Hope this helps someone else out there.


Comments

Popular posts from this blog

Sitecore: Get list of logged in users

I had a deployment today and wanted to find a list of users who were logged into the Sitecore admin site. This was mainly so that I can contact them and let them know that a deployment was going to happen. I found the following link very useful as it gave me exactly what I was looking for. A list of users that were logged in and I contacted them. It also has the ability to Kick off users! http://{YourWebsite}/sitecore/client/Applications/LicenseOptions/KickUser Note: You can only see other users in this list if you have the right administrator permission. Logging in with a lower access level user only gave me the logged in user and no one else on the list.

Create Object XML while Debugging in VS

 There are times when you put breakpoints in Visual studio and read object values within Visual Studio. This is all good if you are doing some debugging. But if you want to save an object like a Json object in Visual studio there isn't a straightforward way to do that. I found this piece of code that I copied and pasted in the Immediate Window in Visual Studio and was able to save the object as an XML file. (new System.Xml.Serialization.XmlSerializer(YourObject.GetType())).Serialize(new System.IO.StreamWriter(@"c:\tmp\YourObject.xml"), YourObject) Happy Sitecoreing!

Updating Sitecore Image alt text

One of the most important conditions of making a site accessible is to make sure that all images on the site have the alt field with some value that describes the image. The simplest update we can make to Sitecore is to have the alt field automatically get the image file name. That way even if content authors forget to fill the alt field, it is pre-filled with the file name. To do this just add $name to the alt field in the standard value of an image [/sitecore/templates/System/Media/Unversioned/Image/__Standard Values] This is all good for an future images that gets uploaded to Sitecore. But what about all the existing images. For that we can write a PowerShell script (see below) to get all images in the Sitecore image folder that have empty alt tags. Export that to a csv file. $pathOfImages = "master:/sitecore/media library/MyImages" $images = Get-ChildItem -Path $pathOfImages -Language * -Recurse | Where-Object { ($_.Fields["Alt"] -ne $null) -and ($_.Fields...