This bug was found in Sitecore 7.2 rev. 140526 and is related to dialog timeouts after one minute. If your Content Editors are complaining about the Rich Text Editor (RTE), presentation layer details, or other dialogs timing out before they can submit their changes, this blog post will help you save the day and make you a hero in the eyes of your coworkers.
Sitecore Dialogs Timing Out After One Minute
At this point I may need to dig through the templates from my freelance days – might need to invoice Sitecore for Quality Assurance services 😉 Recently, a battery of bugs came my way, however, thanks to Sitecore Support, all of them have been fixed, and this one was no exception.
Recently we deployed a solution built on revision 140526 of Sitecore 7.2 for one of our clients to their Content Management (CM) environment. The deployment went through smoothly and the flood gates were opened, letting the anxious Content Editors to finally start adding content to the website. Armed with dual screens, our developers stood by waiting for a flood of tickets with requests for changes, as it usually happens, even if you built the website to the exact spec.
One of the first requests we got was to extend the timeout for the CMS. Our editors complained about multiple dialogs timing out after only one minute, dropping all the changes made. This being a high priority item, we jumped on it right away. We were able to easily reproduce the issue by keeping the RTE dialog open or over a minute, and after clicking Accept, we were given the message shown in a screenshot to the right.
This looked like a known issue with Sitecore flagging users as robots, where the session timeout length was set to the value of the Analytics.Robots.SessionTimeout setting –
<!-- ANALYTICS ROBOTS SESSION TIMEOUT The ASP.NET Session Timeout for auto detected robots. When the automatic robot detection identifies a session as being a robot, the ASP.NET Session Timeout is set to this value (in minutes). Default: 1 --> <setting name="Analytics.Robots.SessionTimeout" value="1" patch:source="Sitecore.Analytics.config"/>
The problem fit the bill – we were dealing with timeouts while saving changes in the RTE, and we were using a DMS. Already thinking of what ticket to move on to next, I bravely deployed the patch. Unfortunately, to my surprise, when I tested the RTE, the dialog continued to timeout after one minute. I made sure the deployment was done properly and checked the RTE again with no luck.
As a sanity check I changed the Analytics.Robots.SessionTimeout value to a value of 5 and checked the RTE again. This time the dialog stayed active for 5 minutes, telling me this was still a related issue.
The next troubleshooting step was to try reproducing the issue on a fresh Sitecore installation, which I was able to do. On an off chance, I tried implementing the fix for the RTE timeouts describes on the SDN for the older versions of Sitecore, but that did not work either.
At this point it was time to contact the Sitecore Support Wizards.
Fix Sitecore Dialog Session Timeout Issue
The Sitecore Support representative was quick to reproduce the issue and assured that the fix would follow shortly. True to his word, the rep replied with a solution within just a couple of days.
To my surprise, it turned out that although the symptoms of my bug and the bug discussed in the Knowledge Base were the same, the root of the issue was unrelated. The support representative said that the issue had been marked as a bug and will be fixed in the later updates to Sitecore. In the meantime, the following patch should take care of the problem:
- Modify the Website\web.config by adding following module to the ‘system.webServer’ section (in case site is running on the Integrated Mode on IIS7 <- default setting ; and ‘httpModules’ section in case Classic mode is used) :
<add type="Sitecore.Web.HttpModule,Sitecore.Kernel" name="SitecoreHttpModuleExtensions" /> <add type="Sitecore.Support.FixHttpSessionTimeout.CausedByRobotDetection,Sitecore.Support.414299" name="RevertingAnalyticsBotSessionDuration" />
- Add the Sitecore.Support.414299 into the Website\bin folder.
Voila! The premature timeout issue should be fixed and content editors can enjoy an interrupted editing experience!