gpt4 book ai didi

plone - 如何更新 plone 自定义策略(例如 mysite.policy)附加组件

转载 作者:行者123 更新时间:2023-12-02 08:48:52 25 4
gpt4 key购买 nike

当我第一次创建我的 Plone (4.1) 站点时,我制作了一个 mysite.policy 附加组件以包含一些自定义用户和自定义工作流。

我需要对工作流程和权限进行一些更正。我更新了 src 以包含这些更改,但是通过 Plone 附加管理器(卸载 - 安装)更新包不起作用。一旦我卸载所有条目的状态,就会切换到“本地策略”,因此当我重新安装时,我无法恢复细粒度的状态设置。

此外,用户权限似乎没有改变。可能是因为它们已经在站点设置时创建。但是我无法弄清楚如何对权限更改和 rolemap.xml 中的权限设置进行编码。我假设该 xml 中的任何内容都是我的 plone 世界的规则,但这似乎不起作用。

到目前为止,我在手头的手册和书籍中找不到任何相关信息。任何提示如何解决这个问题?也许解决这个问题的唯一方法是通过 ZMI 进行一系列手动更改,但这样做就不太优雅了。

最佳答案

有很多选择。我将尝试描述其中的几个。

如果您的更改仅包括站点策略的通用设置配置文件中的更改(./src/my/site/policy/profile/default/-files)并且您不想< em>自动化升级,您可以简单地更新配置文件并为您的策略重新运行那些特定的导入步骤:

  1. 为您的站点打开 ZMI (site/manage) 并查找 portal_setup

  2. portal_setup 上选择 Import-tab。

  3. Select Profile or Snapshot-list 中选择您的站点策略的配置文件(您的配置文件的标题由 registerProfile 指令定义,在 configure.zcml 或保单产品的 profiles.zcml)。

  4. 单击以选择角色/权限映射工作流工具的导入步骤。

  5. 在页面底部,取消选择Include dependencies

  6. 点击导入选定的步骤按钮。

  7. 如果您的工作流更新应该修改现有工作流状态中的权限,请转至 ZMI 上的 portal_workflow -工具并更新安全设置

这些步骤应该只重新导入站点策略产品的通用设置配置文件的选定导入步骤。以这种方式重新导入单个步骤应该是相当安全的,但要小心:在 portal_setup 屏幕上的意外点击可能会产生不可预知的后果。

这些步骤也可以通过定义称为通用设置升级步骤的东西来自动化。

  1. 我希望您的站点策略产品的默认通用设置配置文件包含 metadata.xml 和第 <version>1</version> 行。

  2. 将该行更新为 <version>2</version>

  3. 使用 zcml 指令打开 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 的升级步骤,它重新导入步骤 rolemapworkflow (rolemap.xmlworkflows.xml)。您应该能够从 Plone Site Setup 的附加组件屏幕运行升级步骤,现在在您安装的策略产品之后应该有一个升级按钮。

如@toutpt 所述,Collective Developer Manual 有 more examples on upgrade steps 。如果你曾经想过,为什么建议在 metadata.xml 中使用整数,通常与产品的发布版本号无关,这就是原因:)。

关于plone - 如何更新 plone 自定义策略(例如 mysite.policy)附加组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10126640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com