I've taken to building development branches of templates within the
same project. You need to be very careful, but it's the best solution
I've found. If I need to make major changes to an area, I'll
reproduce it's structure, with some test content, in a SmartTree
branch that is set to publish into a development folder (which I lock
down to my IP so the world can't see it). Then, whenever I need to
make a change to a template, I'll create a copy of the template,
making sure to label it "Dev" with the date I started work on it, and
in the description I'll put what changes are being made. I then use
"Replace Content Class" on the test content, and select the Dev
version of the template.
At that point, I can make whatever modification I need to to the
template, and not have to worry about breaking the SmartEdit view for
the Users, or having my changes go public before I'm ready.
When I'm ready to push my changes into production, I use one of three
techniques depending on the extent of my changes, and how many pages
I'm going to be affecting:
1) Copy the new template code and new Placeholders back to the
original template
2) Selectively use "Replace Content Class" to convert pages using the
original template to use the new template (it's easy to find all
instances by using the "Instances" branch inside the Content Class
interface). I then label the original template "Deprecated" with the
date it was abandoned and move it to a "Deprecated" content class, and
label the development template "Production"
3) Same as #2 but I use the "Replace all Pages Using the Same Content
Class" feature to switch over all Pages at once.
Hope you find a way that works for you. I really hope future versions
of CMS have a better method of working with multi-generational
projects.
Happy Reddotting!
--Jonathan