Skip to content

Publishing mechanism #60

@mishaschwartz

Description

@mishaschwartz

We would like to provide users with a mechanism that allows them to publish a workflow or data product (product) that they have created on a Marble node.

When a user wants to publish a product, it should be accompanied with some metadata that helps other users search for and use the product for their own research. Another user should also be able to recreate the product using the same steps as the original author.

Publishing requirements (note that this is not an exhaustive list, feel free to add to it):

  • author(s)
  • input data (description and provenance)
  • data description:
    • spatial/temporal extents
    • resolution
    • variables
  • steps to recreate data (eg. an accompanying workflow script or similar?)

The entire publishing mechanism should include:

  • a UI for users to request that their product be published
  • a UI for node administrators to accept, request changes, or reject a request
  • a (mostly automated if possible) process to publish the data on the THREDDS/geoserver server with metadata hosted on the STAC catalog.
    • this should be integrated with the data ingestion workflow project if possible

Suggested steps to take for this project:

  1. Research the following if you are not already familiar:

  2. Research/compile example of the sort of data and workflows that users may want to publish on Marble

    • you may want to do a literature review of climate research papers that have accompanying data products
  3. Compile a list of metadata that should accompany a published product

    • describe which metadata is: always required, required depending on the product type, optional
    • describe acceptable values for each metadata type
  4. Translate the metadata described above as a STAC extension(s) so that published products can be stored as a STAC entry

  5. Design the UI for users to request that their product be published

  6. Design the UI for node administrators to accept, request changes, or reject a request

    • requests for changes need to be communicated to the original requestor and there needs to be a UI for them to ammend their request and re-submit it for review
  7. Implement the UI for steps 5 and 6 above

  8. Write software that takes a data product (and accompanying metadata) once it has been accepted for publishing and:

    • makes it available through the THREDDS server (or similar as appropriate)
      • data can/should be shared through THREDDS or geoserver
      • workflows will probably need a different way of hosting them. Consider that workflows can be defined as jupyter notebooks, weaver jobs, cwl files, etc.
    • adds the metadata as an entry on the STAC API so that the new product is searchable

Deliverables:

  • Internal report describing steps 2 and 3 above
  • STAC extension(s) required to store published metadata (if needed)
  • a UI design (wireframe) for users to request that their product be published
  • a UI design (wireframe) for node administrators to accept, request changes, or reject a request
  • implementation of the two UI described above
  • software to publish the requested data (see step 8)

Participants/Roles:

  • Student (TBD): research and software development, UX design/consultation
  • Shruti Katkar: UX design and UX research assistance
  • Alex Yu: UI development, UI consultation
  • Steve Easterbrook: consult on metadata and publishing requirements

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions