NASA-PDS / doi-ui

The web interface for the PDS DOI Service providing the ability management PDS archive DOIs. See the DOI Service for more details on the available capabilities. https://nasa-pds.github.io/doi-service/
Apache License 2.0
0 stars 4 forks source link

As a user, I want to search for a PDS identifier and associated metadata by DOI #33

Closed jordanpadams closed 3 years ago

jordanpadams commented 3 years ago

...so i can use the DOI in a citation or trace back from a DOI to an associated bundle, collection, or product LID/LIDVID

Details

Web page that displays all available DOIs in the PDS.

NOTE: As much as possible, let's try to replicate the search functionality implemented in the DOI UI.

UI

Here is a quick wireframe of what I am thinking about the UI layout. This will go at https://pds.nasa.gov/datastandards/citing/doi . Screen Shot 2021-03-11 at 6.23.44 PM.png

Search Functionality

Additionally, it should provide a basic search capability where a user can:

  1. enter a DOI and get the resulting associated DOI metadata
  2. enter a LID/LIDVID and get the results associated DOI metadata

    The LID or LIDVID can come in several forms:

    • bundle LID / LIDVID - urn:nasa:pds:<bundle_id>
    • collection LID / LIDVID - urn:nasa:pds:<bundle_id>:<collection_id>
    • product LID / LIDVID (for documents) - urn:nasa:pds:<bundle_id>:<product_id>

See DOI UI for how this is being handled over there for querying the the service.

Here is some logic for what I think needs to happen for the search:

For primary results at the top

if search by DOI / LID/ LIDVID not found:
    display "Exact match not found", and move onto related DOI section

For related DOI metadata (should include related DOIs even if an exact match is found):

if search by product LID / LIDVID `urn:nasa:pds:<bundle_id>:<collection_id>:<product_id>` not found:
    search for the parent collection DOI by removing the `<product_id>` from the LID/LIDVID: `urn:nasa:pds:<bundle_id>:<collection_id>`

if search by collection LID / LIDVID `urn:nasa:pds:<bundle_id>:<collection_id>` not found:
    search for the parent bundle DOI by removing the `<collection_id>` from the LID/LIDVID: `urn:nasa:pds:<bundle_id>`

if search by bundle LID / LIDVID not found:
    search for all child collections with `urn:nasa:pds:<bundle_id>:*`  # not sure if wildcards are possible through API

Technical Info

How to connect to the validation API:

ssh -L 8085:localhost:8080 pds-dev3

See http://localhost:8085/PDS_APIs/pds_doi_api/0.1/ui/

Dependent upon #25