2

Plone(4.1)サイトを最初に作成したとき、mysite.policyアドオンを作成して、一部のカスタムユーザーとカスタムワークフローを含めました。

ワークフローと権限の両方にいくつかの修正を加える必要があります。これらの変更を含めるようにsrcを更新しましたが、Ploneアドオンマネージャー(アンインストール-インストール)を介したパッケージの更新が機能しません。すべてのエントリのステータスをアンインストールするとすぐに「ローカルポリシー」に切り替わるため、再インストールしてもきめ細かいステータス設定を取り戻すことができません。

また、ユーザー権限は変更されていないようです。おそらく、サイトのセットアップ時にすでに作成されているためです。しかし、rolemap.xmlでパーミッションの変更とパーミッションの設定をコーディングする方法を理解できません。そのxmlにあるものはすべて私のploneの世界を支配していると思いましたが、それは機能していないようです。

これまでのところ、手元にあるマニュアルや本にはこれについて何も見つかりません。これを解決するためのヒントはありますか?おそらく、これを実行する唯一の方法は、ZMIを介した一連の手動変更ですが、それを行うのはそれほどエレガントではありません。

4

2 に答える 2

5

たくさんのオプションがあります。それらのいくつかを説明しようと思います。

変更にサイトポリシーの汎用セットアッププロファイル(./src/my/site/policy/profile/default/ -files)の変更のみが含まれ、アップグレードを自動化したくない場合は、プロファイルを更新するだけです-ファイルを作成し、ポリシーの特定のインポート手順を再実行します。

  1. サイトのZMI(site/manage)を開き、を探しますportal_setup

  2. オンのときに[インポート]タブを選択しportal_setupます。

  3. [プロファイルまたはスナップショットの選択]リストからサイトポリシーのプロファイルを選択します(プロファイルのタイトルは、ポリシー製品内またはポリシー製品のregisterProfileディレクティブによって定義されます)。configure.zcmlprofiles.zcml

  4. クリックして、役割/権限マップおよびワークフローツールのインポート手順を選択します。

  5. ページの下部から、[依存関係を含める]の選択を解除します。

  6. [選択したステップのインポート]ボタンをクリックします。

  7. ワークフローの更新で既存のワークフロー状態の権限を変更する必要がある場合は、portal_workflowZMIの-toolに移動してセキュリティ設定を更新します。

これらの手順では、サイトポリシー製品の汎用セットアッププロファイルの選択したインポート手順のみを再インポートする必要があります。この方法で個々のステップを再インポートすることは非常に安全ですが、注意してくださいportal_setup。画面を誤ってクリックすると、予期しない結果が生じる可能性があります。

これらのステップは、Generic SetupUpgradeStepと呼ばれるものを定義することによって自動化することもできます。

  1. サイトポリシー製品のデフォルトのGenericSetup-profileにmetadata.xmllineが含まれていることを願っています<version>1</version>

  2. その行をに更新し<version>2</version>ます。

  3. 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.xmlworkflows.xml)が再インポートされます。Plone SiteSetupのアドオン画面からアップグレード手順を実行できるはずです。インストールされたポリシー製品の後にアップグレードボタンがあるはずです。

@toutptで言及されているように、Collective Developer Manualには、アップグレード手順に関するその他の例があります。疑問に思ったことがある場合はmetadata.xml、通常、製品のリリースバージョン番号とは関係なく、で整数を使用することが推奨されるのはなぜですか。これが理由です:)。

于 2012-04-12T17:49:04.527 に答える
1

アップグレードが必要な変更は、profile / default / metadata.xmlの数値をインクリメントして表示する必要があります(整数を保持)。次に、アップグレード手順を作成する必要があります。アドオンコントロールパネルにアップグレードボタンが追加されます。

アップグレードステップを作成する方法については、次のチュートリアルに従ってください:http ://collective-docs.readthedocs.org/en/latest/components/genericsetup.html?highlight=upgradestep#upgrade-steps

于 2012-04-13T09:36:56.603 に答える