BPM 11g ADF Task Form Versioning
By Christopher Karl Chan on Jul 23, 2012
Lately customers have been asking a lot about how to version ADF Task Forms in a BPM context.
In BPM 11g (from PS4 Feature Pack onwards) version handling is fairly flexible and it is now possible to migrate in flight process instances of the same version to the new version. My colleague Mark Foster has a great blog article that walks through these concepts.
In addition to migrating the same version of processes we might in some instances want to have more than one version of the process running at the same time, for example so that each will finish on their own process flow.
However what happens if these processes contain human tasks and there is a requirement that the task forms be different for each version of the process?
Application Version Approaches
ADF Task Form projects get deployed as an Enterprise Application in weblogic.
In general for design time, we use a source code repository like subversion during the development process to version all the design-time files.
However in runtime we need to have some kind of versioning in place case to have two versions of the same Task Form available at the same time each being invoked by different versions of the same bpm process.
Enterprise Application Naming
To get round this problem we can use a naming convention and deploy the two different task form applications as two different Enterprise Applications and then make sure that each BPM process invokes the correct form.
Simple Test Case
In the below test case We have a BPM process called SimpleProcess that contains one Human Task called SimpleTask. The task has an ADF Form View project Called SimpleTaskView.
In BPM Studio open your task form project then view the application properties from the application menu.
Then click Deployment and edit the deployment profile
Change the Application Name to include a version
Then right click the ui project and select Project Properties. Then click deployment and edit the deployment profile.
Add a new version into the Web Context Root
Deploy the ADF Task Form to the server from the application menu.
Verify that the application is deployed by checking in the console. Go to Deployments and verify the context root is correct.
Now in Enterprise Manager edit the URI of the Human Task to point to the correct Task Form. First click on the SimpleProcess
and then the SimpleHumanTask.
In the Administration tab you can now change the URI to point to version 1.1 of the Task Form by making sure the value is similar to the Web Context Root we specified earlier.
Now version 1.1 of the SimpleProcess will use version 1.1 of the Task Form and the original one will use the original task form.