跳转到主要内容

从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 (12.5 kB 查看散列)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面