如何在构建期间激活Plone产品?

时间:2013-02-23 11:14:30

标签: plone buildout

我正在松散地关注Martin Aspeli的书 Professional Plone 4 Development 并使用buildout进行可重复部署。为了使所有内容完全自动化,我希望能够运行bin/buildout并找到使用所有正确加载项的网站。例如,我正在使用collective.blog.star,目前,我必须登录该网站并激活它才能添加博客视图等。

如何使buildout也激活它在特定Plone站点对象中下载的附加组件?

1 个答案:

答案 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>