我有点迷路了,我的一个开发人员同事正在做一个Drupal网站,也就是做特殊的页面、自定义的徽标、自定义的层次结构等等。他的工作分散在数据库表(看起来像CCK创建表)、数据库行(文本、图像链接等)、静态文件(图片、PDF…)中,也许一些php(自定义模块)。
我的问题是将他的工作放在git存储库中,并能够以一致的方式将其部署到不同的服务器上,就像我对传统的开发人员工作(比如j2ee)所做的那样。
我的一个限制是避免使用原始sql,因为我们可能在不同的rdbms上部署相同的代码。但如果必须的话,我会放松这个限制。
我找不到一个现成的模块,你有我在Drupal网站上可能漏掉的指针吗?
谢谢你的帮助,
尼古拉斯。
最佳答案
将特性与上下文一起使用是非常强大的。上下文允许您为站点创建一个“部分”。最好通过一个例子来说明:
假设我们将“forum”上下文定义为url为forums/*的任何内容。上下文让我们说:“我想在右侧栏显示这三个视图,只有当我在“论坛”上下文中时。
现在,使用特性,我们可以创建由上下文定义的“模块”。因此,我们将以一个名为“yousite_forums”的模块结束,该模块将包括在论坛上下文中定义的所有视图、块等。它还将确定正确的依赖关系以及上下文中使用的内容类型。所有这些都将很好地捆绑在一个模块中。
对于node之类的版本控制内容,您可以使用node export,也可以使用backup和migrate来执行db转储。我们偶尔会用到这些,但我们从来没有在svn中对每个节点进行版本控制。
链接:
Features
Context
Backup and Migrate