0

我大致遵循 Martin Aspeli 的《Professional Plone 4 Development 》一书,并使用 buildout 进行了可重复的部署。为了使一切完全自动化,我希望能够运行bin/buildout并找到在所有正确加载项激活的情况下工作的站点。例如,我正在使用collective.blog.star,目前,我必须登录该站点并激活它才能添加博客视图等。

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

4

1 回答 1

1

正如 Martijn 所写,quickinstaller 会处理这个问题,它只是一个简单的依赖声明,您可以在包中执行此操作,以便在站点创建时自动安装产品,这需要两个简单的步骤:

在 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 或 content-creation,您必须对此进行测试。如果顺序不正确,您可能必须编写另一个包来拆分这两个任务,根据eggs-definitions-list 中的位置控制安装顺序(先到先,IIRC)。

于 2013-02-26T09:24:17.733 回答