从Plone 2.5迁移到3后的清理
项目描述
Products.Plone3Cleaners: 从Plone 2.5迁移到3后的清理
此包是您在从Plone 2.5迁移到Plone 3时可能需要的浏览器视图集合。实际上,其中一些在非迁移时也很有用,例如从portal_catalog中删除portal_factory项目。
将此包添加到您的buildout eggs中;无需在Plone中安装。
五个本地站点
自Plone 2.5时代以来,Products.Five中的本地站点已经发生了很大变化。它们需要进行迁移。Products.Five提供了manage_site.html页面;只需将此添加到您本地站点的URL中,然后单击“迁移到Five.component”按钮。您应该首先尝试这样做,但根据我的经验,这通常不起作用。
请注意,默认的Plone 2.5站点不使用本地站点,因此如果您有它们,那么它们来自第三方产品。如果您在查看Plone 3站点时在日志中看到此类错误,则您存在问题
2009-06-23 12:30:17 ERROR ZPublisher BeforeTraverse: Error while invoking hook: "__local_site_hook__" Traceback (most recent call last): File "/home/maurits/zopes/Zope-2.10.7-final-py2.4/lib/python/ZPublisher/BeforeTraverse.py", line 145, in __call__ meth(*(container, request, None)[:args]) AttributeError: __call__
我们有两个浏览器视图可以帮助解决这个问题
@@find_local_sites:将此添加到您的Plone站点或Zope根的URL中。单击提交按钮以查找所有具有问题本地站点钩子的对象。您的Zope实例日志将包含一些详细信息,页面将显示需要修复的对象的链接。链接将指向我们的第二个浏览器视图
@@update_local_site:将此添加到具有需要修复的旧本地站点钩子的对象的URL中。很可能,调用此操作会导致一次或两次相同的AttributeError,但您可以忽略它,因为您即将修复它:单击“迁移到Five.component”按钮。
具有旧本地站点钩子的对象可能需要在Python代码中进行一些修复。请咨询该对象的产品的开发者。请注意,本地站点钩子并不总是正确的解决方案;并且此迁移并不总是足够。在一个客户端项目中,我去除了一个钩子,并使用了一个简单的属性;第二个钩子在上述迁移后工作正常;第三个钩子需要不同的迁移。
portal_factory在portal_catalog中
您已经看到了这个:您编写了一个目录查询,在一个大脑上执行brain.getObject(),这失败了,因为当对象在创建时被错误地添加到目录中,并且没有进行清理。使用@@factory_cleanup清理它。您可以选择删除这些portal_factory大脑或删除任何在getObject()失败的大脑。由于各种原因,这可能会找到更少或更多的项目;当然,这需要更长的时间。
Products.Plone3Cleaners的历史
1.1 (2009-08-19)
添加@@factory_cleanup以从portal_catalog中删除路径中包含‘/portal_factory/’的项目。[maurits]
1.0 (2009-06-23)
初始发布。[maurits]
项目详细信息
Products.Plone3Cleaners-1.1.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 0170eaf420669f75d4b1999c016c9ddc6780bfc53774f82032ebe3f7c4719dda |
|
MD5 | bbf5549eea5189f8f403aafe8ecad203 |
|
BLAKE2b-256 | 64cc75b8cef49798c2fb795f7077b8f32da246b316f998942fd21435fe22a038 |