提供Plone网站特定区域的'membership'功能
项目描述
collective.workspace
简介
collective.workspace 包用于为 Plone 站点的特定区域提供“会员”功能。
它允许您通过会员组而不是每个用户的本地角色来授予人们访问内容区域的权限,并将对该组的管理权委托给没有访问站点范围用户/组控制面板的人。
collective.workspace 提供了一个可以启用任何 Dexterity 内容类型的 collective.workspace.team_workspace 行为。启用后,它添加了一个“名单”选项卡,您可以在其中管理团队。
所有功能都通过 IWorkspace 适配器实现,可以覆盖以指定
一组组和每个组应接收的角色列表。这些组通过 PAS 插件自动创建,并使用 borg.localrole 适配器自动授予本地角色。
用于存储名单中每位成员的字段模式。这包括用于确定成员所属哪些组的复选框。
名单中每行的操作链接。默认情况下是一个“编辑”链接,它会弹出一个窗口以编辑该人员名单会员的字段。
名单底部的操作按钮,适用于用户选择的行。这可以是一个“发送电子邮件”操作,因此名单管理员可以轻松地向名单中的用户发送电子邮件。
与类似的前期软件包(参见 slc.teamfolder 和 collective.local.*)不同,collective.workspace 提供了自己的 PAS 组插件,而不是使用标准的 Plone 组。这意味着您可以防止特定工作空间的组出现在站点范围组控制面板中。
其他一些功能包括
名单中的会员资格是索引的,因此您可以在目录中搜索具有特定用户在他们的名单中的 portal_type X 的项目。
当名单会员资格被添加/修改/删除时,会触发事件。
基本安装
将 collective.workspace 添加到您的 buildout eggs。
在 Plone 站点设置的“插件”部分中安装 collective.workspace。
在您的 dexterity 内容类型上启用行为(可以使用 GenericSetup 或站点设置 -> Dexterity 内容类型)。
兼容性
对于 Plone 5.1 和 5.2,您应使用版本 3.x。对于 Plone 4.3 和 5.0,您应使用版本 2.x。
自定义工作空间组
在工作空间上可用的默认组是“访客”、“成员”和“管理员”。您可以通过编辑注册记录 collective.workspace.available_groups 来自定义可用的组。
贡献者
David Glick - 原始作者
Adam Forsythe-Cheasley - 文档/测试
Ben Cole - 文档/测试
Matthew Sital-Singh - 文档
Paul Grunewald - 德语翻译
Cillian De Róiste
Wolfgang Thomas
Alessandro Pisa
变更日志
3.0.0 (2021-02-17)
修复了 workspace_members 索引器的升级步骤(修复 #44)[reinhardt]
修复了弃用警告(修复 #47)[ale-rt]
3.0b2(2020-06-05)
workspace_members 索引器正确返回一组原生字符串(修复 #41)[ale-rt]
3.0b1(2020-01-27)
添加芬兰本地化 [datakurre]
通过注册记录 collective.workspace.available_groups 添加了指定可用组的功能 [datakurre]
该软件包现在与 Plone 5.1 和 Plone 5.2 兼容并经过测试 [ale-rt, cillianderoiste]
2.0b3(2018-05-03)
修复了错误
修复了某些情况下的自动组计算问题。该错误阻止用户在某些情况下被添加到成员组,例如在从1.x版本升级的步骤中(修复#27)
2.0b2 (2018-04-10)
修复了错误
在迁移失败的一个边缘情况(修复#25)
2.0b1 (2018-03-16)
更改了功能
workspace_groups PAS插件现在以与正常Plone组相同的方式存储组,而不是进行目录查询以查找工作空间。即使在未启用插件缓存的情况下,这也表现得更好。这些基于工作空间的组会自动更新,因为工作空间名单被编辑。(使用单独的插件,以便可以轻松禁用Plone控制面板中工作空间组的列表。)
成员组不再在UI中显示为选项,因为它被自动分配。其他自动工作空间组可以根据任意条件配置为包含在组中。
现在复制和粘贴工作空间会清空复制的名单。
现在直接设置成员属性会引发异常。应该使用update方法更新成员属性,以确保所有更改都得到适当处理。
现在跟踪每个名单成员的最后修改时间。
现在可以添加一个与用户不关联的名单条目(例如,表示没有Plone账户的人)。
修复了错误
现在正确处理了工作空间成员的用户更改(例如,在合并用户时可能需要这样做)。
成员字段现在可以有一个上下文感知的defaultFactory(在获取默认值之前,字段现在绑定到成员资格)。
当用户从网站上删除时,他们任何工作空间的成员资格也将被删除。
现在可以在不破坏现有工作空间的情况下添加新的工作空间计数器。
现在使用plone.api.portal.get_tool查找工具,这有助于在对象未正确获取包装的情况下。
确保在调用add_to_team时,UID不会在用户已在工作空间中时重置。
清理
删除了不再使用的与缓存相关的代码(purge_workspace_pas_cache)。
1.4(未发布)
尚未更改。
1.3 (2016-06-29)
添加了带有i18n域的msgids
添加了德语翻译
在添加、删除或更新名单条目后显示状态消息。
修复了缓存问题
1.2 (2016-06-22)
性能改进
智能缓存组,以及在工作空间更改时的缓存失效
添加了一个新的角色TeamGuest,可用于授予工作空间降低的访问权限
1.1 (2014-07-04)
修复了分发问题
1.0 (2014-07-04)
初始发布
项目详情
collective.workspace-3.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4a3997b61f4b68cb150fc1e7c27cdd246faa0c2ee1e1600f2c39681043761c07 |
|
MD5 | f2036425d4cf283b1262069893693ac4 |
|
BLAKE2b-256 | 284b62fc5ce9d164c2aed5c5a28cf0a697721cd259de0223be23c5780cb1b776 |