I think it would be positive if we put together some advice/guidance on how to go about debugging/solving Courier issues.
Having just had another Courier site stop working, I have to reassure our customers that this technology works and that we can resolve these issues quickly. Both of which I feel quite uncomfortable about.
-
I know the nHibernate element of Courier makes things very mysterious, but there must be some common issues that can easily be resolved by following a certain process.
Are there any recommended steps?
Every-time Courier blows up, I feel like I'm starting back at step one.
1) Clear Courier Cache every time after you change courier.config, perform massive updates of document types, or just start feeling the things are not working right!
2) Cleanup recycle bin on target server regularly. If a couriered item is deleted on the target server, courier will not create a new one.
3) Never create content items directly on your production server. Courier recognizes items as "the same" by GUID, so it will not update these items during the sync.
4) Minimize amount of dependencies by tweaking the courier.config
5) For your content editors restrict everything in Courier permissions section but Documents, Media, Document Property data, Media property data, and Dictionary. Couriering macros and templates as a dependencies is a nightmare. Sync most of file content manually (using SVN hooks, FTP or file share), use Courier only for the database content sync.
5) Make sure all non-standard controls present in Courier.config, so Courier recognizes locallinks and node pickers (for example not all uComponent controls are included into courier config)
6) Use open-source part of courier to set up breakpoints and debug.
7) Finally, decompile the non open-source part of courier to set up breakpoints and debug.
Hi Gleb. How did you go about addressing point 5? I've looked within Courier's config and section. I can't seem to find any configuration relating to types of objects that can be packaged etc. Thanks, Dan.
Hi Lawrence, how did you solve your cryptic problem with the permissions? It seems to me like I need to check my permissions because of this error:
---> System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.ReflectionPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
I toggled this setting in web.config "umbracoUseMediumTrust" to no effect and I think that I have checked my machine config and think that the code is running in full-trust however I don't know for sure the settings.
Can anyone on here check out my error? I have looked through the links on this thread and so far my installation checks out. I will add this solution to the docs when I figure it out :) Thanks,
How to solve Courier problems.
I think it would be positive if we put together some advice/guidance on how to go about debugging/solving Courier issues.
Having just had another Courier site stop working, I have to reassure our customers that this technology works and that we can resolve these issues quickly. Both of which I feel quite uncomfortable about.
-
I know the nHibernate element of Courier makes things very mysterious, but there must be some common issues that can easily be resolved by following a certain process.
Are there any recommended steps?
Every-time Courier blows up, I feel like I'm starting back at step one.
1) Clear Courier Cache every time after you change courier.config, perform massive updates of document types, or just start feeling the things are not working right!
2) Cleanup recycle bin on target server regularly. If a couriered item is deleted on the target server, courier will not create a new one.
3) Never create content items directly on your production server. Courier recognizes items as "the same" by GUID, so it will not update these items during the sync.
4) Minimize amount of dependencies by tweaking the courier.config
5) For your content editors restrict everything in Courier permissions section but Documents, Media, Document Property data, Media property data, and Dictionary. Couriering macros and templates as a dependencies is a nightmare. Sync most of file content manually (using SVN hooks, FTP or file share), use Courier only for the database content sync.
5) Make sure all non-standard controls present in Courier.config, so Courier recognizes locallinks and node pickers (for example not all uComponent controls are included into courier config)
6) Use open-source part of courier to set up breakpoints and debug.
7) Finally, decompile the non open-source part of courier to set up breakpoints and debug.
Hi Gleb. How did you go about addressing point 5? I've looked within Courier's config and section. I can't seem to find any configuration relating to types of objects that can be packaged etc. Thanks, Dan.
There is a common issues and their resolutions document here: https://github.com/umbraco/Courier/blob/master/Documentation/CommonIssues.md
and for tweaking the config as gleb mentions:
The main config https://github.com/umbraco/Courier/blob/master/Documentation/Architecture/Configuration.md
individual provider config: https://github.com/umbraco/Courier/blob/master/Documentation/Architecture/Provider-Configuration.md
We've experienced strange cryptic problems when the /Bin folder does not have the correct permissions.
Hi Lawrence, how did you solve your cryptic problem with the permissions? It seems to me like I need to check my permissions because of this error:
---> System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.ReflectionPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
I toggled this setting in web.config "umbracoUseMediumTrust" to no effect and I think that I have checked my machine config and think that the code is running in full-trust however I don't know for sure the settings.
Can anyone on here check out my error? I have looked through the links on this thread and so far my installation checks out. I will add this solution to the docs when I figure it out :) Thanks,
G-
is working on a reply...