如果您将 BPMN 2.0 流程定义 XML 放在 Alfresco 类路径中的某个位置,则可以使用 Alfresco 的工作流控制台来部署定义。
例如,我总是将我的工作流放在 WEB-INF/classes/alfresco/extension/workflows/someFolder 下,其中 someFolder 是我正在使用的每个流程定义的唯一文件夹。
工作流控制台位于http://localhost:8080/alfresco/faces/jsp/admin/workflow-console.jsp中。假设您使用的是 3.4.e,这是一个显示 Activiti 集成的预览版本,您可以使用以下命令通过工作流控制台部署流程:
deploy activiti /alfresco/extension/workflows/activiti/activitiHelloWorld.activiti
您可以通过键入帮助来查看其他有用的工作流控制台命令。
或者,正如 Gagravarr 所建议的,您可以在 Alfresco 启动时使用 Spring 来部署您的工作流程。Spring 配置文件的名称必须以“-context.xml”结尾。我通常将我的放在 WEB-INF/classes/alfresco/extension 中。
<?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="someco.workflowBootstrap" parent="workflowDeployer">
<property name="workflowDefinitions">
<list>
<props>
<prop key="engineId">activiti</prop>
<prop key="location">alfresco/extension/workflows/activiti/activitiHelloWorld.bpmn20.xml</prop>
<prop key="mimetype">text/xml</prop>
<prop key="redeploy">false</prop>
</props>
</list>
</property>
<property name="models">
<list>
<value>alfresco/extension/model/scWorkflowModel.xml</value>
</list>
</property>
<property name="labels">
<list>
<value>alfresco.extension.messages.scWorkflow</value>
</list>
</property>
</bean>
</beans>
如果您想要一些简单工作流的工作示例,并为 jBPM 和 Activiti 实现相同的工作流以便于比较,请查看此博客文章:http ://ecmarchitect.com/archives/2011/04/27/ 1357
杰夫