What You May Want to Know About Copying Assets Between Different Tracks
YuanShang 27000723E1 Visits (7607)
If you are a Business Process Manager (BPM) system administrator or developer, you have probably known about the function of "Copy" assets from one track to another at Process Center and Eclipse Process Designer for a long time. We offered this function to enable our users to take advantages of multiple tracks, in other words, generating splitting workspaces for developers to work in isolation. You could always have different tracks under the same project or process application, and after separate development and testing, this function helps merge the updated assets together and save time on duplicated jobs. This article is going to briefly introduce how we create and copy assets between tracks, and will mainly cover some tips and known defects that you may want to pay attention to while using this function.
I. Create a New Track and Copy Assets from One to Another
By Clicking the name of a project and checking the box "Allow users to create tracks in this process application" under the tab "Manage", you are now able to create a simple track based on any existing snapshot.
[Figure 1: Enable Track Creation (click image to enlarge)]
Create a new track "Track 2" by clicking the button "New Track" under the drop-down list of a snapshot.
[Figure 2: Create Track (click image to enlarge)]
Name the new track and you should see an identical snapshot for the new track gets created.
[Figure 3: New Track (click image to enlarge)]
After creating a new track based on an existing snapshot, your developers could work in parallel on one project, you could assign one default track per process application. Each track has a TIP snapshot for its own.
Copy Changed Assets from One Track to Another
Once you complete the development and testing for one track and you would like to merge them together for release or deployment, click the snapshot from which you want to copy the assets, and click "Copy" button on the right side.
[Figure 4: Copy from the Source Snapshot (click image to enlarge)]
Then you will see a list of different assets which can be new, different, and may have conflict to the destination track. There are four states of assets including "New", "Updated", "Conflict", and "No Change" as shown below.
[Figure 5: States of Assets (click image to enlarge)]
Now you could select the assets you would like to copy, then click Copy from XXX to XXX.
[Figure 6: Copy (click image to enlarge)]
Now you are able to see a newly created snapshot under the destination track.
[Figure 7: Copy Result (click image to enlarge)]
II. Issues You May Want to Know about "Copy" function
More importantly, I’m going to talk about several known issues and defects that our users have asked about and have found related to this function. That way, you can be prepared and work around them safely.
If a process application is going to contain advanced content or the advanced metadata, it must be brought into IID to create the default library and module before any tracks are created in the PA. Otherwise, the following exception will throw when you try to copy the assets.
CWLLG2229E: An exception occurred in an EJB call. Error: The source and target tracks were primed separately.
Therefore, to prevent it from happening, try to not update the default module and library in Process Designer if the assets are defined in Integration Designer, and vice versa.
If the updated service contains a defined Decision Gateway, and we all know Gateway is served as a proxy for multiple services or processes, and when the services and processes are really complicated with a lot of nested services and dependencies, sometimes you may see some very weird gateway route implementation fields as below after Copy from one track to another.
[Figure 8: Gateway problem-before (click image to enlarge)]
[Figure 9: Gateway problem-after (click image to enlarge)]
The routing services of a particular Gateway at source snapshots are two, and it turns to three (automatically adds a new one) after "Copy". In this case, you might forget to select one of the services that contains or is related to this Gateway before Copy.
To eliminate the possibilities of encountering such issue, please make sure you select all of the updated assets that you want to copy from source to target.
Missing Input/output Mapping
Another typical issue many of our users run into is the input/output mappings’ fields turn to blank after "Copy" function.
[Figure 10: Mapping problem-before (click image to enlarge)]
[Figure 11: Mapping problem-after (click image to enlarge)]
Or you may see the data mapping fields are not updated as expected even though you select the updated services or assets. This is a defect we fixed at version BPM 8.5.7 CF201609 and it’s caused by the limitation that the input/output mapping gets deleted during the copy. The APAR number is JR56261: Non default values set to a service's input mappings are deleted when service moves to a toolkit. For users who are still using any earlier versions, please upgrade to the latest BPM version and we’ve fixed it on all versions later than BPM 8.5.7 CF201609.
In addition, except for the major issues we discussed above, please make sure you are aware that the Copy behavior will generate a new snapshot at destination track, meanwhile, it will change the TIP snapshot of it. Also, as the name of snapshots and acronyms have to be unique across the tracks per process application, please make sure you name it appropriately.