我有点失落,我的一位开发人员同事正在做一个drupal网站,即做特殊页面,自定义徽标,自定义层次结构等。他的工作分散在数据库表中(看起来像CCK创建表),数据库行(文本,图像链接等),静态文件(图片,PDF ......),也许还有一些PHP(自定义模块)。
我的问题是让他的工作在git存储库中,并能够以一致的方式在各种服务器上部署它,就像我对传统的开发人员工作一样(比方说J2EE)。 我的一个约束是避免原始SQL,因为我们可能在各种RDBMS上部署相同的代码。但如果必须,我会放松这个约束。
我找不到一个开箱即用的模块,你有没有在drupal网站上错过的指针吗?
感谢您的帮助,
尼古拉斯。
答案 0 :(得分:4)
功能模块可能会让您想要去。它允许您导出各种站点和模块配置。导出是自定义Drupal模块的形式,然后您可以通过git存储和管理,然后将功能滚动到其他Drupal站点。
http://drupal.org/project/features
模块上的更多信息(和截屏视频):
http://developmentseed.org/blog/2009/may/29/making-and-using-features-drupal
答案 1 :(得分:4)
使用功能以及上下文非常强大。上下文允许您为站点创建“部分”。最好通过一个例子来说明:
假设我们将“论坛”上下文定义为论坛/ *的网址。上下文让我们说:“我想在右侧栏中显示这三个视图,只有当我在”论坛“上下文时才会显示。
现在,使用Features,我们可以创建由上下文定义的“模块”。因此,我们最终会得到一个名为“youSite_forums”的模块,该模块将包含您在论坛上下文中定义的所有视图,块等。它还将确定正确的依赖关系,以及上下文中使用的内容类型。所有这些都将很好地捆绑在一个模块中。
对于节点等版本控制内容,您既可以使用节点导出,也可以使用“备份和迁移”进行数据库转储。我们偶尔使用这些,但我们从来没有在SVN中版本化每个节点。
链接:
答案 2 :(得分:2)
您可能还想查看服务&部署。部署使用服务xmlrpc服务器将大多数drupal数据从一个站点传输到另一个站点,或者在您的情况下,将您的devs安装传输到分段安装。
http://drupal.org/project/Services
http://drupal.org/project/deploy
至于“以一致的方式在各种服务器上部署它”的方法,请使用无轨道部署查看Capistrano。设置一些任务非常简单,我用它来部署我所有的drupal站点。