评注和圈阅
记录日志,形成操作历史,可用于审计
评注是对内容的附加信息,用于对内容进行讨论。圈阅也是一种特殊的评注。
平台的评注暂不支持线索回复,不支持修改。
目录
1 评注 comments
几乎任何对象都可被评注,评注可以补充附件。一般对象的关注人员会收到评注通知。
1.1 添加评注 add
方法为::
comment_id = obj.comments.add(body, author, action='comment', attachments=[], data=None, notify=True)
其中:
body:评注的内容
author:评注人多pid
action: [可选]操作类型,默认是评注。
可通过扩展其他类型的评注,比如圈阅。类似日志,对于扩展评注类型,使用渲染脚本名字作为action。
attachments:[可选]附件对象的列表
data:[可选]附加数据
notify: 是否通知订阅人
返回添加的评注ID
1.2 删除评论 remove
obj.comments.remove(comment_id)
1.3 删除全部评论 clear
obj.comments.clear()
2 扩展评注操作(圈阅)
比如圈阅,也是一种特殊的批注。
2.1 文档矩形标注
需要记录页面、位置等信息:
obj.comments.add(body, author, action="zopen.viewers:comment_doc_rect", data={"page": 2, "left_factor": 0.12, "top_factor": 0.12, "right_factor": 0.33, "bottom_factor": 0.33, })
2.2 文档点取标注
需要记录页面、位置等信息:
obj.comments.add(body, author, action="zopen.viewers:comment_doc_rect", data={"page": 2, "x_factor": 0.12, "y_factor": 0.12, })
2.3 图片点标注
需要记位置:
obj.comments.add(body, author, action="zopen.viewers:comment_image_point", data={ "x_factor": 0.12, "y_factor": 0.12, })
2.4 图片区域标注
需要记位置:
obj.comments.add(body, author, action="zopen.viewers:comment_image_rect", data={ "left_factor": 0.12, "top_factor": 0.12, "right_factor": 0.33, "bottom_factor": 0.33, })
3 搜索评论 CommentQuerySet
CommentQuerySet用于搜索评注,接口类似 QuerySet
results = CommentQuery(restricted=False)\ .anyof(path=[obj]).limit(5).sort('-created')
支持的索引包括:
- "author": 发帖用户id
- "time": 发帖时间
- "body": 正文
- "attachments": 附件uid
- "path": 上级路径uid,也可以传递对象
- "bound_object_id": 评注对象uid
- "bound_object_title":评注对象标题
- "bound_object_deleted": 是否已经删除
返回结果:
[{ '_score': 1.0, '_id': 'AWesCZfEnKFhHeiULKrm', '_source': { 'body': 'test', 'instance_id': 'workonline.default.zopen', 'disallowed_principals': [], 'attachments': [], 'bound_object_id': 487973187, 'author': 'users.admin', 'appid': 'workonline', 'bound_object_deleted': False, 'allowed_principals': ['users.admin', 'users.test', 'groups.teams.0-managers'], 'time': '2018-12-14T09:26:09.087925', 'path': [1046063753, 1046063752, 487973187], 'bound_object_title': 'test.xlsx' }, }]