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 account 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 accounts that installed copies.


All this functionality is available through our Repository area.


NOTE: This document assumes you are familiar with Environment and Master account concepts.  If not, please review the other documentation found in the section as this article.



Adding Content To Your Repository

  1. Find the "Your Repository" page
    Each organisation account under your control has it's 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 into 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 setup 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 Accounts


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 accounts
  3. Click the "Manage Installs" button, which will open a dialog window
  4. Select the accounts that you wish to install to
  5. If you want to make these copies read-only and synchronized with your master copy, be sure to tick the "Keep In Sync" checkbox
  6. Click the "Install" button to schedule the installation.
  7. The system will now run the copy and installation process in the background; this can take up to 5 minutes to occur.
    Any errors will show in the Notifications area (under the little "bell" icon off your main menu)
  8. When the installation is complete, you will see the content has appeared in the target installation accounts.



Updating/Synchronising Content To Other Environments


When you first add content to your repository, the system registers the current published version of any screen or Document 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 without impacting 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 in 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.


How Connectors and Connections Are Handled


Connectors are installed if there are any present on the content being installed (i.e., Forms, Data Sources, Task Templates). However, any Connectors that require Connections that haven't already been added to the target account will need to be added and authenticated before the content containing Connector(s) is installed.


If there are multiple Connections of the same type, a Connector being installed won't know which Connection to use. Hence the installation will fail, and a force install will be needed. Thereafter, the Connector will need to be set to the desired Connection.


Tips and Tricks


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, then register the folder in 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 within 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 in the target environments again.



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 (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 Organisation 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




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, then register the Folder into the Repository.

This way you can install the Folder into your Environment accounts, 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 accounts.


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 accounts 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 Organisation 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