Valid for Sitecore
Troubleshooting tips for the Staging module
Below is the list of troubleshooting tips for the case if the items and files are not synchronized when publishing.
Is the StagingAgent scheduled task being run at all?
Open the sitecore log file and check that it contains entries for the StagingAgent.
If the logfile doesn't contain any StagingAgent entries (or only very few of them), check the <frequency> setting in the <scheduling> section of the master web server's web.config file (as mentioned in the Staging module guide). The default frequency is <frequency>00:10:00</frequency> meaning that it can last up to 10 minutes after invoking the publish action until the StagingAgent task (which performs the file upload) is invoked by Sitecore.
Check the Staging log file
Open the log file in "/sitecore modules/staging/workdir" on the master web server (or the directory specified in the "StagingWorkDir" setting in web.config).
If no logfile is generated, either the module is not installed correctly or the asp.net process doesn't have write access to the working directory.
The logfile contains useful information about file synchronisation including error messages that can indicate various problems (such as being unable to contact the slave server due to the slave server's host name not being found, or being unable to call the web service on the slave web server).
Using SOAP: Is the web service properly installed on the slave web servers?
Try to access the following URL on each of the slave web servers (replace "example.com" in the address with the hostname/URL that you have specified for the slave in the StagingServer item in Sitecore):
This should bring up a list of available SOAP methods.
If this is not the case, check that the file "api.asmx" exists in the "/sitecore modules\staging\service" folder on the slave server. If the file does not exists, make sure the ASPNET (and possibly IIS_xxx) user (Network Service user in Windows 2003) has write access to the "/sitecore modules" folder and try to reinstall the Staging_slave.zip package.
Check Sitecore logfile on Runtime
Check the Sitecore logfile on the runtime server to see if any errors are logged regarding staging.
No images/files being uploaded?
If the log file doesn't contain entries about any file/image uploads, try the following:
- Check the scheduling frequency (as mentioned above)
- If changing the scheduling frequency doesn't work, go to the "Housekeeping" section of the "StagingServer" item that is parent to the "StagingUpload" that isn't working as expected. Remove the value in the "Last updated" field, save the item and republish.
- Finally go to the "StagingUpload" item and temporarily remove the checkmark from "Transfer new files only" and republish.
Switch the Cache clearing setting to Full
This setting should be set to “Full” in most cases. The reason is:
- We know that after publishing all html items must be cleared from cache.
- The webfarm server in a staged setup has no way of knowing which individual items were published during an incremental publishing.
For these reasons the entire html as well as item cache should be cleared during staging, even for the smallest publishing operation. The “partial“ setting does not clear the entire item cache.
Check the language nodes
This information applies to Sitecore v5.3:
- Check that the "Iso Code" field is filled out correctly for all the languages below (all the nodes below /sitecore/system/languages in the master database).
The Staging module use the information in the "Iso Code" field when determining if a publish operation should trigger a staging action. If the "Iso Code" is not filled out (or is filled out incorrectly), the staging will never be triggered.
Logfile throwing "Error clearing cache: EOF in header"
You probably have the dataMigrationWizard installed. If you do, the staging will not work until you disable it.
You need to disable the following section in your web.Config the ClearCache call probably will work again.
<add type = " TransferProtocol.SoapExtensions.SoapArchiveExtension,TransferProtocol " priority = " 1 " group = " 0 " />
System.Web.Services.Protocols.SoapException:... Access to the path <path> is denied."
Full error: ManagedPoolThread #3 01:02:11 ERROR Could not upload <path_1>: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.UnauthorizedAccessException: Access to the path '<path_2>' is denied.
The staging module is trying to stage the file in <path_1>, but on the destination server an Access denied error is thrown on <path_2>. In order to resolve, download and install FileMon from Microsoft on the target server and monitor all fileaccess to <path_2> (trick: use a filter in FileMon)