are there any experiences/best practices on integration Activiti Forms with CaptainCasa.
e.g storing the Form XML as String pro's con's etc ? How to do the varibale binding to controls ?
do you really mean Activiti, the open source bpmn 2.0 process engine?
We use the Activiti engine in our product, but we use our own form definition and reference the name of the form in the process.
The form itself contains of fields which are also configured in our system. The form definition is dynamically rendered (using ROWDYNAMICCONTENT). The binding to the process variables is done using a map in the backing bean. The map is filled using the process variables when entering the user task. The user edits the data in the form (which changes the variables of the map in the backing bean). When the user clicks next, we take the variable map of the backing bean and put it in the process engine as process variables.
thanks for your reply.
yes, I meant Activiti BPMN and the forms within a task.
So do I get it right: you're form description is custom XML and you convert it into
a Page by having a generic Page with ROWDYNAMICCONTENT ?
So viewing a Task will then open always the same Page, right ?
We have some structural elements like panel or group and have some input controls like field.
We take this definition and convert it to a component tree on server side which will be put in the rowdynamiccontent.
The backing bean is an instance of some generic bean which knows how to construct the component tree out of our form definition and which knows how to handle the values map.
The backing bean is constructed in a subdispatcher of the root dispatcher to make sure we get a fresh instance every time a task is opened.
The reason we did not use the activiti form definition was that we wanted to be free to add our own feature (like searching the database by clicking a button and automatically filling the fields in the form using the result of the search operation).