Overview
The Test to Production (T2P) feature facilitates the tracking and promotion of configuration changes on a project-specific basis. This functionality enables teams to independently implement changes within a project and subsequently promote those changes to another SmartSimple environment. For instance, modifications can be transitioned from a dedicated development environment to a testing environment and ultimately to a production environment. This innovative feature significantly expedites the promotion of changes between instances, completing the process in a fraction of the time compared to the desktop tool.
Notes:
- This feature is exclusively 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 that object will be promoted when either project involving that object is promoted.
- Certain data will not be promoted when T2P is executed. This includes details regarding 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 (excluding 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 operates differently from the Desktop version. Each functions uniquely, allowing users to select the option that best suits their preferences. For instance, the project-based T2P does not connect to both databases simultaneously. Instead, whenever a configuration change is made anywhere in the system, it is logged as a candidate for promotion. Subsequently, these changes can be exported to the target instance, where users 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 instances where a change is not promoted.
Logging Changes Against a Project
Once this feature has been configured, you can begin logging changes for a specific project by adhering to the following steps:
- Navigate 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 indicating that any changes to the system are being logged against the selected project.
- Implement the desired configuration changes. Click the Pause button in the header if you wish to pause tracking changes against the selected project.
Exporting Changes to Another Environment
To export your changes to another environment, please 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 the changes logged against the project.
- (Optional) To include any additional changes, check the desired rows under “Changes Not Logged Against This Project” and click the Move Non-Project Changes to Current Project button.
- (Optional) Utilize 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.
- Allow the export a few minutes to complete, then click the Export History button located just below the header, represented by a clock icon with an arrow pointing counterclockwise.
Note: Changes promoted from a Development Environment are initiated from the Menu Icon > T2P > Export tab. Changes promoted from the Testing Environment to the production environment are executed through an Export button on the Menu Icon > T2P > Import tab.
Deleting a Change
You may optionally delete changes from the T2P Export tab, regardless of whether 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 enumerates changes that have not 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, please follow these steps:
- Go to Menu Icon > T2P.
- Select the Import tab.
- Review the list of packages imported and their status.
- For any packages marked as Promotable, click the View button (represented by an eye icon) to view the details of the changes contained within the package.
- Select or deselect any changes from this package that you wish to import into your current environment, and then click the Promote button to apply those changes. Note that changes in the package are compared with the configurations in the target environment, and only the differences will be displayed on the comparison page.
- Allow the system a few minutes to execute the promotion. The Status will update to Promoted, and you may now test your changes in the test environment.
- (Optional) You may also view packages that have already been promoted to obtain further details.
After testing in the test environment, if you are satisfied with the changes, you can promote the changes to your production environment. To do this, navigate 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 (for example, from Test to Production).
In a future release, we plan to introduce the ability to roll back changes in the Testing environment for instances where you choose not to promote a change to the production environment.
Configuration
Enable T2P
To configure and utilize T2P, it is necessary to first enable it by navigating to Global Settings > System and activating the toggle.
Configuring Feature Permissions
To establish feature permissions for T2P, please follow these steps:
- Navigate to Global Settings > Security tab > System Feature Permissions > Features tab.
- Under the Test to Production (T2P) - Access section, select which roles are permitted 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 authorized to import and export configuration changes from the Menu Icon.
- Click Save.
Creating a New Project to Record Changes
- Navigate to Global Settings > System tab > T2P Projects.
- Click the New Project button (represented by a plus sign).
- Complete the relevant fields and click Save.
- For Assigned Users, select which users will be permitted to add configuration changes to this project.
- When you are prepared to commence tracking configuration changes, switch the Status to In Progress. This will make the project available for selection from the user’s menu under Personal Settings.
Configuring Export Settings
Export settings facilitate the transfer of configuration changes from the current environment to another environment. For instance, changes may be moved from the development environment to the testing environment and subsequently from the testing environment to the production environment. As part of this process, it is essential to configure the export settings in the current environment and the import settings in the target environment concurrently.
- Navigate to Global Settings > System tab > T2P Export Settings in the source environment (for example, the testing instance).
- Click New T2P Export Settings (represented by a plus sign).
- Complete the relevant fields.
- Generate a key pair and click Save.
- Copy the public key. This public key will be utilized when configuring the import settings. You will need to establish the import settings in the other environment now—please refer to the instructions below. Keep this window open to complete the setup once the import configuration is finalized.
- Activate the Activate toggle and click Save.
You are now able to commence promoting configuration changes between SmartSimple environments.
Configuring Import Settings
Import settings enable you to apply configuration changes to the current environment from another environment (for example, applying changes sent from test to production).
- Navigate to Global Settings > System tab > T2P Import Settings in the target environment (for example, the production instance).
- Click the New T2P Import Setting button (represented by a plus sign).
- Complete the relevant fields.
- For Public Key, click the edit button (represented by a pencil) and paste the key generated in the export settings of the other environment.
- Activate the Activate toggle and click Save.
- Return to the Export settings in the other environment to ensure they have been activated and saved.
You may now begin applying configuration changes made in another SmartSimple environment.
Viewing the Export History
To view projects that have been exported and their status, please follow these steps in the source environment (for example, the testing instance).
- Navigate to Menu Icon > T2P > Export tab.
- Click the Export History button located at the top left (represented by a clock icon with an arrow pointing counterclockwise).
Viewing the Import History
To view projects that have been imported and their status, please follow these steps in the target environment (for example, the production instance):
- Navigate to Menu Icon > T2P > Import tab.
- Click the View button (represented by an eye icon) to see the contents of the package that was 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 will not create separate rows. Only one entry is displayed per report for changes of the same type.
Q: What occurs if I modify 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 changes will reset the flag to "No" until the latest change is exported again.