定义哪些用户需要将内容项标记为已读(通过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许可。
贡献者
Harald Friessnegger, harald@webmeisterei.com
更改日志
1.0a2 (2017-04-26)
如果没有用户在搜索日期之前已过期的截止日期,请不要发送过期电子邮件 [fRiSi]
1.0a1 (2017-04-26)
初始版本。 [frisi]
项目详情
collective.contentrules.mustread-1.0a2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7c43ccfbc00ff74f6fed6c324090e128743b4615c05b3e415e9d3e5fe240f66b |
|
MD5 | a03da5d4ffb430fa025c23c065620e8a |
|
BLAKE2b-256 | 2aec6bdac14f6d0215a1a887298dfb910431af2d9e11b50dbdc2503c4cfa3842 |