How do I use activiti: formProperty in alfresco activiti?


I want to design and deploy an activiti workflow to alfresco. To prepare form for this workflow one way is to define a form and use its formKey. But by this way I should change share-workflow-form-config.xml and restart the tomcat, and deploy model and bpmn file.

I need a way which has one deployment without restarting tomcat. I found a way in activiti using activit:formProperty, but it seems does not work in alfresco. Am I correct? This is not in alfresco? If alfresco has it how can I use it?

In other words, as I deployed one of activiti-explorer examples in alfresco workflow console, there was not any of those fields displayed in deployed workflow start event form. After clicking on "Start Workflow" an error displayed

org.alfresco.service.cmr.workflow.WorkflowException: 03110260 Failed to start workflow activiti$vacationRequest:1:2352.

Hi to my knowledge it's not possible to do this with the current setup. Because what you're missing is that you're running the workflow within Alfresco Share. And every screen is rendered by Alfresco's own form engine.

To achieve what you want can be done by running Activi seperately and using Activit's own UI.

Coming back to your post, I quote: "But by this way I should change share-workflow-form-config.xml and restart the tomcat, and deploy model and bpmn file."

You can speed things up:

  1. Define your model first and once it's finished and tested, restart Alfresco
  2. Changes made to share-workflow-form-config.xml or any other form XML can be done during runtime. You just need to reload the share webscripts & form --> alfresco/service/index?reset=on or reset=all through a post method (get might work, haven't tried it). I'm using Will Abson's build ANT script which does that. Check-out one of the google project add-ons and you will find it there
  3. You don't need to restart Alfresco when deploying workflows! There is an activiti-workflowconsole you can upload in runtime your new bpmn20.xml file or create a *.bar package and upload that one
  4. The advantage of using an Alfresco-Model is that you can re-use workflow screens by using the same model & form config in multiple steps. E.g. I use the review and approve task & form config a lot, because it's a general task.