Tim Murphy's .NET Software Architecture Blog

October 2017 Entries

Umbraco Team Development


The Umbraco CMS platform give you the ability to create a content managed site with the familiar development process of ASP.NET MVC.  If you are the only developer things don’t get too complicated, but the moment you are sharing your solution with a team you gain a few wrinkles that have to be addressed.

Syncing Content and Document Types

Umbraco saves its content partially to the file system and partially to the database.  This complicates sharing document types, templates and content between developers.  While Courier allows you to sync these elements between your local machine and your stage and production servers it doesn’t do well between to local host instances.

We addressed this problem using the uSync package which is available in the Umbraco package page under the developer section of your site.  It allows you to automatically record changes every time you make a save in the back office.  They are saved to files that can then be transferred to another system and will automatically be imported when the application pool restarts.

Other Special Cases

Another area that you will have to address is the content indexing files and the location of the auto-generated classes.  Files like “all.dll.path” will need to be ignored in your source control since it contains a fully qualified directory location which will cause problems as you pull source code to multiple machines.

Of course you will also need to manage your web.config files as you would with any ASP.NET based solution to make sure that you don’t step on each developer’s local settings.


If you follow these couple of guidelines you will overcome some of the more annoying aspects of developing an Umbraco solution.  Ultimately it will make the life of your developers will be much easier.