Skip to content

Allow a plan to define multiple research outputs #2738

@briri

Description

@briri

Add a new Research Outputs tab similar to the one introduced by DMPOPIDOR. The user can then define outputs based on the expected info from the RDA common metadata standard.

The narrative portion of the DMP will remain unchanged at this point in time.

Each plan can have n datasets.

A new table called research_outputs should be created that contains information derived from the RDA common metadata standard it should contain the following columns:

  • *plan_id: fkey to plans table
  • *output_type: one of the following enum values from the DataCite metadata schema for resourceTypeGeneral (or a subset of this list: [audiovisual, collection, data_paper, dataset, event, image, interactive_resource, model, physical_object, service, software, sound, text, workflow, other]):
  • output_type_description (required if selected output_type is 'other')
  • format: mime type selector (filtered by output_type selection and perhaps not visible/relevant for certain selections like ‘Event’)
  • *access: one of the following enum values (default to ‘open’, options are: [open embargoed restricted closed]):
  • *title: string
  • abbreviation: string (added for compatibility with existing DMPOPIDOR field)
  • description: text
  • display_order: integer (added for compatibility with existing DMPOPIDOR field)
  • is_default: boolean (added for compatibility with existing DMPOPIDOR field)
  • release_date: date (perhaps default to project end date if defined)
  • personal_data: boolean (leaving nil equates to ‘unknown’)
  • sensitive_data: boolean (leaving nil equates to ‘unknown’)
  • preservation_statement: text
  • quality_statement: text
  • byte_size: stored as bytes but perhaps providing the user with the ability to specify MB, GB, TB and we convert to bytes in the code
  • mandatory_attribution: (sometimes the dataset owner has compulsory attribution which has to be added at the top of the dataset_citation
  • coverage_start: datetime (big data can be collected for very long time but the used dataset is only for some specific time period)
  • coverage_end: datetime (big data can be collected for very long time but the used dataset is only for some specific time period)
  • coverage_region: string (in the past I worked with cite specific datasets and each could be specific for some country)
  • mime_type_id: fkey to mime_types table

Also add a mime_types table that is populated via a Rails task/script that pulls down valid mime_types from https://www.iana.org/assignments/media-types. The table should contain the following columns:

  • category: string (the type of the mime_type without the sub-type ... e.g. 'audio' if the mime_type is 'audio/mp4'. This can be used to quickly fetch appropriate mime_types from within the ResearchOuput model based on the selected output_type (e.g. 'audiovisual')
  • description: string (the description of the mime_type which is often the same as the sub-type, e.g. 'mp4')
  • value: string (the full mime_type, e.g. 'audio/mp4')

License, Metadata Standard, Repository and Key Resource information will be obtained via external api services and stored in the identifiers table which will allow us to define [0..m] of each if desired. (Can convert the singular research_outputs.mime_type_id to the same if needed)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions