# Configuring Design Data Import & Export

If configured, Veeva LIMS allows users with the proper permissions to import and export design data between multiple Vaults.

Configuration of this feature consists of the following basic steps:

1. Ensure all existing Setup Data records have *External ID* values.
2. Ensure all existing Design Data have *External ID* values.
3. Ensure *Trace ID*s are synced.
4. Configure actions to import and export Design Data records.
5. Activate the *Import* tab and assign it to the appropriate permission set.
6. Provide *Access API* permissions to any non-Vault owner user.

For non-Vault owner users, reference [Non-Vault Owner Permissions][0] for more specific permissions considerations.

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: As of the 25R3 release, Design Data Portability ZIP files created prior to 25R3 can no longer be imported into Veeva LIMS. All ZIP files now include <em>Trace ID</em>s to facilitate the automatic creation of new versions during import. If needed, you can re-export Design Data to bring ZIP files up-to-date.</p>
    </div>
  </div>
</div>

 

## Ensuring Setup Data Records Have External ID Values

Each existing Setup Data record that can be referenced by Design Data must have its own unique value for the *External ID* (`external_id_v`) field. Veeva LIMS automatically assigns a value to this field for any object records created after the 25R1 release, but you may need to manually set a value for older records. This value must be the same in your source and target Vaults. This applies to the following objects:

* `asset__v`
* `asset_family__v`
* `lims_calculation_constant__v`
* `lims_calculation_constant_value__v`
* `lims_calculation_constant_value_version__v `
* `lims_consumable_svo__v`
* `lims_consumable_family__v`
* `lims_consumable_component_svo__v`
* `lims_data_class__v`
* `lims_integration__v`
* `lims_integration_parameter__v`
* `lims_lab_location_svo__v`
* `lims_lab_result_picklist__v`
* `lims_lab_result_picklist_option__v`
* `lims_label_definition__v`
* `lims_material_supplier__v`
* `lims_storage_condition__v `
* `product_variant__v`
* `product_family__v`
* `quality_material__v`
* `quality_related_material__v`
* `quality_unit_of_measure__v`

## Ensuring Design Data Records Have External ID Values

As with Setup Data, you must ensure that all Design Data records created before the 25R1 release have a unique value for the *External ID* (`external_id_v`) field. This value must be the same in your source and target Vaults.

## Setting or Updating External IDs

To easily update or set *External ID*s for all of your Setup and Design Data:


1. Use <a href="/en/gr/26597/">Vault Loader</a> to export the records you need to update from your source Vault.
1. In the resulting CSV file, enter or update *External ID* values as needed.
2. Import the edited CSV file back into your source Vault.
3. Repeat the above steps for your target Vault. Make sure that the *External ID* values match the corresponding values in the source Vault.

## Ensuring Design Data Record Trace IDs are Synced

In order to support the automatic creation of new versions during import, it is important to ensure that the *Trace ID* of a Design Data record is carried over during the import process. This step ensures that the system understands Design Data history and can assess when a previous version already exists. Prior to initial use, a Vault Admin should copy their target Vault configuration into their lower environment, creating a fully synchronized set of environments with matching *Trace ID*s. This step is a one-time activity for any existing environments. 

## Import and Export Action Configuration

After ensuring that all Design Data and Setup Data records have *External ID* values, the next step is to configure the necessary actions for Design Data Portability. First, navigate to **Admin > Configuration > Objects** and activate the *Export* action for the following objects:

* *Sample Plan*
* *Spec Data*
* *Test Definition*

Next, add the *Export* action to the *Effective* state of the objects' respective lifecycles:

* Sample Plan Lifecycle
* Spec Data Lifecycle
* Test Definition Lifecycle

## Design Data Loader Tab Configuration

The final configuration step is to activate the *Design Data Loader* tab: 

1. In your target Vault, navigate to **Admin > Configuration > User Interface > Tabs**.
2. Select **Design Data Loader**.
3. Click **Edit**.
4. Set the **Status** field to **Active**.
5. Set <a href="/en/gr/23516/#access-control">permissions</a> for the *Design Data Loader* tab.

## Non-Vault Owner Permissions {#non-vault-owner-perms}

### Export Permissions for Non-Vault Owners

If the user performing an export is not a Vault owner, the export process respects Atomic Security and verifies which objects and fields to which they have READ permissions. Objects and fields that lack permissions are ignored and omitted from the Design Data ZIP file. System fields (such as *Trace ID*) are automatically included to facilitate the importing process. 

### Import Permissions for Non-Vault Owners

If the user performing an import is not a Vault owner, the import process verifies that the user has CREATE permissions for all objects and fields within the ZIP file regardless of whether they exist in the source Vault. If the user is lacking any of these permissions, the import process fails. 

## Limitations

Design Data Portability has the following limitations:

* You cannot export Setup Data records using Design Data Portability. This must still be done via Vault Loader.
* You cannot export multiple Design Data records to a single ZIP file.
* You cannot export documents.
* Design Data Portability does not export the following fields and field types:
    * Custom object references
    * Lookup fields
    * Formula fields
    * `locked__v`
    * `prior_version__v`
    * Effective Start Date
    * Effective End Date
    * System_sys fields
* You cannot export cancelled Design Data records.
* You cannot configure actions in bulk or as Entry or Workflow.

[0]: #non-vault-owner-perms