在Plone中注销zcml资源目录

在Plone中注销zcml资源目录,plone,zope,add-on,grok,zcml,Plone,Zope,Add On,Grok,Zcml,我想“注销”使用configure zcml和指令注册的资源目录 我已经卸载了最初注册资源目录的自定义加载项,但其他软件包仍然能够调用/++resource++my.package并从卸载的加载项中引入资源。。。是否有一个正确注销它的指令,或者通过ZMI或一次性脚本 参考: 要使用z3c.unconfigure吗 要使用z3c.unconfigure吗 您混淆了通过Plone控制面板安装和卸载持久化配置,以及从构建中实际删除egg 资源目录在包ZCML文件中注册,并且不是持久的。为了不加载这些Z

我想“注销”使用configure zcml和指令注册的资源目录

我已经卸载了最初注册资源目录的自定义加载项,但其他软件包仍然能够调用/++resource++my.package并从卸载的加载项中引入资源。。。是否有一个正确注销它的指令,或者通过ZMI或一次性脚本

参考:

要使用z3c.unconfigure吗


要使用z3c.unconfigure吗


您混淆了通过Plone控制面板安装和卸载持久化配置,以及从构建中实际删除egg

资源目录在包ZCML文件中注册,并且不是持久的。为了不加载这些ZCML文件,您必须从构建中删除包egg

如果出于某种原因,您需要egg包提供的代码,但绝对不希望注册资源,则需要使用
z3c.unconfigure
包再次注销资源目录


除非他们积极干预任何事情,否则我认为你没有必要这么做。请注意,在Plone站点中保留可用的资源URL绝对没有坏处。

您会混淆通过Plone控制面板安装和卸载持久化配置,以及实际从构建中删除egg

资源目录在包ZCML文件中注册,并且不是持久的。为了不加载这些ZCML文件,您必须从构建中删除包egg

如果出于某种原因,您需要egg包提供的代码,但绝对不希望注册资源,则需要使用
z3c.unconfigure
包再次注销资源目录


除非他们积极干预任何事情,否则我认为你没有必要这么做。请注意,让资源URL在Plone站点中仍然可用绝对没有坏处。

如果不使用,为什么不从包中删除不必要的注册

另一种选择是为特定的浏览器层注册资源目录(我相信这在ZCML中是可能的),然后在GenericSetup中使用browserlayer.xml将该层与包一起安装。但这更复杂


然而,正如Martijn所说,把它留在原处并没有什么害处。

如果您不使用它,为什么不从包中删除不必要的注册呢

另一种选择是为特定的浏览器层注册资源目录(我相信这在ZCML中是可能的),然后在GenericSetup中使用browserlayer.xml将该层与包一起安装。但这更复杂


但是,正如Martijn所说,把它放在原处没有什么害处。

如果
++resource++my.package
URL仍然有效,那么ZCML文件本身仍然被包括在内。换句话说,在不存在egg的情况下,URL不可能仍然工作,因此请仔细检查它是否被正确删除。资源目录注册不是永久性的。是,egg仍然存在,但加载项不再安装。。。如果注册不是持久的,为什么url在重新启动后仍然工作?因为注册不是存储在ZODB(持久)中,而是存储在加载的包配置文件中,因为egg仍然是构建的一部分。我已经添加了一个答案。如果
++resource++my.package
URL仍然有效,那么ZCML文件本身仍然被包括在内。换句话说,在不存在egg的情况下,URL不可能仍然工作,因此请仔细检查它是否被正确删除。资源目录注册不是永久性的。是,egg仍然存在,但加载项不再安装。。。如果注册不是持久的,为什么url在重新启动后仍然工作?因为注册不是存储在ZODB(持久)中,而是存储在加载的包配置文件中,因为egg仍然是构建的一部分。我已经添加了一个答案。谢谢Martijn,现在有道理了。我在这里看到的是,已安装的Plone加载项的概念与在构建中但未主动安装的加载项中可能进行的底层框架操作之间有点脱节。@AaronWilliams:正如optilude指出的,您可以注册特定浏览器层的资源,从而通过安装和卸载浏览器层来“切换”可用资源。在我看来,杀伤力太大了,但选择是有的。谢谢Martijn,这现在是有道理的。我在这里看到的是,已安装的Plone加载项的概念与在构建中但未主动安装的加载项中可能进行的底层框架操作之间有点脱节。@AaronWilliams:正如optilude指出的,您可以注册特定浏览器层的资源,从而通过安装和卸载浏览器层来“切换”可用资源。在我看来,这太过分了,但选项是存在的。是的,你是对的,optilude,但它让我感到困扰,为什么在portal_quickinstaller中列出为已卸载的程序包仍然对站点有影响。因此,除了资源注册表指令之外,是否还有其他配置在包含后应用,但尚未“安装”,例如z3c.jbot覆盖如何?这有经验法则吗?我希望Plone是以这种方式设置的,否则在安装附加组件后需要重新启动才能选择任何这些配置?其他CMS做什么?感谢大家的经验教训,希望它能帮助其他人稍微拉回面纱。一般来说,无论快速安装程序中是否安装了附加组件,在ZCML中完成的配置都适用(这也是参考