Administer > Administer Service Management > Dev2Prod - Synchronize your development and production tenants

Dev2Prod - How to synchronize your development and production tenants

The Package Manager enables you to export configuration data from your development tenant and import the data onto your production tenant. These are resources that cannot be updated directly on your production tenant (except for resource bundles).

The following resources are exported:

  • User-defined fields (metadata), not including user options
  • Form layouts
  • Workflows
  • List enumerations, not including user options
  • Notification templates
  • Roles
  • Custom actions
  • Localization resource bundles (related to notification templates, user-defined fields, list enumerations, and so on)

Note  

  • To perform this task, you must have the Tenant Admin role. For more information about this role, see Default roles. Service Management is unavailable to the users who are not Tenant Admin during the import process.

  • Before the export/import procedure, ensure that the changes on the development tenant have been thoroughly tested.

  • Important! If you are working with both development and production tenants:

    • Develop customizations, and perform testing and verification on the development tenant only.

    • No development should be done directly on the production tenant.
    • Export configuration changes from the development tenant and import to the production tenant.

Dev2Prod Limitations

Dev2Prod synchronization has the following limitations:

  • It is recommended to leave your browser open until the export/import procedure is complete and you have received the results of the procedure. If you closed your browser, contact Support for the results.

  • To ensure that you are importing the latest data from the development tenant to the production tenant, export the data just before importing it to the production tenant. Attempting to import an older version of exported data might result in import failure due to inconsistencies.

  • Dev2Prod is not supported for hybrid tenants.
  • User options are not exported. To keep the tenants synchronized, any changes made to user options must be made on both the development and production tenants.

  • If inconsistencies are found during the synchronization, they are treated as follows:

    Data Inconsistency in If inconsistent
    User-defined fields in records Enable sort Source overwrites target
    Read only Source overwrites target
    Hidden Source overwrites target
    Logical type Causes import process to fail
    Reference Causes import process to fail
    Enable search Causes import process to fail
    Enforce uniqueness Causes import process to fail
    Required Causes import process to fail
    Lists Target contains list value that does not exist in source (list value in source removed) Causes import process to fail
    List value order Causes import process to fail
    List values Value icon Source overwrites target
    Workflow definitions All

    Source overwrites target.

    This may cause inconsistencies in data in case the new workflow is inconsistent with existing data.

    For example, if a new validation rule was added to enforce a field’s value to be set (mandatory field), all records whose value for that field is empty, might return an error when updated.

    Form layout definitions All Source overwrites target.
    Notification templates All Source overwrites target.
    Roles All Source overwrites target.
    Custom actions All Source overwrites target.
    Resource bundles All Source overwrites target.

Synchronize the configuration data between your development and production tenants

Note Before synchronizing the configuration data between your tenants, it is recommended to run a simulation of the synchronization and review the results. Follow these steps:

  1. Log into Service Management as the production tenant.

  2. From the main menu, select Administration > Utilities > Package.

  3. Click Simulate import.

  4. If there is a problem importing any part of the data, an error message is displayed. Click the Details link in the error message. An error report opens detailing each of the problematic issues.

    If there are no problems with the imported data, you can proceed with the actual synchronization.

  1. Log into Service Management as the development tenant.
  2. On the development tenant:

    1. From the main menu, select Administration > Utilities > Package.
    2. Click Export. A window opens and displays the progress of the export process.

      The following resources are exported:

      • User-defined fields (metadata), not including user options
      • Form layouts
      • Workflows
      • List enumerations, not including user options
      • Notification templates
      • Roles
      • Custom actions
      • Localization resource bundles (related to notification templates, user-defined fields, list enumerations, and so on)

    3. When the export process is complete, you are prompted to save the exported package bundle. Enter a name for the exported package bundle file (.pkb), and click Save.

      Note If your browser is configured to save files automatically to the default download directory, you are not prompted to save the file. You can access the package bundle file .pkb file in the browser's default download directory.

  3. Log out of the development tenant.
  4. Log into Service Management as the production tenant.
  5. From the main menu, select Administration > Utilities > Package.
  6. Click Import.
  7. Select the package bundle (.pkb) file created above and click Open.

    A window opens and displays the progress and statistics of the package import process (the process may take a long time). The data is imported and integrated into the production tenant.

Note If there is a problem importing any part of the data, an error message is displayed, and the tenant is restored to the original configuration. The issues that arise are usually related to conflicts between the two tenants.

To view the errors, click the Details link in the error message. An error report opens detailing each of the problematic issues.

If the whole import fails, click the Details link for more information. The import might fail due to connection issues, timeout, incorrect import file, and so on.