T2P (Test to Production)
Contents
Overview
The Test to Production (T2P) feature allows the tracking and promotion of configuration changes on a project-by-project basis. This allows teams to independently implement changes within a project and later promote those changes to another SmartSimple environment. For example, you can move changes from a dedicated development environment to a testing environment and then to a production environment. This new feature significantly accelerates the promotion of changes between instances, completing the process in a fraction of the time compared to the desktop tool.
Notes:
- This feature is only available to clients with dedicated environments.
- Configuration changes are promoted based on individual objects. For example, if two projects modify the same object (such as a report), both sets of changes to the object will be promoted when either project involving that object is promoted.
- Some data will not be promoted when T2P is run. This includes the details about the last and next run for autoloaders and scheduled exports, as well as associated organization IDs in signup pages and autoloader configurations. Other items that will not be promoted include SmartFolder content (except for System Folders) and Question Set Builder fields. Generally, if an item was not copied over, using the legacy desktop tool, it will continue to be excluded.
- This article pertains to the online version of T2P, not the desktop tool. The online version of the T2P tool is not the same as the Desktop version. Each functions a bit differently, and you can choose whichever one best suits your preferences for the time being. For example, the project-based T2P does not connect to both databases simultaneously. Instead, whenever a configuration change is made anywhere in the system, the change is logged as a candidate for promotion. You then export these changes to the target instance, where you can review and select which changes to promote. In a future release we plan to introduce the ability to roll back changes in the Testing environment for cases where you choose not to promote a change.
Logging Changes Against a Project
After this feature has been configured, you can start logging changes for a specific project by following these steps:
- Go to User Menu > Personal Settings > Other tab > Under T2P Project Assignment, select the desired project to track changes against.
- Click Save. An orange header will appear at the top of the screen that indicates that any changes to the system are being logged against the selected project.
- Make desired configuration changes. Click the Pause button in the header if you want to pause tracking changes against the selected project.
Exporting Changes to Another Environment
To export your changes to another environment, follow these steps:
- Go to Menu Icon > T2P
- On the Export tab, Select the project to promote under Projects.
- Check the desired export setting under Export Name.
- Review changes logged against project.
- (Optional) To include any other changes, check the desired rows under “Changes Not Logged Against This Project” and click the Move Non-Project Changes to Current Project button.
- (Optional) Use the “Show Exported Changes” toggle to display or hide changes that have already been exported, allowing you to view more or less information as needed.
- Click Export.
- Give the export a few minutes to run then click the Export History button just below the header. It looks like a clock with and arrow going counter clockwise.
Note: Changes promoted from a Development Environment are made from the Menu Icon > T2P > Export Tab. Changes promoted from Testing Environment to the production environment are done through an Export button on the Menu Icon > T2P > Import Tab.
Deleting a Change
You may optionally delete changes from the T2P Export tab, whether or not the change has been logged against a project. Deleting a change will prevent it from being promoted and remove it from the list, but it will not revert the change itself.
Change Not Logged Against This Project
This section lists changes that haven’t been associated with any project. To include a change in the current project, simply check its box and click the “Move Changes Into Current Project” button, represented by a curved arrow icon.
Importing Changes from Another Environment
To import changes within the target environment, follow these steps:
- Go to Menu Icon > T2P.
- Select the Import tab.
- Review the list of packages imported and their status.
- For any packages that have a status of Promotable, click the View button (has an eye icon) to view the details of the changes in the package.
- Check or uncheck any changes from this package that you want to import into your current environment and then click the Promote button to apply those changes. Note changes in the package are compared with what is configured on the target environment. Only the differences are listed on the compare page.
- Give the system a few minutes to run the promotion. The Status will update to Promoted and you can now test your changes on the test environment.
- (Optional) you may also view packages already promoted to get more details.
After testing in the test environment, if you're satisfied with the changes, you can promote the changes to your production environment. To do this, go to the Import tab where the list of packages is displayed, and click the Export button for Packages that were promoted to send the package to the next environment (example, from Test to Production).
In a future release we plan to introduce the ability to roll back changes in the Testing environment for cases where you choose not to promote a change to the production environment.
Configuration
Enable T2P
To configure and use T2P, you must first enable it by navigating to Global Settings > System and switching on the toggle.
Configuring Feature Permissions
To set up feature permissions for T2P, follow these steps:
- Go to Global Settings > Security tab > System Feature Permissions > Features tab.
- Under the Test to Production (T2P) - Access section, select which roles are allowed to choose a project under their personal settings and log configuration changes against a project.
- Under the Test to Production (T2P) - Manager section, select which roles are allowed to import and export the configuration changes from the Menu Icon.
- Click Save.
Creating a New Project to Record Changes
- Go to Global Settings > System tab > T2P Projects.
- Click the New Project button (looks like a plus sign)
- Fill in relevant fields and click Save.
- For Assigned Users, select which users will be allowed to add configuration changes to this project.
- When you're ready to begin tracking configuration changes, switch the Status to In Progress. This makes the project available to be selected from the user’s user menu under Personal Settings.
Configuring Export Settings
Export settings allow you to transfer configuration changes from the current environment to another environment. For example, you could move changes from the development to test environment and later from test to production environment. As part of this process, you'll need to configure the export settings in the current environment and the import settings in the target environment simultaneously.
- Go to Global Settings > System tab > T2P Export Settings on the source environment (Example: the testing instance).
- Click New T2P Export Settings (looks like a plus sign).
- Fill in relevant fields.
- Generate a key pair and Save
- Copy the public key. The public key will be used when setting up the import settings. You'll need to set up the import settings in the other environment now—see the instructions below. Please keep this window open so you can complete the setup once the import setup is complete.
- Toggle on Activate and Save.
Now you can begin promoting configuration changes between SmartSimple environments.
Configuring Import Settings
Import settings allow you to apply configuration changes to the current environment from another environment (Example: Apply changes sent from test to production).
- Go to Global Settings > System tab > T2P Import Settings on the target environment (Example: the production instance).
- Click the New T2P Import Setting button (looks like a plus sign).
- Fill in relevant fields.
- For Public Key click the edit button (looks like a pencil) and paste key generated in the export settings of the other environment.
- Toggle on Activate and Save
- Return to the Export settings in the other environment and ensure they have been activated and saved.
Now you may begin applying configuration changes made in another SmartSimple environment.
Viewing the Export History
To view projects that have been exported and their status, follow these steps on the source environment (Example: the testing instance).
- Go to Menu Icon > T2P > Export tab
- Click the Export History button located top left (looks like a clock with an arrow going counter clockwise)
Viewing the Import History
To view projects that have been Imported and their status, follow these steps on the target environment (Example: the production instance):
- Go to Menu Icon > T2P > Import tab
- Click the View button (looks like and eye) to see the contents of the package that were imported.
FAQ
Q: If I make multiple changes to the same report, will each change appear as a separate row in the export package?
A: No. If an update to the report is already included in the export package, additional updates won't create separate rows. Only one entry is shown per report for changes of the same type.
Q: What happens if I change a report that has already been exported?
A: If a report has already been exported and marked with the "Exported" flag as "Yes," any new change will reset the flag to "No" until that latest change is exported again.