我正在松散地关注Martin Aspeli的书 Professional Plone 4 Development 并使用buildout进行可重复部署。为了使所有内容完全自动化,我希望能够运行bin/buildout
并找到使用所有正确加载项的网站。例如,我正在使用collective.blog.star
,目前,我必须登录该网站并激活它才能添加博客视图等。
如何使buildout也激活它在特定Plone站点对象中下载的附加组件?
答案 0 :(得分:1)
正如Martijn所写的那样,快速安装程序会处理这个问题,它只是一个简单的声明,你可以在你的包中做一个依赖,以便在自动创建站点时安装产品,这需要两个简单的步骤:
在your.package / setup.py中添加:
setup( ...
install_requires=[ ...
'collective.blog.star'
为了让buildout知道,这个蛋也应该被拉出来并提供给ZOPE实例。
在your.package / your / package / profiles / default / metadata.xml中添加:
<object ... >
<dependencies>
<dependency>profile:collective.blog.star:default<dependency>
<dependencies>
要在安装产品时通过配置文件实际激活依赖关系产品。
检查配置文件的名称是否真的是“默认”,因为这只是一个约定,在产品的configure.zcml中定义。
可能是,安装顺序可能至关重要,因为您还想在同一个过程中创建内容,我不知道哪个步骤会先执行,cbstar-install还是内容 - 创造,你必须测试这个。如果订单不正确,您可能必须编写另一个包来分割这两个任务,根据eggs-definitions-list中的位置控制安装顺序(首先是IIRC)。 / p>