- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题的核心是GenericSetup配置文件是可加的。有时,仅通过应用配置文件就无法升级产品,并且整个配置文件链需要按一定顺序应用。
例如,假设我们有很多独立的网站政策(仅应用了其中一项
到实例实例):S1,S2,...,SN。还有两个产品,例如A和B。例如,所有这些S1-SN,A和B都具有元数据依赖性,如下所示:Sn-> A-> B
假设它们处理Registry.xml并在此过程中覆盖了某些内容。 (来自typeinfo和其他一些配置文件步骤的情况也是如此)。如果产品A发生了某些更改(可能会在S1中被覆盖或不能被覆盖),我们就不能仅对A进行升级,因为当我们按下S1站点上的按钮时,其自身的策略覆盖将丢失。但是,仅因为A的更改而为所有S1-SN编写升级步骤是很重要的。
至少对于上述情况,是否有任何明智的升级方法,可以通过按一定顺序应用注册表更新(即B,A,Sn)解决整个问题。 (即使那样,也可能会有一些困难的情况)?
由于软件包A不了解S1(或S2或其他任何站点策略),因此一种解决方案是制作一些“ super 软件包”,使他们可以清楚地了解那些升级链。 但是,除了始终将结果概要文件放入策略之外,还有其他解决方案吗?
(为简单起见,请忘记可以通过网络进行一些更改)
最佳答案
尽管并不是所有产品不幸使用的东西,这实际上已经在GS中。
解决方案在于使用GS的upgradeStep
。
假设您将配置文件的元数据从版本1更改为2。在您的zcml中,您将注册一个升级步骤,如下所示:
<genericsetup:upgradeStep
title="Upgrade myproduct from revision 1 to 2"
description=""
source="1"
destination="2"
handler="myproduct.one_to_two.upgrade"
sortkey="1"
profile="myproduct:default"
/>
one_to_two.py
中,您将拥有
def upgrade(context):
registry = getUtility(IRegistry)
if 'foo' in registry:
do_stuff()
context.runImportStepFromProfile('profile-myproduct:default','actions')
关于plone - 需要Plone 4更智能的通用设置更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10570416/
有没有办法查看谁当前登录了 Plone 站点? 理由:我想确保在我重新启动实例时不会干扰处理内容的用户。 最佳答案 开箱即用,没有办法查看用户当前是否正在使用您的网站,只有当他们刚刚使用它时。只需关注
我需要 plone 默认用户注册表单中的验证码字段 (@@register)。 最佳答案 使用 https://plone.org/products/quintagroup.formlib.captc
如果 Plone 版本升级,是否需要删除安全补丁? 假设示例: Plone X.4.4 从 2015 年 5 月 4 日起开始运行安全补丁-XYZ Plone 升级至 X.4.5,在 Security
我有一个 Plone (4.2) 形式。我想要一个特定领域的动态来源。架构的相关部分: from plone.directives import form from z3c.relationfield
我正在尝试制作一个兼容 Plone 4 和 Plone 5 的插件。我遇到的问题是配置文件/默认 XML。 Plone 5:我有一个用于注册 CSS 的 registry.xmlPlone 4:我有一
我正在使用 Plone 4.0.5,我花了一天时间试图理解 plone.app.contentmenu。 我有一个基于自定义文件夹的原型(prototype)类型,并且我已经为它编写了一个 View
Plone 4 包含一个新的文件夹实现(在 plone.app.folder 包中),它对于包含许多项目的文件夹效率更高。是否可以升级 Plone 3 站点以使用此文件夹实现,而无需将站点完全升级到
PloneTestCase、plone.testing 和 plone.app.testing 包有什么区别? 顺便说一下,不建议将 PloneTestCase 用于测试新的 Plone 4 产品吗?
我们想从我的 Java 应用程序创建 plone 用户,那么我该怎么做呢? 已通过https://github.com/plone/plone.restapi ,但还没有得到清晰的看法。 我想在jav
我正在尝试通过 portal_migration 工具将 Plone 4.3.7 升级到 Plone 5.0,并遇到以下错误。有什么想法吗?这是一个简单的站点(没有附加组件),但它的历史可以追溯到 P
我正在为我的站点创建一个新的 plone.app.theming (Diazo) 主题。我的 rules.xml 有规则: 这会取消许多弹出窗口的样式,但不会取消联系人信息 AJAX 弹出框的样式,
我正在尝试将现有站点从 Plone 3.3.6 升级到 Plone 4.3.7,然后升级到 Plone 5.0。 现有站点非常小,并且没有安装任何附加产品(vanilla Plone、vanilla
我想让我的编辑在几个正交词汇表上标记内容,然后有一个很好的搜索界面,让用户可以根据这些词汇表搜索内容。 似乎解决方案的一部分存在 ATVocabularyManager - 让编辑器创建不同的词汇表
我在我工作的研究所中使用带有 Doormat 和 Diazo 的 Plone 4.1.4,并且必须通过添加内部链接到主菜单中项目的每个列和项目来手动制作页脚。 我想要的是这个页脚,即站点地图,每次用户
Plone 产品安装的日志轮换将是一个不错的功能。当前将日志轮换集成到 Plone 的最佳实践是什么? 我找到了这篇文章:http://encolpe.wordpress.com/2010/06/17
在一个 Plone 实例中,我有两个 Plone 站点。 在其中一个中,我有一个专门用于它的产品。 我想为 Products.PluggableAuthService.interfaces.event
是否可以使用每个插件扩展控制面板 View ? 例如 ca.db.core -> 为数据库连接设置制作基本字段集/选项卡 ca.db.person -> 如果已安装,则向“核心”设置添加一个新的字段集
这是一个普遍的问题,但受到一个例子的启发。一般的问题是:如何从未使用的附加组件中清除 Plone 站点?您可以通过多种方式生成未使用的附加组件,例如,如果您将一个附加组件用于一件事,然后您更喜欢另一件
2004 年,Mahendra 发表了关于使用 Plone 和 DSpace 管理数字 Assets 的演讲。 http://linux-bangalore.org/2004/schedules/ta
plone.resource 提供了将静态媒体文件放入 Plone 的简单方法 http://pypi.python.org/pypi/plone.resource 然而,plone.resource
我是一名优秀的程序员,十分优秀!