Using TS 7.4.1 on RHEL and the WFM
We have a branch structure such that each site has Development, QA and Production subbranches. Then workflows are used to move updates to the next environment or revert to a previous version. There are various rules and configurations for each environment like if approval is required and who is notified and what OD deployment to use etc.
I'm looking for a way to define the environment configuration in one location so that different workflows in each environment use the single configuration file.
After combing the documentation, I think I have three options:
- Use a InProcessJavaCommand class to manipulate the global variables before the job is created
The problem with this it that it doesn't appear that you can set or even access the global variables which I believe is where the config information should be placed so it can be used universally.
- Customize the initiation form of each workflow and use IWDatacapture.callServer to get the common data and then populate a bunch of hidden global variables
I think this would work but it doesn't seem elegant and seems a bit laborious. I think I would need to hook the init and then use callServer to get the config info but it's async so I would have to block access to the initiation form until the callServer call is complete.
- Possibly write a MapDataSource to expose the common settings and then use it for the various properties.
However, data sources seem to be used for multivalue things like an approver picker. I don't know how I would supply the key for the value that should be used.
Has anyone done anything like this and have suggestions ?
Can anyone clarify the restrictions above?
I thought the InProcessJavaCommand was the way to go until I discovered that you don't have "legal" access to the global variables and the predefined variables like IW_WORKAREA. You can get these values using workflow.getParams() to get the hashmap but the docs say "The user is not supposed to use this map.". Given that note, I didn't go as far as trying to set the values. I don't know if using it will be a problem in the next version....