定义哪些用户需要将内容项标记为已读(通过collective.mustread)
项目描述
内容规则,用于定义在特定期限之前哪些用户(本地角色)需要阅读哪些内容项。
当请求阅读确认时,会向所有用户发送一封通知电子邮件。
在截止日期前 2 天(可配置)向所有未确认其阅读请求的用户发送可选的提醒电子邮件。
当内容项的阅读请求已过期时,会向可配置的电子邮件地址发送一封通知电子邮件,其中列出了所有未读文档以及哪些用户未及时确认该项目已读。
站点管理员可以查看读取统计信息(每个内容项和站点范围)以及下载所有读取请求的 CSV 列表。
内容规则允许配置
用户有时间阅读内容的天数(截止日期 = 今天 + nr-of-days),
在截止日期前发出提醒的天数,
以及通知和提醒电子邮件的主题/文本。
这个插件依赖于collective.mustread。
要对非文件夹 ATContentTypes 启用必读操作,请包含 archetypes.zcml(请参阅安装)。
设置内容规则
添加新的内容规则。
通常,您将使用请求的读取确认作为触发事件。
如果用户具有请求读取确认权限,则当用户在内容对象的操作下拉列表中链接的内容对象上调用 @@request-read-confirmation 视图时会触发此事件。
如果这对您的用例有意义,您还可以使用其他事件触发器,例如添加到此容器的对象或工作流状态更改。
作为操作选择请求阅读确认并配置它:
- 电子邮件来源
电子邮件地址通知和提醒从(发件人:标头)发送
- 角色
目前,收到读取请求通知的用户由您可以选择的全局、获得或本地角色定义(类似于collective.contentrules.mailtorole
我们还支持授予组的角色,还支持在嵌套组中查找用户
也许我们将来会添加支持以直接选择组和用户。
- 获得的角色
同时通知从父对象获取角色的用户
- 全局角色
还通知已在用户或组控制面板中授予角色的用户。
- 通知主题
通知电子邮件的主题
- 通知消息
通知电子邮件的文本。您可以使用 plone.stringinterp 的所有替换变量以及内容操作特定变量)
- 提醒主题
提醒邮件的主题
- 提醒信息
提醒邮件的文本。
如果为空,则不发送提醒
- 截止日期延迟
必须在天数内确认读取请求。将用于计算请求的截止日期。
- 提醒延迟
定义在截止日期前多少天将发送提醒电子邮件。
内容操作特定变量
这个包定义了一些额外的 plone.stringinterp变量:
- 必读网址
将对象标记为已读的项目的 URL ( /@@mustread-hit )
(也可用于其他操作)。
- 必读全名
读取请求分配给的人的全名
(仅在请求阅读确认操作中可用)。
- 必读截止日期
读取请求的本地化截止日期
(仅在请求阅读确认操作中可用)。
用法
设置内容规则后,您只需在内容对象上调用@@request-read-confirmation视图。
对于具有请求阅读确认权限的用户,这应该在内容项的操作下拉列表中可用。
对于与操作中定义的角色过滤器匹配的用户,将创建一个必读数据库条目并发送一封通知电子邮件。
您将看到一条饱和消息,指示哪些用户名得到了通知。
如果您希望您的用户在截止日期前几天再次收到通知,您需要设置提醒。
您还可以设置过期通知(错过阅读请求的电子邮件报告 - 哪些文档有错过请求以及哪些用户没有阅读该文档)。
有一个 csv 导出 ( @@read-statistic-csv ) 列出了所有必读记录(可用作审计日志或执行高级电子表格魔术)。
设置提醒
视图@@send-read-reminders搜索具有打开读取请求的(子)对象,如果今天的日期等于提醒的截止日期 - 通知延迟(在 contentrule 的操作中指定),则通知用户
您可以为此使用时钟服务器(类似于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 实现灵巧行为
想法:单独的通知内容动作,因此我们可以定义具有不同延迟和文本的多个通知
想法:允许使用秘密调用@@send-read-reminders w/o 身份验证(类似于 munin.zope)
翻译
该产品已翻译成
英语
德语
安装
通过将collective.contentrules.mustread 添加到您的构建中来安装它:
[buildout] ... eggs = collective.contentrules.mustread zcml = collective.contentrules.mustread-archetypes
然后运行bin/buildout
通过插件配置面板安装它(Plone/prefs_install_products_form)
贡献
支持
如果您遇到问题,请通过问题跟踪器告诉我们
执照
该项目在 GPLv2 下获得许可。
贡献者
变更日志
1.0a2 (2017-04-26)
如果没有用户的截止日期在我们的搜索日期之前过期,请不要发送过期电子邮件 [fRiSi]
1.0a1 (2017-04-26)
初始发行。[弗里西]