我们正在实施Plone作为医院环境中的文件管理系统。 在此过程中,审核流程会要求两个审核步骤:
当我们发现护士根据他们处理的机器类型(特别是扫描仪类型,超声波......)进行分组时,问题就出现了。在这些机器上,他们在各种身体部位进行各种检查。
另一方面,医生根据身体部位的专业知识进行分组。
这意味着与骨盆超声相关的文件应由护理人群中的超声组和医师人群中的腹部组进行评估。
大约有8个护理小组和7个医生小组,它们将在56种不同的文件类型中占56个不同的工作流程......这看起来像是一场维护噩梦。
是否有不同的方法根据给予文档的参数“动态”分配审阅者组?如果是,那么在文档类型级别定义并在文档实例级别分配的参数在哪里?
答案 0 :(得分:4)
可能有一种更简单的方法来解决这个问题。
可以堆叠Plone工作流程;例如您可以为内容类型分配多个工作流程。
这意味着您可以分配护士和医生工作流程,每个工作流程都会分发特定权限。如果您按工作流正确设置角色,那么您的用例应该易于实现;只是将角色分为护士和医生的角色。
因此,默认工作流使用Reviewer,Editor,Contributor,Member等,使用DoctorReviewer,NurseReviewer,DoctorEditor,NurseEditor等。这样两个工作流将处理两组并行权限,转换和状态。
我对你的用例知之甚少,如果这样可以解决你的问题,但我只是想在探索复杂的自定义插件之前确保你知道这个选项。
答案 1 :(得分:2)
您可以使用Archetypes.Schemaextender创建一些可以分配给每个内容项的自定义字段(例如设备,正文部分),然后使用这些字段,而不是重载非常简单的内置“标签”字段。如上所述,将护士工作流分配给正确的护士组,将医生工作流分配给正确的医生组。
答案 2 :(得分:0)
你要编写你的pas插件。您可以从这开始:http://pypi.python.org/pypi/Products.AutoRoleFromHostHeader/(也适用于组)并创建您自己的角色/组。这个插件非常简单,只需这样做:
security.declarePrivate('getRolesForPrincipal')
def getRolesForPrincipal(self, principal, request=None):
""" Assign roles based on 'request'. """
在那里,您可以自己创建逻辑,并根据在文档类型级别定义并在文档实例级别分配的参数为用户分配一个组。
答案 3 :(得分:0)
如果您正确创建文件夹以反映您的群组,则PlacefulWorkflow可能会有所帮助