3

我想使用collective.autopublish 将过时的Plone 页面设置为私有。目标是在到期日期后自动将 Plone 页面设置为私有。(类似于这里描述的问题)

我安装了collective.autopublish,我可以在网页界面中配置它。它应该使用collective.timedevents 扩展来触发。所以我也添加了它并尝试使用自述文件安装它。它告诉我添加一个触发事件的 zope 时钟服务器,这是我根据页面上的代码片段所做的。

[instance]
 ...
zope-conf-additional =
<clock-server>
    method /mysite/@@tick
    period 90
    user clockserver-user
    password password
    host localhost
</clock-server>

我更改mysite为我的 Plone URL。时钟服务器似乎可以工作,因为我每 90 秒收到一次对 /mysite/@@tick 页面的 HTTP 调用,导致 404 错误,但collective.timedevents 没有触发任何内容。我是否遗漏了某些内容或从文档中得到了错误?这应该工作吗?

顺便说一句:我从collective.autopublish 为ITickEvent 注册了处理程序。

4

2 回答 2

3

我无法直接回答您的问题,但我可以为您的问题提供更简单的解决方案。

如我所见,您想要实现的是,过期的内容不再对公众可见。

检查这个小插件https://github.com/4teamwork/ftw.protectinactive ftw.protectinactive

它会自动保护过期或非活动内容。

在您的情况下,您可以自动设置内容的到期日期,一旦到期,它将立即对公众隐藏。

于 2016-08-09T06:55:15.530 回答
0

调用时出现 404 错误是不正常的/mysite/@@tick。你应该得到一个 200 代码。

事实上,我自己也遇到了问题,这是由于包的最后一个版本中的一个错误:configure.zcml缺少一个文件 (),从而阻止了“tick”视图的工作。

在此处查看问题:https ://github.com/collective/collective.timedevents/issues/3

如果您使用collective.autopublishing0.3,它可以工作。自 1.0 版以来,该软件包已损坏。

于 2016-10-26T08:51:17.733 回答