当我创建一个新的Drupal站点时,我通常会得到至少一个自定义模块和几个社区贡献的模块。要让站点正常工作,需要在各个模块上设置许多配置值。这使得部署到新的Drupal实例上非常费力且容易出错。
我想给我的自定义模块配置所有其他模块的能力。无论是在安装时,还是在我的自定义模块的管理页面上单击一个按钮,都将以编程方式设置其他模块上的所有必要配置值。
我该如何做才是最好的呢?
发布于 2009-12-08 18:15:51
AFAIK,没有办法轻易达到你想要的效果。我倾向于尽可能多地在hook_update_N()实现中投入,并按照我对this question的回答中所描述的那样频繁地进行数据库同步。但是,当您已经有了一个活动服务器,您必须与之合并数据时,这就不起作用了。
为此,我根据需要使用了各种工具。没有人是完美的,但这里有一小部分我最喜欢的:
最后,您可以找到一组用于导入/导出数据here的工具。
哈!
发布于 2009-12-08 18:06:31
你看过“功能”模块吗?它是一个新的范例,作为开放中庭分布的一部分引入,但也可以作为独立模块使用。从他们的描述可以看出:
“feature模块允许捕获和管理Drupal中的功能。功能是Drupal实体的集合,这些实体一起满足特定的用例。
feature提供了一个UI和API,用于从具有可导出文件的模块中提取不同的站点构建组件,并将它们捆绑在单个功能模块中。功能模块类似于任何其他Drupal模块,只是它声明了自己的组件(例如,视图、上下文、CCK字段等)。在其.info文件中,以便以编程方式对其进行检查、更新或恢复。
发布于 2009-12-09 12:35:49
Installation profiles在配置新站点时非常有用。它们允许您在安装时指定要启用的模块、默认设置为etc的主题。它们非常方便,因为有一个名为Drush的命令行工具可以自动构建安装配置文件。
缺点是这些概要文件被设计用于安装-而不是单个模块的部署。但是,也可以获取Drush生成的配置代码,并在启用模块时调用它。
https://stackoverflow.com/questions/1868252
复制