たくさんのオプションがあります。それらのいくつかを説明しようと思います。
変更にサイトポリシーの汎用セットアッププロファイル(./src/my/site/policy/profile/default/ -files)の変更のみが含まれ、アップグレードを自動化したくない場合は、プロファイルを更新するだけです-ファイルを作成し、ポリシーの特定のインポート手順を再実行します。
サイトのZMI(site/manage
)を開き、を探しますportal_setup
。
オンのときに[インポート]タブを選択しportal_setup
ます。
[プロファイルまたはスナップショットの選択]リストからサイトポリシーのプロファイルを選択します(プロファイルのタイトルは、ポリシー製品内またはポリシー製品のregisterProfileディレクティブによって定義されます)。configure.zcml
profiles.zcml
クリックして、役割/権限マップおよびワークフローツールのインポート手順を選択します。
ページの下部から、[依存関係を含める]の選択を解除します。
[選択したステップのインポート]ボタンをクリックします。
ワークフローの更新で既存のワークフロー状態の権限を変更する必要がある場合は、portal_workflow
ZMIの-toolに移動してセキュリティ設定を更新します。
これらの手順では、サイトポリシー製品の汎用セットアッププロファイルの選択したインポート手順のみを再インポートする必要があります。この方法で個々のステップを再インポートすることは非常に安全ですが、注意してくださいportal_setup
。画面を誤ってクリックすると、予期しない結果が生じる可能性があります。
これらのステップは、Generic SetupUpgradeStepと呼ばれるものを定義することによって自動化することもできます。
サイトポリシー製品のデフォルトのGenericSetup-profileにmetadata.xml
lineが含まれていることを願っています<version>1</version>
。
その行をに更新し<version>2</version>
ます。
zcml
-directiveを使用して-fileを開きregisterProfile
、その後に追加します
<genericsetup:upgradeDepends
source="1" destination="2" sortkey="1"
title="Upgrade my.site.policy (1 to 2)"
description="Upgrades my.site.policy's default profile from version version 1 to 2."
profile="my.site.policy:default"
import_steps="rolemap workflow"
run_deps="false"
/>
これらのステップでは、プロファイルバージョン1から2へのアップグレードステップを登録する必要があります。これにより、ステップのロールマップとワークフロー(rolemap.xmlとworkflows.xml)が再インポートされます。Plone SiteSetupのアドオン画面からアップグレード手順を実行できるはずです。インストールされたポリシー製品の後にアップグレードボタンがあるはずです。
@toutptで言及されているように、Collective Developer Manualには、アップグレード手順に関するその他の例があります。疑問に思ったことがある場合はmetadata.xml
、通常、製品のリリースバージョン番号とは関係なく、で整数を使用することが推奨されるのはなぜですか。これが理由です:)。