在Drupal / CMS项目上使用版本控制

我想知道如何使用Drupal(或任何其他CMS)开发网站的团队将版本控制,颠覆,混帐或类似的工作集成到他们的工作stream程中。 您显然希望在版本控制下使用自定义代码和主题文件,但是当您使用CMS(例如Drupal)时,很多工作都包括configuration模块和设置,所有这些都存储在数据库中。

所以当你是一个开发团队的时候,你如何在这样的项目上进行协作呢? 将数据库转储到文件中,并将该文件置于版本控制下可能会工作,但是当网站处于活动状态时,客户端会不断添加使同步有点问题的内容。

我很想知道别人是怎么做的。

你是正确的,这是Drupal的一个问题 – 版本控制工作正常,直到你把网站转到你的客户端或打开它的用户。

你的问题看起来就像这个更具体的版本,涉及Drupal工作stream程中的版本控制。 你可能会find一些有帮助的答案。

对于某些项目,我已经使用Views模块的这个function将所有的视图导出到了代码中,而且我也有一个项目,其中所有的块都被导出了。 (虽然这是一个发展练习,而不是习惯与块的习惯。)

看看Development Seed为解决这个问题所做的工作。 他们正在领导上下文 , function和空间模块的开发,这些模块一起工作以将configuration数据存储在模块(DB之外)中,以便可以使用代码进行版本化。

有一个名为Packaging&Deployment的Drupal小组讨论了为这个问题正在开发的各种解决scheme。

现在有很多的努力来创造一些东西,将处理开发 – “生产与Drupal相关的数据库的困难。 特点,提到的flaminglogos是一个,但我觉得更多的重点是创build独立的项目,即将在许多网站上安装的项目。

为了简单维护你的开发和生产数据库,我会看看http://drupal.org/project/deploy和http://drupal.org/project/dbscripts 。 他们支持同步和合并db侧drupalconfiguration数据。

我不能保证他们准备好黄金时段,但…

在代码中configuration下一个drupal版本还有很多工作要做。 这是在一个版本系统中的关键。

现在,您可以使用function模块,您可以将内容types,视图等内容导出到代码中,然后根据需要进行比较,版本和恢复。