跳转到主要内容

定义哪些用户需要将内容项标记为已读(通过collective.mustread)

项目描述

内容规则以定义哪些内容项需要在特定截止日期之前由哪些用户(本地角色)阅读。

当请求阅读确认时,会向所有用户发送通知电子邮件。

可选地,会向所有未确认阅读请求的用户发送提醒电子邮件,提醒时间在截止日期前2天(可配置)。

当内容项的阅读请求过期时,会向一个可配置的电子邮件地址发送通知电子邮件,列出不读的文档和未及时确认项目为已读的用户。

网站管理员可以查看阅读统计信息(按内容项和网站范围)以及下载所有阅读请求的CSV列表。

该内容规则允许配置

  • 用户阅读内容的时间(截止日期 = 今天 + 天数),

  • 在截止日期之前发送提醒的天数,

  • 以及通知和提醒电子邮件的主题/文本。

此插件依赖于 collective.mustread

要启用非文件夹状ATContentTypes上的必须阅读操作,包括archetypes.zcml(见 安装)。

设置内容规则

添加新的内容规则。

通常您会使用 请求阅读确认 作为触发事件。

当用户在内容对象上调用 @@request-read-confirmation 视图时,如果用户具有 请求阅读确认 权限,则会触发此操作。

您还可以使用其他事件触发器,例如 对象添加到该容器工作流状态更改,如果这对您的用例有意义。

作为操作选择 请求阅读确认 并进行配置

邮件来源

邮件地址通知和提醒从 (发件人:) 头部发送

角色

目前收到阅读请求通知的用户由您可以选择的全局、获取或本地角色定义(类似于 collective.contentrules.mailtorole

我们还支持授予给组的角色,并支持在嵌套组中查找用户

也许我们将在未来支持直接选择组和用户。

获取角色

也通知从父对象获取 角色 的用户

全局角色

也通知那些在用户或组控制面板中被授予 角色 的用户。

通知主题

通知电子邮件的主题

通知消息

通知电子邮件的文本。您可以使用 plone.stringinterp 的所有替换变量,以及 内容动作特定变量

提醒主题

提醒电子邮件的主题

提醒消息

提醒邮件的文本。

如果为空,则不发送提醒

截止日期延迟

阅读请求必须在多少天内确认。将用于计算请求的截止日期。

提醒延迟

定义在截止日期前多少天发送提醒电子邮件。

内容动作特定变量

本软件包定义了一些额外的 plone.stringinterp 变量

mustread_url

标记对象为已读的项的 URL (/@@mustread-hit)

(在其他操作中也可用)。

mustread_fullname

分配给阅读请求的个人的全名

(仅适用于 请求阅读确认 动作)。

mustread_deadline

阅读请求的本地化截止日期

(仅适用于 请求阅读确认 动作)。

用法

设置内容规则 后,您只需在内容对象上调用 @@request-read-confirmation 视图。

这应该在具有 请求阅读确认 权限的用户的内容项的 操作 下拉菜单中可用。

对于与操作中定义的角色过滤器匹配的用户,将创建一个必须阅读的数据库条目,并发出通知电子邮件。

您将看到一个状态消息,指示哪些用户收到了通知。

如果您希望用户在截止日期前几天再次收到通知,您将需要 设置一个提醒

您还可以 设置一个过期通知(错过阅读请求的电子邮件报告 - 哪些文档有错过请求以及哪些用户没有阅读文档)。

有一个 csv 导出 (@@read-statistic-csv),列出了所有必须阅读的记录(作为审计日志或进行高级电子表格操作很有用)。

设置一个提醒

视图 @@send-read-reminders 查找具有开放阅读请求的(子)对象,并在今天的日期等于 提醒通知的截止日期 - 通知延迟(在内容规则的行动中指定)时通知用户。

您可以使用时钟服务器(类似于 https://github.com/collective/collective.timedevents)或 cronjob(z3c.recipe.usercrontab)来执行此操作。

这是在早上7点发送提醒电子邮件的 cronjob 示例

0  7  *   *   *     wget --quiet -O- --user=admin --password=admin --auth-no-challenge http://127.0.0.1:8080/Plone/@@send-read-reminders > /dev/null

设置过期通知

视图 @@send-expired-notification 列出所有有打开的阅读请求的文档,并通知门户的管理员地址。

您可以在注册记录 collective.contentrules.mustread.interfaces.IMustReadSettings.expired_recipient 中配置收件人。

请确保每天只调用一次 - 类似于 设置提醒

待办事项

  • 对象报告视图 - 显示对象或上下文及其子对象的必须阅读记录。

    • 每个对象的标题,链接到该对象的必须阅读报告

    • 具有可排序列的列表表

      用户名,截止日期,阅读时间,状态(已阅读,阅读过晚,未阅读)

  • 将清理选项添加到报告视图

    • 删除单个必须阅读条目

    • 删除所有必须阅读条目

  • 用户报告视图(在报告中对对象链接用户名)

    列出用户已阅读、未阅读、阅读过晚的所有对象的表格

  • 通过标记接口(见archetypes.zcml)完成提供必须阅读操作的类型的限制 - 可能还有更好的方法

  • 为ICanBeMarkedAsMustRead实现dexterity行为

  • 想法:为通知单独设置内容操作,这样我们就可以定义具有不同延迟和文本的多个通知

  • 想法:允许使用密钥无认证调用@@send-read-reminders(类似于munin.zope)

翻译

此产品已被翻译成

  • 英语

  • 德语

安装

通过将其添加到您的buildout中安装collective.contentrules.mustread

[buildout]

...

eggs =
    collective.contentrules.mustread

zcml =
    collective.contentrules.mustread-archetypes

然后运行 bin/buildout

通过插件配置面板(Plone/prefs_install_products_form)安装它

并确保为 collective.mustread 配置数据库

贡献

支持

如果您遇到问题,请通过问题跟踪器告诉我们 https://github.com/collective/collective.contentrules.mustread/issues

许可证

该项目受GPLv2许可。

贡献者

更改日志

1.0a2 (2017-04-26)

  • 如果没有用户在搜索日期之前已过期的截止日期,请不要发送过期电子邮件 [fRiSi]

1.0a1 (2017-04-26)

  • 初始版本。 [frisi]

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源代码发行版

collective.contentrules.mustread-1.0a2.tar.gz (42.7 kB 查看哈希值)

上传时间 源代码

由以下机构支持

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