Skip to content

Invenio Module for machine actionable-Data Management Plans

License

Notifications You must be signed in to change notification settings

SotosTsepe/invenio-madmp

Repository files navigation

invenio-maDMP

GitHub release (latest SemVer) https://img.shields.io/github/license/SotosTsepe/invenio-madmp

Invenio module that handles maDMPs

Features

  • Validating raw JSON or JSON file against RDA-DMP Common Standard schema and storing the important metadata
  • UI deposit form for file and metadata upload
  • Attaching file via UI to already existing record
  • Exporting Record Metadata as stored in Invenio as JSON raw text
  • Downloading json file according to RDA-DMP Common Standard schema

Installation

See Installation file

Usage

  • You can upload a machine actionable data management plan easily by making a POST request to the Invenio API: /api/madmp/upload

    Validation will first occur. If the maDMP validates against the RDA DMP Common Standard schema then
    the endpoint will be called that times, as many dataset objects you have stated in your maDMP.
    The logic here is that every dataset is considered as a different record.
    You can see the results by either making a GET request to Invenio's api/records/<record_id> or by
    searching the records in the User Interface. See API request screenshots.


  • You can attach a file to these records using the UI. See Attaching a file screenshots.

    Do bear in mind that the file should depict the metadata accordingly


  • Otherwise you can upload a file and its metadata using the UI deposit form located at /madmp/upload.


  • You can export a record's raw metadata as stored in Invenio or download a JSON file of the specific record's
    metadata according to RDA DMP Common Standard schema

Screenshots

Upload via API request

  • Making an API POST request to /api/madmp/upload using Postman:
    api_call

    • Response on success
      success

    • Response on (validation) failure.
      Here the ethical_issues_exist field was deleted from the sample file to demonstrate that the validation fails for a required field.
      Other failures consist of providing an empty file, incorrect structure, incorrect field values etc.
      failure

Note

You can find the sample file in examples


  • Getting result from Invenio's api/records/<record_id> making GET request:
    get_request
  • Getting results from Invenio's search UI:
    search
  • Displaying Record fields from Invenio's UI:
    record

Attaching file to record

  • First a small upload form will be rendered:
    attach_file

    • This view is login protected, so it won't be rendered, unless the user is logged in.
      login_required

  • In case it is successful, redirection to the same record will occur, showing the attached file.
    file_attached

Using the upload form

The deposit form provides the basic fields
form

Exporting data

Exporting consists of 2 parts:
  • Exporting the data as stored in Invenio rendered in a preformatted area export

  • Downloading them in a file with the RDA DMP Common Standard format download

Framework used

Invenio Software

License

MIT

Authors

See Authors file

About

Invenio Module for machine actionable-Data Management Plans

Resources

License

Stars

Watchers

Forks

Packages

No packages published