Hi Christopher,
I can see three main solutions :
- there are several solution like db (partial ) replication/synchronisation, like what they do at france 24 http://drupal.org/node/181128.
- solution based on ad-hoc module. A very promising one, based on the services module : deployement http://drupal.org/project/deploy
- a script based solution. We (at rue89.com) are using this solution. We have a set of helper functions (to sert perm, enable/disable module, automatically import macros, cck etc). We combine this with update_X functions in the main custom module of the sites we are doing, and deploying is then just running the update.php. This is more work for the developpers, but you can run it again and again to deeply test your deployement.
But yes, we are still waiting for a killer solution.
Damien Cirotteau www.rue89.com
On Thu, Aug 7, 2008 at 9:22 PM, Christopher M. Jones cjones@partialflow.com wrote:
I'm looking for a decent approach to staging a drupal site. The production site will be a collaborative authoring project, with forums, blogs, and lots of media. The client will have access to this site, and will be maintaining some of the content. Other content will be maintained by us.
The development company that hosts this project prefers to make all of their changes, both to content and templates, in a testing environment. Once their client has approved the changes, they like to 'push' them to production.
However, while these changes are taking place, the client may be administering forums and writing blog posts in the -production- version.
To further complicate things, my company wants a three-stage cycle. They want a dev site, where they make changes for in-house review, which they then push to testing for client review before everything is pushed to production.
I'm unsure how to approach this. The site in question has always been static html created in Dreamweaver. At some point they started adding other things, so now there are two wordpress blogs, and two phpbb forums. The forums and blogs presently are excepted from the development cycle. They simply appear to be part of the site, because their templates have been designed so. But that means that we've got to propagate template changes across five templates. Things are breaking constantly, and this is why I piped up to them about drupal.
I've seen a lot of discussion about this topic, but I really need some hard answers. What should I do?
I've seen the Staging module for 6.x. Is it safe to use? If so, then we could use that for the database. Templates could be pushed with rsync or svn... whatever. But would this work two ways? Could we sync the dev / testing sites to the production site, then sync the other way? Would we need to?
Also, I envision using a multisite environment so that all sites share the same modules, media, etc, but use different templates.
I desperately need the detailed advice of someone with experience, here.
[ Drupal support list | http://lists.drupal.org/ ]