open20 / 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:28:52 UTC
README
协作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 对所有人公开 - 对所有用户公开
- TAG 兴趣领域的所有用户
- 在“自己的兴趣”选项卡中,内容仅在用户兴趣与内容标签匹配时可见
- 在“所有”选项卡中可见
- NETWORK 指定范围内的所有用户:这意味着内容已在一个或多个网络中发布
- 在“自己的兴趣”选项卡中,内容仅对指定网络成员可见
- 在“所有”选项卡中,如果网络是公开的(例如,社区开放),如果网络没有可见性规则或如果用户是网络成员,则内容可见
- NETWORK AND TAGS 指定网络和匹配内容标签的所有用户
- 与 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),因为他具有在用户域中对 ID 为 3 的用户验证新闻的 cwh_auth_assignment 权限。
b. Jhon Doe 想在 ID = 6 的社区中创建新闻。
- 他必须是社区 6 的参与者,并且具有为 ID = 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:至少有一个内容标签匹配用户兴趣(任何树)