When using the Enterprise Toolkit to separate business units or functions into separate Environments, you may need to copy Screens, Data Sources, Docs or Folders to another Environment. It may be that you have created a common package of content which addresses a company wide need, or maybe you just need to copy across the "production" version of a Screen for editing and testing within a testing Environment. Fortunately, our platform provides a simple way to copy content from one environment to another.


You can even set copied content to be kept in sync with the original version, thus enabling you to maintain a single "master copy" which you can one-click update into the various environments that installed copies. All this functionality is available through our Repository area.



Adding Content to Your Repository

  1. Find the "Your Repository" page
    Each organization account under your control has its own Repository, accessible from the Menu drop-down by Enterprise Admin-level users. If you are logged into your Master account context, then you will enter the "Your Repository" page on clicking the Repository link off the Menu. If you are in an Environment account context, the Repository link first takes you to the "Your Installs" page, which shows the currently installed content in that account. Follow the "Your Repository" navigation link off this page.

  2. Add Content to your Repository
    Click the "Add Content" button, which will take you to the "Add Content to Repository" page. Fill out the fields to register your chosen Screen/Doc/Data Source/Folder, starting with choosing the "Item to List in the Repository." If you have multiple content items to add, the quickest way is to first set up a Folder which groups all the content together. Then you can simply add the Folder to your Repository; the system will automatically add all the content in that Folder to the Repository for you. The Keywords, Visibility and Category fields are not in use currently and can be safely ignored. Click the "Add Item" button to complete the registration of your content into the Repository.



Installing Content to Other Environments

Once you have added content, installation of the content is simple:

  1. Return to the Your Repository page.
  2. Use the checkboxes on the left of the listed content items to select the content you want to copy/install to other environments.
  3. Click the "Manage Installs" button, which will open a dialog window.
  4. Select the environments to which you wish to install.
  5. If you want to make these copies read-only in the target environments, be sure to tick the "Lock Target Copy" checkbox.
  6. Click the "Install" button to schedule the installation.
    The system will now execute the copy and installation process in the background; this can take up to several minutes to complete.
  7. When the installation is complete, you will see the content has appeared in the target installation environments.



Updating/Synchronizing Content to Other Environments

When you first add content to your Repository, the system registers the current Published version of any Screen or Doc involved. This allows you to create new versions of a registered Screen/Doc in your master copy account, test changes and publish these new versions within your master account, all without any impact on installed environments. The system does not automatically synchronize content when you publish a new version in your master copy account. We designed the Repository this way to prevent you from breaking or otherwise affecting installed copies in other environments. This enables you to fully test and iterate new versions in your master copy account until you are ready to update/install the latest Published version to other environments.


Once you are ready to update existing installations with your latest Published version, simply repeat the "Installing Content" instructions above. The system will automatically ensure that the current Published version of any Screens & Docs are installed during this action, whether those items be directly installed or indirectly via a Folder installation.


Copying Data Sources

When installing a repository item that features a data source with either the same name or same External ID as one in the target organization, by default the installation will fail and trigger a notification on the platform indicating the name conflict. If you wish to proceed anyway, you can check the box on the Manage Installs modal for "Ignore Issues (Force)."




This will not overwrite the old data source but will copy the new data source despite its having the same name as the other one - i.e., there will be two with the same name in the target org once the installation is complete.


Bear in mind also that any data source connectors present on the new data sources to be copied will not work unless the target organization has a corresponding connection set up. For example, a Google Drive connector on the new data source won't work unless the target org has the right Google connection set up with the same login credentials.



Tips and Tricks


1. Save time by using Folders to deploy groups of Screens instead of one by one. 
Simply add your Screens to a Folder in your master copy account, and then register the Folder into the Repository. This way you can install the Folder into your Environments, and this action will copy across all contents of the Folder.\


Note that any Folders you register into the Repository should not enforce user security, since these rules are not transferable between environments. If you make updates to Folder contents and wish to copy these across to Environments, then head to the Repository and install the Folder to the target environments again.



2. Use Global settings in your connector setups
Avoid needing to update connectors on the Screens or Data Sources that you install into Environments by using a common set of folder paths or Global values. For file-based connectors - e.g., FTP, Dropbox, etc. - the file name and folder path to the file will be copied as part of the Repository install.  As such, you should aim to use the same generic folder structure and file names for each of your Environments, using the Connection login details as a means of setting different roots for each client. E.g., set up a separate Dropbox account for each Environment, and then create the exact same folder and file name paths in each Dropbox account. Similarly with FTP, etc.


For REST- or URL-based connectors, make use of the various Global options found on the Organization Setup page to set up a unique global URL per client account. Then in relevant connectors - e.g., Forms REST connector or Data Source Hosted GET - use our {{GLOBAL}} syntax option to substitute some or all of the connector's target URL. E.g., {{GLOBAL}}/api/endpoint.