Organic Groups 起步
Organic Groups,通常简称 OG。通常用来在一个网站中管理不同的组,如:Drupal Groups;也可以让 Drupal 同时服务多个部门,或多个公司,相互间没有影响。
要使用 OG,需要先新建或指定 Content Type 用来保存 group(组)的信息,比如公司类型,这类 node 可以用来代表所服务的各个的公司;又或者是部门类型,对应的 node 可以用来代表同一公司的不同部门。
作为 group 的 Content Type 的评论功能可以考虑关闭。
默认新建的 group 都是公开的,访客都可以任意访问 group 及相关的内容。如果需要权限控制,可以激活 og_access 模块,通过 Group visibility 属性,设置 group 为私密状态。
准备好 group 后,其他的 Content Type 如 Article、Basic Page、等,就可被发布到这些 group 里。
Role 和 Permission
每个 group 类型可以设置共通的角色及权限,也可通过绑定 Group roles and permissions 字段(field)为每个 group 配置独立角色和权限。每个 group 可以有各自的成员,每个成员可以拥有不同的角色及权限,方便 group 内内容的发布和管理。每个成员也可以属于多个 group,在不同的 group 内可以有不同的角色和权限。
默认情况下,发布内容到指定的 group 必须手动选择目标 group。通过 entityreference_prepopulate 模块,可以把目标 group 的信息通过 URL 传入编辑页面。
默认情况下,发布到公开 group 的信息默认是公开的,发布到私密 group 的信息只对组内成员公开。如果信息同时发布到了公开和私密的 group,则该信息只对发布到的那些 group 的组内成员公开。给需要发布内容的 Content Type 添加 Group content visibility 属性,可以指定发布的内容是公开的还是私密的。