已部署自定义工作流的Alfresco权限



如何设置自定义工作流的权限

我部署了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机制,该机制也可用于任务、实例和执行。