Creating configuration packages to export

Exported packages can be created and exported to a Network target environment, eliminating the need to do configuration updates manually.

Updating a target environment with configuration packages has the following benefits:

  • Ensures that the process is transparent, documented, and auditable.
  • Ensures that only authorized users can make deployments to target systems.
  • Manages the complexity of dependent configuration objects.
  • Ensures that deployments are non-disruptive to target system processes.

Considerations for primary fields

When configurations are imported to a target environment, Network Calculated primary fields can be duplicated if they have different names on the source and target environment.

Before you create a package, to prevent duplicate primary addresses or affiliations:

  • Ensure that any exported and imported Network Calculated primary fields have the same field name in source and target environments.
  • After importing a primary type field, ensure there are no other Network Calculated primary fields on the entity.

For more information about Network Calculated primary fields, see Network calculated primary affiliation and Network calculated primary address.

Create a new package

To deploy a set of configurations to a target environment, create an export package.

  1. In the Admin console, click Settings > Configuration Export.
  2. On the Configuration Packages - Export page, click Create Export Package.

  3. On the Create New Export Package page, define a name and a description for the package.
  4. In the Target Environment list, select the server to export the package to.

    The list is pre-populated with a list of available environments. Each environment on the same domain can be a source or a target environment at the same time, enabling bi-directional deployment of configurations.

    If the list contains targets that should not be available for package deployment (for example, POC environments), contact Veeva Support to request that they be removed from the list. Veeva Support can also manually add any target environments that are missing from the list.

  5. Select the configurations to export by expanding the nodes in the Available Configurations pane and moving your selections to the Selected Configurations pane.

  6. Add dependencies to the export package.

    When you move configurations into the Selected Configurations pane, the selections are validated to check for dependencies. When you select Veeva standard objects and custom objects, most dependencies are automatically added but custom data model fields are not. Also, when you add some feature configurations to your package, custom object dependencies are not added. For more information, see Custom object dependencies.

    If you remove configurations from the selection, the package must be validated again by clicking the Validate button.

  7. Click Export to deploy the package to the target environment.
  8. On the Confirm Export dialog, ensure that the target environment is correct. Click Proceed.

    The configuration package is transferred to the target environment, but the configuration is not applied to the target. The changes are only applied when the package is imported on the target environment.

  9. The Export Transferred dialog provides the status of the export, a summary of the package, and details for importing the package to the target environment. Click Done.

Next steps

See Importing configurations to learn how to import the package to the target environment.

Custom object dependencies

When you create an export package that contains custom objects, ensure that all the dependencies are included so your package is complete. Network does not validate the custom field dependencies or custom object dependencies when feature configurations (for example, Profile Layouts) are added to your export package.

Dependent custom object fields

In the Data Domains node, each custom object has the following configurations:

  • <name>__C
  • <name>__C Fields

The <name>__C Fields configuration contains any custom fields that you created for that custom object. Move the <name>__C Fields configuration, or expand the configuration and select individual fields to move into the Selected Configurations pane.

For example, if you want to export the STUDY custom object to a target environment. Select the STUDY__C configuration and any required fields from the STUDY__C Fields configuration and move them into the Selected Configurations pane.

Dependent custom object types

For custom object types, dependencies are automatically added to the export package. For example, a custom sub-object cannot exist without its linked custom object, so the custom object will be automatically added to the export package. Similarly, a custom relationship object cannot exist without the linking custom objects.

Data domains

There is an automatic dependency between all main objects and data domains. If you have a custom object in two different domains; both data domains are added when you move the custom object into the export package.

You can remove data domains from the export package as long as one data domain remains. This is helpful if you have data domains in your development environment that you do not want to export to production environments.

Note: If you remove all data domains from the package, when you click Validate Selection they will all be moved back into the package.

Custom object dependencies for feature configurations

If you include other feature configurations in the export package, custom object dependencies are not automatically included. For example, if you created a new profile layout for the STUDY custom object and you are exporting the layout to a target environment, ensure that the STUDY custom object is included in the package, or already exists in the target environment. The custom object is not automatically added to the package.

These feature configurations do not export the following dependencies:

Configuration Object Dependencies that must be manually added to the export package
Ad-hoc Match Configurations Custom fields, custom objects, custom sub-objects, custom relationship objects
Data Maintenance Jobs Custom fields, custom objects, custom sub-objects, custom relationship objects
Profile Validation Rules Custom fields, custom objects, custom sub-objects, custom relationship objects
Data Visibility Profiles Profile layouts
Default Match Configuration Custom fields, custom objects, custom sub-objects, custom relationship objects
Inbox Task Groups Custom reference values, custom objects
Merge Rules Custom objects, custom sub-objects, custom relationship objects
Network Address Inheritance Custom fields, custom reference values
Profile Layouts Custom fields, custom objects, custom sub-objects, custom relationship objects
Source Subscriptions Custom fields, custom objects, custom sub-objects, custom relationship objects
Target Subscriptions Custom fields, custom objects, custom sub-objects, custom relationship objects
Workflow Settings Custom objects

Review packages

After the configuration package has been exported to the target environment, it displays in the list on the Configuration Packages - Export page. You can review, download, and clone exported packages that are listed on the page.

Persisted packages can be opened so that you can review the package details. To open a package, click a package in the list.

All of the information on the details page is read-only. You can download the package using the Download button.

Downloading packages

Administrators can download .zip files of packages that have previously been transferred to a target environment. To download the package, click the Download icon .

Using a text editor to look at the JSON files, you can view the detailed configurations that the package contains. You can also compare the content of the package with the content of a second package, that was previously exported, by doing a line-by-line comparison in a third-party diff tool.

Cloning packages

If you want to use the same selection of configurations from a previous package and export it to the same or a different target environment, you can clone a package. Cloning is helpful for the following situations:

  • Deploy a configuration to two separate test environments.
  • Syncing the same target environment with updates in the current environment
  • Redeploying a package that failed. Deployment can fail if the target server was unavailable.

To reuse a package:

  1. In the package row, click the Clone icon .
  2. On the Clone Package page, the name, description, target environment and selected configurations are pre-populated with the values of the cloned package. Change any of the existing values, if required.
  3. Optional. Make any changes to the selected configurations.
  4. Click Export to transfer the cloned package to the selected target environment.