Jimmy
-
1/27/2011 7:06:52 AM
RE:Multi-dev setup and Version Control
Did you ever come up with an elegant solution for this? I'm running into exactly this problem now.
We're not planning on using the portal engine, so the templates themselves will simply be ASPX pages in the version control system. Unlike yourself though, our devs are distributed geographically so sharing a development CMS database is not very practical.
As such, if DevA on MachineA creates a new template and installs this in their local CMS... runs some tests and then commits the code to version control, when DevB syncs to head and tries to run the new code on MachineB it fails (because the new template isn't installed in their CMS).
Ideally it would be good to have an XML document or something somewhere that defined what templates should be installed in a particular site and their relationship to one another (scopes etc.) rather than having this stored in the databases... that way the XML document could easily be maintained in version control and, indeed, deployed to the staging and live servers by the build tasks and the continuous integration server.
One possible work around might be to create exactly that (and XML document) and then a custom tool that parsed the XML document and used the kentico api to ensure all required templates were installed/configured... that tool could then be run as a build task and by developers, after they check out the head revision.
This would be the equivalent of something like a patch_db.sql script used to maintain database schema changes across instances of relational databases on different developers' machines (and in the staging/live environments).
I'm kind of loath to write something like this myself - it sounds like a big job and something I hoped would have been done by now, given kentico's maturity.
|