产品依赖:触发重新安装
|
我正在为Plone开发产品,例如
foo.core
。除了该核心产品之外,还有一些相关产品。像foo.optional
。这些相关产品可能在实例中可用,如果可用,则可以安装它们(换句话说:我不能假定代码可用,或者如果可以使用,则应该使用)。
这些相关产品可能会覆盖由“ 0”进行的设置(例如,在属性表中)。这可以正常工作,但是如果我重新安装foo.core
,将恢复默认设置。我想要的是在QuickInstaller中重新安装ѭ0时以某种方式自动重新安装ѭ1。
我可以想出的解决方案是:
安装了foo.optional
后
向foo.core
注册。的
后者foo.core
将处理
重新安装所有已注册
核心包装是
重新安装。
foo.core
套餐
触发其他事件
包,例如1ѭ
听。事件处理程序将
然后触发重新安装
foo.optional
。
确保foo.core
不会覆盖任何
可能以后被定制了
其他产品。
也许还有更多选择? 'Plonish'方法是什么?
编辑:我知道使用升级步骤可能比重新安装产品更好。但是,恕我直言,问题仍然存在:用于升级步骤的“通用设置”配置文件可能具有在“ 1”软件包的“通用设置”配置文件中修改的设置。
因此,使用升级步骤会使我的问题更加棘手:我应该如何确定升级步骤ѭ0ѭ是否意味着应该重新安装/升级foo.optional
? (仍然假设foo.core
原则上不了解foo.optional
。)
没有找到相关结果
已邀请:
3 个回复
混侩闯空坷
在升级步骤中,您可以执行所需的操作,甚至可以重新运行各个导入步骤。 如果您的产品升级不涉及更改GS配置文件,请不要在meta.xml中增加版本。在那种情况下,您显然也不需要升级步骤。
邦绊门蔽惩
骇毖煽洁铂