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 DOI and associated metadata by LID/LIDVID #25

Closed tloubrieu-jpl closed 3 years ago

tloubrieu-jpl 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.

Initial State

This page should appear as the landing page for the DOI UI. From this page, it should display a table of all PDS DOIs, ordered by latest update date.

Screen Shot 2021-03-22 at 5.40.23 PM.png

Search

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-22 at 5.41.38 PM.png

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

  1. (this ticket) enter a LID/LIDVID and get the results associated DOI metadata
  2. (see #33) enter a DOI and get the resulting 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>:<collection_id>:<product_id>
    • LIDVID - `LID::

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: # currently wildcards are unsupported by API
    search for all child collections with `urn:nasa:pds:<bundle_id>:*` 

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/

tloubrieu-jpl commented 3 years ago

How to connect to the validation API:

ssh -L 8085:localhost:8080 pds-dev3

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

tloubrieu-jpl commented 3 years ago

@tloubrieu-jpl need to check if the UI and API can be used with LID only criteria

jordanpadams commented 3 years ago

@c-suh I've updated the ticket with more details. let me know if you have any more questions.

@tloubrieu-jpl take a look and let me know if there is anything else you can think of.

jordanpadams commented 3 years ago

@c-suh i think we are ready to start working on this. take a look at the wireframes and some of the info provided and let's chat if there are some issues you are looking to address. the wireframes are very clunky but hopefully give you an idea what we are looking for.

tloubrieu-jpl commented 3 years ago

@c-suh will go-on with it today and go on tomorrow.

tloubrieu-jpl commented 3 years ago

@c-suh for the related doi cases, on pds-dev3 you can use:

Case 1: lid=urn:nasa:pds:insight_cameras:calibration:product_x

should return as related doi: collection: urn:nasa:pds:insight_cameras:calibration

Case 2: search for lid: urn:nasa:pds:lab_shocked_feldspars:calibrated:product_z

should return ,as related doi: collection: urn:nasa:pds:lab_shocked_feldspars:calibrated bundle: urn:nasa:pds:lab_shocked_feldspars

Case 3. search for collection lid: collection urn:nasa:pds:lab_shocked_feldspars_21:calibrated shoud return: as exact match: the collection urn:nasa:pds:lab_shocked_feldspars_21:calibrated as related doi: the bundle urn:nasa:pds:lab_shocked_feldspars_21

Question for @jordanpadams, how would that make sense to manage versions (vid) here ? Should we ignore them in the search criteria for now ?