Publishing a Data Package

Publishing a data package in the EDI Data Repository can be done manually via the EDI Data Portal, or programmatically using the EDIutils R package or the REST API. Across these three methods, the same general pattern is always followed: login, reserve a data package identifier, evaluate the data package, and publish the data package.

We recommend creating a test version of a data package for review before publishing the final version.

Uploading a data package to the EDI Data Repository requires an EDI account. Other methods of authentication (e.g. Google, ORCID, GitHub) do not allow upload. Most data authors don't upload directly to the EDI Repository but rather publish via the EDI Curation Team.

EDI Data Portal

The process of publishing via the EDI Data Portal is covered in detail in this video and is outlined below:

Login

From the Data Portal, click the Login button and enter EDI account credentials.

Reserving a data package identifier

Access the Data Package Identifier Reservations button in the TOOLS dropdown menu. Click the Reserve Next Available Identifier(s) button to create the reservation.

Add the reserved identifier to the EML metadata document of the data package to be published. Identifiers can be added in the Data Package ID tab of ezEML or provided as the argument to the package.id parameter of the make_eml() function in EMLassemblyline.

Evaluating the data package

Navigate to the Evaluate/Upload Data Packages page:

  1. Choose File - Browse and select the EML file to be evaluated
  2. Unless every data object in the EML file is associated with static data links, select the checkbox next to Manually upload data… to allow manual upload.

  3. From the manual uploads page, choose the files to upload for the data package and click the Evaluate button.

Be aware that the length of the evaluation process increases with the size of the data being evaluated. Once the process has begun, the browser window can be closed without interrupting the evaluation. Use the EDI Dashboard PASTA is Working On feature to see when evaluation has completed. The evaluation report can be viewed from the View Evaluate/Upload Results page.

Publishing the data package

Navigate to the Evaluate/Upload Data Packages

  1. Choose File - Browse and select the EML file to be uploaded.
  2. Unless every data object in the EML file is associated with static data links, select the checkbox next to Manually upload data… to allow manual upload.

  3. Confirm that upload to the EDI Data Repository.

  4. Select files for manual upload and click the Upload button.

  5. At the Evaluate/Upload Results page, if the upload was successful, the data package identifier will be linked to the newly published data package landing page.

Be aware that the length of the evaluation process increases with the size of the data being evaluated. Once the process has begun, the browser window can be closed without interrupting the evaluation. Use the EDI Dashboard PASTA is Working On feature to see when evaluation has completed. The evaluation report can be viewed from the View Evaluate/Upload Results page.

EDIutils

Publishing with the EDIutils R package allows each step of the process to be executed from an R environment. For a language-agnostic solution, see the REST API documentation for Create Reservation, Evaluate Data Package, and Create Data Package.

To publish with EDIutils all data objects must be associated with static data links.

Login

Use the login() function with EDI account credentials.

Reserving a data package identifier

Use the create_reservation() function to reserve the next available identifier in the specified scope and repository environment.

Evaluating the data package

Use the evaluate_data_package() function to begin the evaluation process. See evaluating a data package for details.

Publishing the data package

Use the create_data_package() function to publish the data package in the EDI Data Repository.

This function returns a "transaction identifier" which can be passed to check_status_create() to determine the status of the publication.