我希望Plone中的文件夹内容仅适用于某些角色。这可以轻松完成吗?目前,任何点击文件夹内容中文件名超链接的人都可以轻松下载文件。我知道使用ZMI覆盖at_download代码的站点范围选项。
答案 0 :(得分:2)
这可能不是那么简单,你需要在一个小的Plone产品中添加一些代码(没有TTW)。下面的代码片段未经过测试。
Plone文件是使用Archetypes框架开发的(这可能会在Plone 5上发生变化)。您需要更改的是read_permission
字段的file
(请参阅Archetypes field reference)。
导入ATFile
ATFile.schema ['file']。read_permission ='you new permission'
您只需将新权限分配给角色即可。
这可能还不够(现在可能步骤1没用)。您需要对[plone.app.blob extension][2]
执行相同的操作:
导入SchemaExtender
SchemaExtender.fields [0] .. read_permission ='你的新许可'
上一篇:您可能需要自定义file_view template或未经许可的用户访问文件视图时会出现“未授权”错误。
答案 1 :(得分:2)
无代码的方法是使用Plone的工作流程系统。
开箱即用,Plone的文件和图像内容类型没有自己的工作流程。这意味着文件和图像将简单地继承其父文件夹的发布状态。这很容易理解,但它不符合您的描述。
要更改此情况,您可以使用“类型”配置面板打开文件和图像的独立工作流程。然后,它们的发布状态可以与其包含的文件夹分开设置。通常,您选择与文档相同的工作流程。然后,您可以发布文件夹并列出其内容,同时将文件设置为私有 - 因此需要登录才能查看。
如果您需要在不同的地方以不同的方式工作,您可以打开“放置”工作流程(通过在附加组件面板中添加它来打开它;它已预先安装但未激活)。这允许站点的不同部分中的不同工作流程。它增加了复杂性,但通常是解决这种难题的理想方法。