Details about how EPX migrations are managed.
Migrations in EPX are managed from the EPX Design Console using its Import/Export utility.
The Import/Export Utility allows for the following types of objects to be migrated:
- Server Properties – mostly environment-specific settings that should only be migrated as a form of backup, not to transfer to the target environment
- Users – interactive workflows require EnterWorks users to be defined in EPX. However, since there is a process for syncing the EnterWorks users with EPX, it is generally not necessary to migrate users directly
- Groups – groups are predefined and are not associated with EnterWorks Groups and don't need to be migrated.
- Roles – roles determine who can participate in workflows at each step. Some may match EnterWorks Groups. The roles do need to be migrated but they will be included with any workflow that is migrated (if the role is not already defined in the target). Therefore, are generally not explicitly selected. If an existing role is migrated, the assigned users from the source will replace the assigned users in the target. These are often entirely different groups.
- Work Item Types – work item types are used to define the input fields on the Save and Send forms. They must be explicitly migrated if they don't exist on the target. If an existing work item type is updated on the source, it may need to be explicitly migrated, separately with the Overwrite option when the collision is reported.
- Process Flows – the process flows need to be deleted on the target before migrating replacements. There is an intended function to support migrating existing workflows with active work items (and transferring those work items from the old flow to the new version), but it is currently non-functional. Any active work items need to either be completed or purged before the old workflow can be deleted.
- Subflows – similar to Process Flows, the subflows must also be deleted before replacements can be migrated. But to delete a subflow, all Process Flows and subflows that call it must also be deleted. There is an intended utility (created by Professional Services) that facilitates deploying new versions of Subflows with active work items but it is currently non-functional.
- Personal Subflows – personal subflows have the same requirements as Subflows.
- Box Profiles – box profiles can be used to define the columns a user sees in their active work item list on the Worklist Task Manager page (not the My Active Work Items widget)
When generating a migration file (export), the EPX Import/Export tool includes all dependency objects in the file. For example, if the Scheduled Export Process workflow is exported, the export file will contain not only the Scheduled Export Process workflow, but the EnableWorkflowInitiators role and the users assigned to that role.
When this workflow migration file is imported into a target EPX server, any dependency object that is not defined will be added automatically. If the object already exists, the EPX Migration tool will report a collision and the administrator will need to decide whether the object is to be overwritten or skipped.
Under most circumstances, the Skip All option should be selected if the listed object was not selected for import. For example, each workflow with manual activities identify a user or role as the actor - the collision indicates these objects already exist in the target environment so they should not be overwritten from the import file. If the collision object was selected for import, then the intention is to overwrite it. Therefore, the Overwrite object button should be clicked. This is because overwriting the existing object will completely overwrite the current settings. For objects like Roles, this means all of the users who are assigned to the role in the target environment will be replaced with the users assigned to the role in the source environment which will not likely be the same set of users. If the colliding object is a process flow or subflow, the overwrite option will actually create a new process flow or subflow with the text "Migrated" added to the name. The details for updating process flows and subflows are defined below.
One of the rare times Yes should be selected on the collision prompt is if migrating an updated work item type or migrating a Role in which the assigned users does need to be migrated to the target EPX.
When Migrating an EPX process flow and/or subflow to a target where either the workflow/subflow are new or where there are no active work items in those workflow/subflows on the target, the recommended best practices is to delete the existing process flow/subflows on the target (purging any work items first) and importing the replacements into the target.
If the processflow and/or subflow being migrated already exists in the target system AND has active work items that cannot be purged, the existing workflows need to be renamed (to avoid a collision with the new ones being migrated) and the new ones imported. The work items in the old versions will continue processing until completion but new work items will only be created on the new workflow. If the work items in the old workflow need the behavior defined in the new versions, those work items must be stopped and recreated in the new workflows.