lispa / amos-cwh
CWH 管理 - 插件
Requires
- php: >=5.4.0
- hanneskod/classtools: ~1.0
- open20/amos-admin: ^2.0
- open20/amos-core: ^1.19.1
- open20/amos-tag: ^1.10.0
- dev-master
- 2.11.0
- 2.10.2
- 2.10.1
- 2.10.0
- 2.9.0
- 2.8.3
- 2.8.2
- 2.8.1
- 2.8.0
- 2.6.0
- 2.5.3
- 2.5.2
- 2.5.1
- 2.5.0
- 2.4.1
- 2.4.0
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.26
- 2.1.17
- 2.1.16
- dev-releases/2.11.0
- dev-releases/2.10.2
- dev-releases/2.10.1
- dev-releases/2.10.0
- dev-releases/2.9.0
- dev-releases/2.8.3
- dev-releases/2.8.2
- dev-releases/2.8.1
- dev-releases/2.8.0
- dev-releases/2.6.0
- dev-releases/2.5.3
- dev-releases/2.5.2
- dev-releases/2.5.1
- dev-releases/2.5.0
- dev-releases/2.4.1
- dev-releases/2.4.0
- dev-releases/2.3.2
- dev-releases/2.3.1
- dev-releases/2.3.0
- dev-releases/2.2.3
- dev-releases/2.2.2
- dev-releases/2.2.1
This package is auto-updated.
Last update: 2024-09-26 22:31:53 UTC
README
Collaboration Web House 模块定义了项目插件及其网络之间的协作规则。
cwh 的目的是通过基于用户兴趣或网络成员资格的规则,启用内容的发布。
内容模型
对于内容模型,我们指的是一个包含可以发布给所有用户、在网络中共享或标记为属于特定兴趣领域(标签)的信息的模型。
要使用 cwh 激活模型的接口(从 amos 核心模块)是 open20\amos\core\interfaces\ContentModelInterface(见 配置向导 部分)。
内容模型配置存储在表 cwh_config_contents 中。
发布
创建后,内容发布存储在表 cwh_pubblicazioni 中。AmosNews 中的新闻模型是一个内容模型的示例。
Cwh 节点
Cwh 节点是发布域,用作验证范围或接收者(发布范围)——见验证器和接收者部分。
域名配置存储在表 cwh_config 中,从这个配置中创建视图 'cwh_nodi_view',以映射项目中所有网络的信息(见 Cwh Nodi View 部分)。
网络模型
网络是一个允许创建成员组(用户-网络关联)并在属于同一组的用户之间共享信息的模型。
要作为 cwh 发布网络适合的模型必须实现的接口(在 amos cwh 中)是 open20\amos\cwh\base\ModelNetworkInterface(见 配置向导 部分)。
在我的个人资料中,可以查看用户网络。
用户域
除了网络模型之外,在 cwh_config 表中还可以找到单个用户的配置,这不应被视为网络,但它有自己的配置,并作为节点参与 cwh 流程(内容可以针对单个用户发布)。在 amos 管理员中,网络部分的我的个人资料中,用户联系映射显示为网络(如果启用了用户联系),但它不依赖于 cwh 配置:即使 cwh 模块未启用,也可以启用用户联系。用户节点可以设置为验证器(发布内容表单中的字段发布),但不能作为发布范围(接收者),因为目前无法发布仅对另一用户可见的内容。
发布规则
默认发布规则是
- PUBLIC 公开给所有人 - 对所有用户公开
- 标签 所有兴趣领域的用户
- 在“自己的兴趣”标签页中,内容仅对用户兴趣与内容标签匹配时可见
- 在“所有”标签页中可见
- 网络 指定范围内的所有用户:这意味着内容已在一个或多个网络中发布
- 在“自己的兴趣”标签页中,内容仅对指定网络成员可见
- 在“所有”标签页中,如果网络是公开的(例如,社区开放),如果网络没有可见性规则,或者如果用户是网络成员,则内容可见
- 网络和标签 指定网络和匹配内容标签的所有用户。
- 与3.相同,增加条件匹配兴趣区域,在“我的兴趣”标签中查看内容
在包含 CwhNetworkBehaviors 的内容模型中
- 指定发布规则的属性是 $model->regola_pubblicazione
- 在模型表单中,设置发布规则的字段由 widget open20\amos\cwh\widgets\RegolaPubblicazione 显示。
有关更多信息,请参阅 内容发布 部分。
发布规则定制
如果标签模块未激活(未在项目配置中存在),则规则2和4(基于标签)将禁用。
可以允许具有角色1(所有用户)的权限仅限具有特定角色(rbac)的用户发布内容;为此,请添加到Cwh模块配置
'modules' => [ .... 'cwh' => [ 'class' => 'open20\amos\cwh\AmosCwh', 'regolaPubblicazioneFilter' => true, 'regolaPubblicazioneFilterRole' => 'MY_ROLE' ], .... ]
默认情况下,按角色过滤发布规则是禁用的(所有用户都可以使用规则1发布内容。如果启用发布规则过滤但未指定角色,则允许发布规则1的默认角色是‘VALIDATOR_PLUS’
要禁用发布规则,请将cwh配置中的regolaPubblicazioneEnabled设置为false
'modules' => [ .... 'cwh' => [ 'class' => 'open20\amos\cwh\AmosCwh', 'regolaPubblicazioneEnabled' => false ], .... ]
验证器 - “发布给”
如果内容模型工作流程未绕过,则在发布内容时必须设置验证范围。
因此,在表单/向导中,必须独立于发布规则指定cwh节点。
在包含 CwhNetworkBehaviors 的内容模型中
- 指定验证器的属性是 $model->validatori(如果将来需要更多验证器,它将是一个数组)。
- 在模型表单中,设置验证器的字段由 widget open20\amos\cwh\widgets\Validatori 显示。
如果选择“我的”或“Mio conto”,则用户将个人发布内容(不选择特定网络),因此验证可能由具有“VALIDATOR”角色的用户或用户促进者(如果平台中已启用)完成。如果设置了网络验证范围,则验证将由有权验证网络下内容的用户完成:存储在表 cwh_auth_assignment 中的 网络权限以创建和验证网络中的内容。
示例
a. Jhon Doe,user_id = 5正在发布带有个人验证范围(我的)的新闻,并由id为3的用户促进。新闻可以由以下人员验证:
- Jhon本人(如果他有VALIDATOR角色)。
- a VALIDATOR用户。
- 用户3(不需要是VALIDATOR)因为他有cwh_auth_assignment权限来验证id为3的用户域中的新闻。
b. Jhon Doe想创建一个id为6的社区新闻。
- 他必须是社区6的参与者,并具有创建社区6新闻的cwh_auth_assignment权限(社区_user_mm中的PARTICIPANT角色提供了权限)
- 新闻可以由有权验证社区6的用户验证 - 通常为社区管理员。
- a VALIDATOR用户如果不能是社区6网络的成员,则不能验证新闻。(例如,在社区中,任何在COMMUNITY_USER_MM表中具有PARTICIPANT角色的社区用户都可以)。
验证器定制
可以通过设置选项validatoriEnabled为false来从表单/向导中隐藏验证器部分(例如,如果工作流程未激活)。
'modules' => [ .... 'cwh' => [ 'class' => 'open20\amos\cwh\AmosCwh', 'validatoriEnabled' => false ], .... ]
接收者 - “发布范围”
如果选择了涉及网络的发布规则,则必须为内容发布选择一个网络(例如社区)。
在包含 CwhNetworkBehaviors 的内容模型中
- 指定发布范围的属性是 $model->destinatari(包含所选网络的cwh_nodi_id的数组)。
- 在模型表单中,设置接收者的字段由 widget open20\amos\cwh\widgets\Destinatari 显示。
接收者定制
可以通过设置选项destinatariEnabled为false来从表单/向导中隐藏接收者部分(例如,如果工作流程未激活)。
'modules' => [ .... 'cwh' => [ 'class' => 'open20\amos\cwh\AmosCwh', 'destinatariEnabled' => false ], .... ]
接收者检查
Cwh模块还提供了一个小部件,可以在内容发布表单中获取“接收者检查”实用程序。接收者检查 widget open20\amos\cwh\widgets\RecipientsCheck 将绘制一个按钮,打开一个模态,显示内容将为“自己的兴趣”的用户列表。
配置向导
要使用配置向导,请检查php扩展soap和intl是否已启用。
网络
内容
如果内容模型适合与cwh内容管理器(实现了 open20\amos\core\interfaces\ContentModelInterface)一起使用,则可以配置内容模型。为此
- 激活cwh插件
- 打开cwh配置向导(需要管理员权限)url:/cwh/configuration/wizard
- 在内容配置部分搜索模型
- 编辑模型的配置并保存 //TODO指定字段的使用方式
文档
安装
'modules' => [ .... 'cwh' => [ 'class' => 'open20\amos\cwh\AmosCwh', ], .... ]
模块参数
regolaPubblicazioneFilter - 请参阅“发布规则定制”部分
regolaPubblicazioneFilterRole - 请参阅“发布规则定制”部分
regolaPubblicazioneEnabled - 请参阅“发布规则定制”部分
validatoriEnabled - 请参阅“验证器定制”部分
destinatariEnabled - 请参阅“收件人定制”部分
cached - bool默认 = false - 当查找内容时启用cwh查询缓存
cacheDuration int默认 = 86400 - 如果查询缓存已激活(cached = true),则缓存持续时间(默认为24小时)。
enableDestinatariFatherChildren : 如果为true,则可以从社区发布内容到社区父级和社区子级。tagsMatchEachTree : bool - 默认 = false.
设置为true,如果内容具有用户感兴趣的所有标签树中的标签匹配
默认为false:至少有一个内容标签匹配用户兴趣(任何树)