I'm interested in how other developers / teams use Umbraco as a development tool. In our teams each user has a local database which they develop against, so that they can develop at home, when not connected etc. So when a developer creates a new document type or a new template, this is actually in their local database on not on every other developer's database.
How do people manage the version control for these assets ?
For document types, this appears to be relatively simple - you can export each document type as a .udt file that is effectively an XML representation of the document type definition. Hence we simply source control these and each developer can checkout the files and import them into their database. Each time a new version is installed it overwrites the existing one, which is fine. When it comes time to deploy to a staging / prod environment there'll be a long list of .udt files that need to be deployed.
My issues come around things that are deployed via packages. Take templates for instance. If a developer creates a template in their local Umbraco installation, how can other developers get access to this - what asset can you source control to manage these. The obvious answer is deploying these as packages, so I gave this a try. However if I install a package "mypackage_1.0.zip" which contains a template then this template does get installed. However next time I install the same package it appears in the installed packages menu again, and any document types in that package are duplicated. How are you meant to version control these types of things within an Umbraco development project ?
The only way I can appear to see to handle "upgrading" of packages is if the package is in a "package repository", but there doesn't appear to be a way to have a local / private "package repository" to push out updates from.
Interested to hear how everyone else handles this on large-scale developments.
I'm sure there are better ways, but I've been working with an offshore parter on a recent project. We have a common development environment where all changes made locally need to be pushed to (DLLs, user controls and XSLTs). Changes to document types, etc are made from this environment. When I want to run the site locally, I just copy down the umbraco.config file in the App_Data folder and reset IIS. My local instance already points to the common development database. Occasionally, I will need to pull down additional info in the App_Data folder like for media files.
This model has worked, but I would also be interested in how others are doing this.
Umbraco Deployment Woes
Hi,
I'm interested in how other developers / teams use Umbraco as a development tool. In our teams each user has a local database which they develop against, so that they can develop at home, when not connected etc. So when a developer creates a new document type or a new template, this is actually in their local database on not on every other developer's database.
How do people manage the version control for these assets ?
For document types, this appears to be relatively simple - you can export each document type as a .udt file that is effectively an XML representation of the document type definition. Hence we simply source control these and each developer can checkout the files and import them into their database. Each time a new version is installed it overwrites the existing one, which is fine. When it comes time to deploy to a staging / prod environment there'll be a long list of .udt files that need to be deployed.
My issues come around things that are deployed via packages. Take templates for instance. If a developer creates a template in their local Umbraco installation, how can other developers get access to this - what asset can you source control to manage these. The obvious answer is deploying these as packages, so I gave this a try. However if I install a package "mypackage_1.0.zip" which contains a template then this template does get installed. However next time I install the same package it appears in the installed packages menu again, and any document types in that package are duplicated. How are you meant to version control these types of things within an Umbraco development project ?
The only way I can appear to see to handle "upgrading" of packages is if the package is in a "package repository", but there doesn't appear to be a way to have a local / private "package repository" to push out updates from.
Interested to hear how everyone else handles this on large-scale developments.
Many thanks,
Chris
I'm sure there are better ways, but I've been working with an offshore parter on a recent project. We have a common development environment where all changes made locally need to be pushed to (DLLs, user controls and XSLTs). Changes to document types, etc are made from this environment. When I want to run the site locally, I just copy down the umbraco.config file in the App_Data folder and reset IIS. My local instance already points to the common development database. Occasionally, I will need to pull down additional info in the App_Data folder like for media files.
This model has worked, but I would also be interested in how others are doing this.
-Craig
is working on a reply...