TimeXtender supports multiple environment deployments that allow developers to create separate environments for development, testing, and production. These environments can be comprised of separate instances that can then be related to one another.
This article clarifies the steps to configure and and utilize these environments as follows:
- Create the development, test, and production environments.
- Add separate instances to each of the environments.
- Perform Instance transfers between instances to promote changes to a higher environment.
The below diagram shows an example of how instances can be promoted to different environments.
Adding a New Environment
Before you add environments, it's a good idea to add your instances. While you can always add and remove instances from environments, it saves you a bit of time if you can include all the relevant instances in the environment when you create it.
Add a new environment:
- Navigate to Data estate > Environments and click Add environment.
- Name the environment and select the instances to include in the environment.
Edit an environment
You can edit environments after they have been made by clicking on the edit icon.
It will show the same menu as creating an environment, the only difference is the name of the menu as it is now called Edit environment.
Delete an environment
You can delete an environment as well. You do so by clicking on the Delete icon.
However, you can see that it is not possible to click on it. An environment cannot be deleted as long as it has instances assigned. If you want to delete an environment with instances, first remove the instances by editing the environment. Once the instances have been removed it will be possible to delete it.
Transfer Instances
When you transfer an instance, you move the metadata in the instance to another instance, making the destination instance a copy of the source. This enables you to move work through multiple environments from development to production, you can only transfer an instance to another instance of the same type, but the instances don't have to be part of different environments. The flow is slightly different when you transfer between ODX instances compared to data warehouse and semantic model instances. More on that below.
Note: You cannot transfer to an instance that has never been opened in TimeXtender Desktop since the metadata structure is created when the instance is first opened.
To promote changes from one instance to another, select the arrow next to the instance containing the changes that are to be promoted, and then select the target instance to promote to.
When transferring from DW instances you will need to select what ODX instance it will map from
The same procedure exists for the SSL instances, only here you point at a MDW instance instead.
Undoing a transfer (data warehouse and semantic models)
When you transfer a data warehouse or semantic model instance, it creates a new version in the "to" instance with the content of the "from" instance. If you need to undo the transfer, you can use the standard version system in TimeXtender to go back to a previous version.
To open an instance as the previous version and make it the latest version, follow the steps below:
- Open TimeXtender Desktop, right-click the "to" instance, and click Open Version... to open the Select Version window.
- In the list, click on the previous version and click OK.
- You can only save an instance if it has unsaved changes. Make an inconsequential change like renaming a table and then renaming it back, then click File > Save. A warning message - "You are about to save an earlier version of the instance as the latest version" - will appear.
Troubleshooting
Warning: During the transfer, the instances involved will be unavailable when data is being copied. Make sure that the instances are not being used for scheduled executions or development work during the transfer to prevent data loss or corrupted data.
Missing configuration when transferring instance
Make sure both source and target instances have similar mapped data source connections to proceed with the transfer.
Target instance has not been initialized when transferring instance
Open TimeXtender and then open the target instance to initialize the instance. Then navigate back to the TimeXtender portal and transfer the instance.