作为组的内容的plone pas插件
collective.contentgroups的Python项目详细描述
集合.contentgroups
这是plone的pas(PluggableAuthenticationService)插件。 它支持将内容项作为组。
功能
- 一种行为collective.contentgroups.group,它使用一个简单的users文本字段将灵活的门户类型转换为一个组。
- 集成这些组的pas插件contentgroups。
- 适配器GroupAdapter,为具有我们行为的内容项提供标准PloneGroup和GroupData对象提供的所需功能。
- 将插件安装到acl_users中的安装程序。
- 删除插件的卸载程序。
注意:此包没有组门户类型。 您必须在新的或现有的灵巧门户类型上启用该行为。
安装
通过将collective.contentgroups添加到您的构建:
[buildout] ... eggs = collective.contentgroups
然后运行bin/buildout并启动plone。
现在您可以在plone的附加组件控制面板中安装该产品。 然后转到“灵巧内容类型”控制面板。 要么创建新类型,要么编辑现有类型并启用组行为。
使用量
创建组
在“用户和组”控制面板中添加的任何组都是标准的plone组。
在内容ui中,可以创建组,就像创建页面或文件夹一样。 使用“添加新操作”菜单并选择已为其启用行为的内容类型。
在内容ui中也可以删除组:只需像删除页面一样删除组。
注意,如果组是私有的,站点管理员将在“组”控制面板中看到它。 但其他用户可能看不到该组。 没有权限查看组的编辑器将无法在“共享”选项卡中选择该组。 组的成员可能无法有效获取组成员身份,因为找不到组(在portal_catalog搜索中)。
换句话说:将组设置为私有状态是禁用它的有效方法。
添加用户
将用户添加到组必须在内容组的编辑窗体上完成。 它不能在用户和组控制面板中完成。 在“用户”文本字段中,键入此组中所需的用户ID,每行一个。
注意:您需要用户的id,而不是登录名。 通常它们是相同的,但是它们可能不同,例如当您使用电子邮件作为登录时。
在users字段中添加组id也是可以的,可以从另一个内容组添加,也可以从标准plone组添加。 当您使用plone recursive groups插件(在默认plone中启用)时,这样的“递归”组成员关系工作得非常顺利。 要使其正常工作,contentgroupspas插件需要位于IGroupsPlugin中的recursive_groups插件之上。 安装程序会处理这个问题。
要从组中删除用户,只需从“用户”字段中删除其ID。
在“用户和组”控制面板中,您将能够看到哪些用户在内容组中,以及用户属于哪些内容组。 但你不能改变它。
添加角色
不能将角色添加到组中,不能在编辑窗体中,也不能在控制面板中。 你可以做的是:
- 将内容组添加到标准plone组中,并赋予此标准组一个角色。 例如,可以将内容组添加到审阅者组。
- 在“共享”选项卡上搜索并选择内容组,并赋予其本地角色。
兼容性
这适用于plone 5.2和python 2.7和3.6。 它可能也适用于更早的plone版本或更高的python版本,但这还没有经过测试。
支持
如果你有问题,请告诉我们。 联系Maurits van Rees at Zest Software。 或者在^{a中打开一个问题3}。
许可证
该项目是根据gplv2授权的。
贡献者
- 毛里特斯范里斯,m.van.rees@zestsoftware.nl
赞助
根特大学(即ugent)已经使collective.contentgroups的研究成为可能。 见https://www.ugent.be。 根特大学是比利时排名前100的大学和主要大学之一。
更改日志
1.0.0a1(2019-06-07)
- 初次发布。 [毛里塔尼亚]