0

私はMartin Aspeliの本Professional Plone 4 Developmentを大まかにフォローしており、ビルドアウトを使用して繰り返し展開できます。bin/buildoutすべてを完全に自動化するために、すべての適切なアドオンが有効になっているサイトを実行して見つけられるようにしたいと考えています。たとえば、私は を使用してcollective.blog.starおり、現在、ブログ ビューなどを追加できるようにするには、サイトにログインしてアクティブ化する必要があります。

buildout が特定の Plone サイト オブジェクトでダウンロードしたアドオンを有効化するにはどうすればよいですか?

4

1 に答える 1

1

Martijn も書いているように、quickinstaller はこれを処理します。それは、サイト作成時に製品を自動的にインストールするために、パッケージで実行できる依存関係の単純な宣言にすぎません。これには 2 つの簡単な手順が必要です。

your.package/setup.py に次を追加します。

setup( ...
    install_requires=[ ...
        'collective.blog.star'

ビルドアウトを知らせるために、この卵はプルされ、ZOPE インスタンスにも提供されます。

そして、your.package/your/package/profiles/default/metadata.xml に以下を追加します。

<object ... >
    <dependencies>
        <dependency>profile:collective.blog.star:default<dependency>        
    <dependencies>

製品をインストールするときに、プロファイルを介して依存関係製品を実際にアクティブ化します。

プロファイルの名前が本当に 'default' であるかどうかを確認してください。これは、製品の configure.zcml で定義された単なる規則です。

同じプロセスでコンテンツも作成する必要があるため、インストールの順序が重要になる可能性があります。cbstar-install と content-creation のどちらのステップが最初に実行されるか、私にはよくわかりません。これをテストする必要があります。順序が正しくない場合は、おそらく 2 つのタスクを分割する別のパッケージを作成して、egg-definitions-list 内の位置に従ってインストールの順序を制御する必要があります (最初が最初、IIRC)。

于 2013-02-26T09:24:17.733 に答える