问题的核心是 GenericSetup 配置文件是附加的。有时产品不能通过简单的应用配置文件升级,整个配置文件链需要按照一定的顺序应用。
例如,假设我们有很多独立的站点策略(其中只有一个应用于 plone 实例):S1、S2、....、SN。还有一些产品,比如 A 和 B。例如,所有这些 S1-SN、A 和 B 都具有元数据依赖关系,如下所示:Sn -> A -> B
假设他们处理registry.xml 并在此过程中覆盖某些内容。(typeinfo 和其他一些配置文件步骤也是如此)。如果产品 A 发生了一些变化,在 S1 中可能会或可能不会被覆盖,我们不能只为 A 执行升级步骤,因为当我们按下 S1 站点上的按钮时,它自己的策略覆盖将丢失。但是,仅仅因为 A.
至少对于上面描述的情况,是否有任何聪明的方法来进行升级,当整个问题可以通过按特定顺序应用注册表更新来解决时,即:B、A、Sn。(即使那样,可能会有一些困难的情况)?
由于包 A 不知道 S1(或 S2 或任何站点策略),一种解决方案是制作一些“超级包”,它可以明确了解这些升级链。但是,除了始终将生成的配置文件放入策略之外,还有其他解决方案吗?
(为简单起见,让我们忘记一些更改可以通过网络完成)