如何设置自定义工作流的权限
我部署了BPMN2.0工作流,将bpmn20.xml放在/alfresco/extension
中,并使用以下workflow-context.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean id="acme.workflowBootstrap" parent="workflowDeployer">
<property name="workflowDefinitions">
<list>
<props>
<prop key="engineId">activiti</prop>
<prop key="location">alfresco/extension/workflows/activiti/superflow.bpmn20.xml</prop>
<prop key="mimetype">text/xml</prop>
<prop key="redeploy">false</prop>
</props>
</list>
</property>
</bean>
</beans>
工作流可以在Worfkflow控制台中找到,并且可以运行。
剩下的问题是,我只能在户外共享中将此工作流视为admin
。不是admin@acme
。
如何设置权限以使用此工作流作为不同于管理员的用户?
有一个露天扩展项目可用于实现工作流权限https://addons.alfresco.com/addons/workflow-permissions
配置是在共享自定义配置中完成的,使用类似以下的元素"权限工作流":
<config evaluator="string-compare" condition="Workflow"> <!-- A list of workflow definitions that are NOT displayed <hidden-workflows> <!-- Hide all WCM related workflows --> <workflow name="jbpm$wcmwf:*" /> <workflow name="jbpm$wf:*" /> <workflow name="activiti$activiti*" /> <workflow name="activiti$quickStart*" /> </hidden-workflows> <!-- A list of workflow tasks that are NOT displayed inShare --> <hidden-tasks> <!-- Hide all WCM related tasks --> <task type="wcmwf:*" /> </hidden-tasks> <permission-workflows default="allow"> <permission-workflow name="activiti$epubcreate"> <authorities> <authority type="group">GROUP_ALFRESCO_ADMINISTRATORS</authority> </authorities> </permission-workflow> </permission-workflows> </config>
我真的无法说出与Alfresco捆绑的Activiti引擎实际暴露了多少。但在独立的Actiti产品中,您可以为任何流程分配"候选启动人员"。
http://www.activiti.org/userguide/#_add_a_candidate_starter_to_a_process_definition
这使用了identityLinks机制,该机制也可用于任务、实例和执行。