Table Of Contents

  1. Table Of Contents
  2. General Description
  3. Necessary Rights for Export and Import
    1. Users who Can Export Projects
    2. Users Who Can Import Projects
  4. Where to Find The Functionality
  5. How to Export a Project
  6. How to Import a Project
  7. Boundaries and Current Constraints
  8. ZIP File Format

General Description

The Import/Export feature offers the possibility to export Projects and transfer them between instances by exporting them on one, and importing them on another instance. It's also possible to create a copy of a Project on a single instance. The biggest advantage is that the user can do this without support from DevOps. 

An example usage would be to have a 'draft' instance where some Projects can be created and managed. Then, when achieving good results, these Projects can be transferred to a 'main'/'clean' instance.


This is an advanced functionality. To use it efficiently, the user should be familiar with sharing resources and should at least differentiate between modules and instances.


Necessary Rights for Export and Import

Users who Can Export Projects

  • Super Admins, as they have all rights.
  • Domain Admins have authority on Projects belonging to the Domains that they manage. As a result they can export projects contained in these Domains.
  • Other users can only export Projects if they are the Project Owner.

Users Who Can Import Projects

Any user who can create a project inside the target Domain can import a Project.


Where to Find The Functionality

If the user has one of the roles mentioned in the previous section, the export and import functionality can be found at the following places.


The export functionality is found at the bottom of the action bar of the Project of interest.


The import functionality is found within the action bar in the overview page of the respective instance.



In both cases the user will be redirected to a new page with the following link: https://{{od-instance}}/transfer/ (Example: https://my-instance.teams.onedata.de/transfer/)


How to Export a Project

Go to the transfer page of your current instance either by button or URL (https://{{od-instance}}/transfer/). In the navigation bar on the left, select the export feature.


Then check if you are in the correct Domain.


The Domain from which a Project will be exported, can be modified by navigating to the top-right button of the page.
 

Select the Project to export. Within a Domain, to easily find the correct Project, the "Filter by modules" functionality can be used to narrow down the list of Projects.


There are some configuration fields under "Export Parameters".

  • Force lock of the Project (recommended): During the export procedure, resources within the Project are 'locked', so they can not be modified.
  • Include all versions referenced by other resources: Whether to include only the latest version of the resources (e.g. Workflows), or all of the versions.
  • Export Project without data: Whether to export all Data Tables or none of them.


When everything has been configured according to your needs, click the "Export" button. A small pop-up informs the user about the export starting and finishing. The Project will then be automatically downloaded as a ZIP format. For anyone interested, its structure is explained at the bottom of the article.


How to Import a Project

Go to the transfer page of your current instance either by button or URL (https://{{od-instance}}/transfer/). In the navigation bar on the left, select the import feature.


Then check if you are in the correct Domain.


The Domain to which a Project will be imported, can be modified by navigating to the top-right button of the page.
 



Select the target module from the drop-down.


Note that, depending on the selected module, some modifications will be introduced so that the imported Project fits in the module. An example would be that some resources get ignored.


Afterwards, choose a ZIP file using one of the two options and hit the "Import Project" button.



The user will then be informed by a small pop-up when the import procedure takes place and when it is done. The imported Project will be added to the selected Domain.



In some cases, importing a Project with specific resource dependencies can result in warnings. The user will then be informed about these warnings right after the import is done. The warnings can be downloaded in text format. These could be warnings about failed imports or resources that need adaptations, like File System Connections or Credentials.  


 

Boundaries and Current Constraints

  • Project transfer can only be done between compatible instances. They need the same ONE DATA version and the same configuration (config.properties) for aspects like for example cold plug Processors.
  • Before transferring Projects, FRTs within workflows have to be migrated to Data Tables.
  • Resources that contain a password, like keys or credentials, need further adaptations after importing them. Their current password is replaced with "test".


ZIP File Format

After the extraction procedure has successfully been executed, a ZIP file will be downloaded. This file has a specific format:


Every resource type is assigned a folder (data, models, productionLines, etc.).
There are two other JSON files:

  • exportedVersions: Information about the versions of the exported resources.
  • projectMeta: Some meta-information about the exported Project (id of original Project, name).

Within each resource folder we have a list of folders representing the resources that are included in the 'parent' folder. Each folder contains meta information of the selected resource and potentially other files. All files are in JSON format, which is very handy for the export procedure.