Dependency management is important when it comes to configuring Ooyala Flex Environments. Some objects in your source environment might reference (and be Referenced by) other objects. There are issues that can arise when Ooyala Flex objects reference one another, and you wish to move these objects over to your target environment.
Example: You could have a metadata definition that you wish to move over from your source environment to your target environment. That metadata definition might reference an action, and so you must take into account the relationship between the two.
The background process that takes place during every change request is as follows:
1) Delete: In the new target environment, Configuration Manager will execute the delete commands coming from Configuration Manager.
2) Add: Configuration Manager will add objects that have been promoted from the source environment. For example: a metadata definition and an action. These objects will then be created separately, and will have no relationship to each other at this stage.
3) Enable: The newly added objects are then enabled.
4) Resolve: Configuration Manager takes all the references for the objects coming from the source environment, and resolves in the local ID. In other words, the objects will be matched in the source and target environments.
5) Update New Objects: The UUIDs are then used to configure the objects in the target environment. The newly created objects are then updated with the references.
6) Update the existing Objects: Configuration Manager then executes the update command, and updates the existing objects in the target environment. These objects will now reference each other in the target environment.
Note: This is an internal process, and you will not see these steps taking place when you start a change request.
The order of execution to resolve dependencies for each object type is as follows:
- Account Properties
- Message Templates
- Event Handlers
- Metadata Definitions
- Timed Actions
- Workflow Definitions
- Player Definitions
- User Defined Object Types