Publishing can be quite an issue for content authors and make an impact on performance. However if you use the right strategy, there really isn’t any issues.
One of the issues with publishing can be performance. When you publish one or more items the HTML cache is cleared, which means that if you have some performance heavy presentations, it will increase the loading time of the page, until the cache has been rebuild. Further if you use the staging module and it is configured to it, all the data caches are cleared as well. This can cause the site to take up to 30 seconds to reload your pages – especially if they are data heavy. You can read more about Sitecore Caching here and read about the issues with cache and the staging module here.
Note that Sitecore recently released a staging module which supports partial item caching, but the HTML cache is still cleared. You can read more about the new module on Alex Shybas blog.
I don’t know if performance impact when publishing is specific to Sitecore or is generally a problem in most CMS’, but I reckon it is the later. However Sitecore has a special problem with regards to caching. As Sitecore isn’t page based as many other CMS’ (this is also one of its biggest advantages), it makes it difficult to have a partial cache clearing – especially with regards to HTML cache. A page can be constructed by several content items, and there are no immediate binding between a page and the items, which it is constructed of, so all HTML caches needs to be cleared even though you just publish one item.
Another issue is the usability for content authors. Some of our clients were complaining about being queued all the time when they initiated a publish and it could take a very long time before they got their content published. What often happened was that when they initiated a publish, the modal dialog reported, that they were queued. Instead of waiting for it, they closed the window and continued editing. A few minutes later they would initiate another publish, but was once again told that they were queued. When this process repeated itself for the 50 active content authors, you can imagine the queue could get quite big.
Another thing we stumbled upon was, that some content authors used publishing instead of preview. Every time they wanted to view their work in progress to check if it looked alright frontend-wise, they published the item and viewed the page as if it was already completed and ready for actual publish.
I know we are not the only Sitecore partner experiencing this, as I have talked to other implementation partners and received questions about it on Learn Sitecore.
So why do I suggest it isn’t a problem? Well… we aren’t really experience any issues with our clients or with performance issues caused by publishing anymore. This is a result of more than one thing, but the primary solution was to use scheduled publish.
I don’t know why, but using this publishing strategy this can be a really big issue for clients. We often heard remarks like: “We need to publish content immediately”… But common! I really haven’t worked with many organizations, where this is an actual issue. What content do these organizations have, which is so important, that they can’t wait 15 minutes (at tops) to be published? I have consulted clients with huge sites, which is absolutely critical to the business and the funny part is that these companies rarely have a need to have immediate publishing. They are normally used to having a longer waiting period for the rest of their web services due to replications tasks between 100s of servers and rebuilding of caching. So why do the smaller companies have a bigger need for immediate publishing? The short answer – they don’t!
So what do we do to convince our client to use scheduled publish? We do more than one thing: First of all we explain to them, what impact publishing has. Then we allow a single or a few admins to have publish rights, so that they can have immediate publishing. Further we set the “do not publish” mark on all newly created items, so that they won’t be accidently published while they’re not finished. The authors will have to unclick the setting, when they think the item is ready for publishing.
Finally we have developed something, which in my opinion is rather cool! We acknowledged that people respond best to waiting time, if they have an indication of when the waiting will come to an end. This fact is also one of the reasons why they have timers on traffic lights in Copenhagen:
We decided to use the same strategy for scheduled publishing. If the content authors would know, when the next scheduled publish is due, they would be much more satisfied with the idea of not having immediate publishing. So we – in Pentia – developed a timer which is shown in the task bar in Sitecore:
The “Trinvis udgivelse” is Danish and mean incremental publish. So this timer tells the content author, that there is 12 minutes and 48 seconds to the next incremental publish. The functionality also supports multiple timers, so on some solutions we also use it to indicate, when an import from an external database is due and so forth. Cool, right?
These things combined we really don’t have any issues, with convincing our clients to use scheduled publishing.
~ by Jens Mikkelsen
Source:- http://mcore.wordpress.com/2010/01/22/publishing-strategies/
Showing posts with label publishing. Show all posts
Showing posts with label publishing. Show all posts
15 December 2010
14 December 2010
Resetting Sitecore Staging Module
Greetings,
A quick troubleshooting post on Friday to wrap up the work week
A quick troubleshooting post on Friday to wrap up the work week
This time about our favorite Staging module. This applies to all pre Sitecore 6.3 installations as the latest version does not require this module.
So I have recently witnessed a problem that our customer was facing. The module being stuck during file upload process, giving out a pretty generic error from the Staging log files:
11/2/2010 1:20:29 PM (ER): Could not Execute file upload: Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
It turns out that sometimes the module may not output the most meaningful information to the logs, so the error may not be really helpful here.
For example, this could be caused by missing ACL permissions on the files that the module is synchronizing, etc. By the way, a useful thing to double check – make sure the application pool account has read/write/modify on the folder which are configured to be synchronized.
For example, this could be caused by missing ACL permissions on the files that the module is synchronizing, etc. By the way, a useful thing to double check – make sure the application pool account has read/write/modify on the folder which are configured to be synchronized.
Here are some quick things you can do fairly to “reset” the module configuration:
1. Delete any files under upload, download and cache sub-folders within the working directory (/sitecore modules/staging/workdir). These are the temp files automatically generated, so it is safe to do this.
2. Clear the value of the “Last updated” field on the appropriate StagingServer item in your master db:
2. Clear the value of the “Last updated” field on the appropriate StagingServer item in your master db:
4. Monitor Staging logs which are located within the working directory.
Also, check out this useful troubleshooting resource on Staging module troubleshooting.
Posted by Alex Shyba
Subscribe to:
Posts (Atom)