Contribute/Dreamweaver Workflow
Here's a situation you may encounter: you've built a site for your client using Dreamweaver MX templates and/ or library items and the client is using Contribute to maintain their site as well as develop new pages for the site. In the process of working with this client, you notice (as the developer) that there is an issue with the template/library item, or perhaps the client asks you to change something that is in the template or a library item. Knowing that template/library items are *design-time tools* and that the client has already made some changes to the files at the remote site, you can anticipate that there is a version control problem impending here. What do you do?
Since the most recent versions of the site's files are either on the website, or on the client's computer, you can imagine that they could use Contribute to make these changes, but you discover that Contribute can't be used to edit the template/library items or update existing pages based on a new template/library items. Now what?
There is only one option and this requires Dreamweaver MX to be configured correctly and for you to get into a workflow routine... both will be discussed below.
Dreamweaver MX Configuration:
The site definition for this site must have the following settings enabled in Dreamweaver MX:
- Check in/out enabled
- Contribute Integration enabled
Why?
Contribute works on a check in/out basis with files on the server so that files currently being edited or contained as a saved draft in Contribute do not get overwritten by another user. So, to take advantage of that and to not overwrite the client's files, Dreamweaver must be configured the same way. Contribute writes files to the server that only Contribute uses (Dreamweaver doesn't unless Contribute integration is enabled). So, to prevent data loss, this must be enabled and you should be set as the administrator or be part of the administrator group. That way you have full access to all the files on the server for that site, from within Dreamweaver MX.
If you (as developer on this site) use both Dreamweaver & Contribute (this would be an uncommon situation, frankly), please ensure that the checkout names are different in each application to reduce the confusion that may occur in the check in/out system (which of these two applications does that checked out file belong to?). A suggestion might be Yourname(CT) and Yourname(DW) where the email address is the same for both check out names.
The Workflow...
- Contribute users publish all files currently in draft, and refrain from making further changes until further notice from you (the site administrator)
- In the event that some files have "in process changes," i.e., changes are being made and are not yet ready to be finalized, then those files must be saved with a different 'in-process name,' e.g., aboutus_temp.html, and published. This will allow the page to receive the changes to the template or library item described below.
- Use Dreamweaver to get the entire site
- Use Dreamweaver to check out all the site files
- Use Dreamweaver to make the changes to the template/libraries as required
- Use Dreamweaver to update the entire site based on those templates/libraries
- Use Dreamweaver to check in all the site files to the server
- Contribute users can start edits again
- "in-process" files can then be renamed and work resumed
The Routine...
Email client(s) and advise them to publish all draft files (pending) and tell them the reason and give them a date/time that this must be done by. Tell them also, when they will be allowed to start editing files again and that you will notify them via email when it's ready.
Wait for due date/time and check out the files (all of them) (NOTE here... I usually do a site wide GET first so that the most current copy of all files (including anything new from the client) is on my PC (after I have a backup of their site safely somewhere, of course). If any are still checked out by a Contribute user, then email/call that user and slap them around verbally ;)! You shouldn't do any site wide work with Contribute users having files checked out! Time is money and if they refuse to follow directions, start the clock...(at your discretion of course).
Since you have the files checked out, when they (the Contribute user) try to edit a file, they will be told that they can't because you have them checked out. (This is why check in/out is important.. it saves the headache of having multiple copies overwriting other copies of pages!)
Make changes to the template, update the children and check the files back in (all of them). Note: perform this expeditiously!
Email the client(s) and tell them to reconnect to Contribute at their convenience and tell them what you did and what will be different for them, if anything.
Send them a bill for your work if so arranged. Make it handsome! 8)
Your job is done for another day :)
Caution:
Contribute users retain the ability to create new files from any template of the site which could lead to data corruption if they do so while you have the templates checked out for editing. Advise your clients not to touch the site until after you have performed all of your functions and sent them an 'All clear!' message.