Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

As a user, I want to search for a DOI and associated metadata by LID/LIDVID #25

Closed
tloubrieu-jpl opened this issue Feb 23, 2021 · 6 comments · Fixed by #38
Closed

As a user, I want to search for a DOI and associated metadata by LID/LIDVID #25

tloubrieu-jpl opened this issue Feb 23, 2021 · 6 comments · Fixed by #38
Assignees
Labels
B12.0 p.must-have requirement the current issue is a requirement

Comments

@tloubrieu-jpl
Copy link
Member

tloubrieu-jpl commented Feb 23, 2021

...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 As a user, I want to search for a PDS identifier and associated metadata by DOI #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::<version_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: # 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
Copy link
Member Author

tloubrieu-jpl commented Mar 12, 2021

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
Copy link
Member Author

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

@jordanpadams jordanpadams changed the title Develop a page with list of available DOIs As a user, I want to search for a DOI by LID/LIDVID or vice versa Mar 12, 2021
@jordanpadams jordanpadams changed the title As a user, I want to search for a DOI by LID/LIDVID or vice versa As a user, I want to search for a DOI and associated metadata by LID/LIDVID or vice versa Mar 12, 2021
@jordanpadams
Copy link
Member

@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 jordanpadams added requirement the current issue is a requirement and removed requirement-needed labels Mar 12, 2021
@jordanpadams jordanpadams removed this from the 05.Gail.Devers milestone Mar 16, 2021
@jordanpadams jordanpadams changed the title As a user, I want to search for a DOI and associated metadata by LID/LIDVID or vice versa As a user, I want to search for a DOI and associated metadata by LID/LIDVID Mar 18, 2021
@jordanpadams jordanpadams added p.must-have and removed enhancement New feature or request labels Mar 23, 2021
@jordanpadams jordanpadams added this to the 05.Gail.Devers milestone Mar 23, 2021
@jordanpadams
Copy link
Member

@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
Copy link
Member Author

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

@tloubrieu-jpl
Copy link
Member Author

@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 ?

@jordanpadams jordanpadams added B12.0 and removed B11.1 labels Apr 1, 2021
@jordanpadams jordanpadams removed the doi label Apr 1, 2021
c-suh pushed a commit that referenced this issue Apr 20, 2021
- Change default view from Release/Reserve to table of all identifiers
- Allow search by DOI or LIDVID
- Show associated identifiers (with placeholder function for pending
  wilcard queries with API)
- Link to appropriate action for any listed identifier
- Change Node input to select-dropdown for Release view

Partially addresses #25
Partially addresses #33
c-suh pushed a commit that referenced this issue Apr 20, 2021
- integrate with API's new wildcard search
- consolidate similar components to display search results

Resolves #25
Resolves #33
c-suh pushed a commit that referenced this issue Apr 26, 2021
Also included:
- fix bug when switching back to View
- update Reserve to use dropdown for nodes
- update Release to handle instances of no metadata for reserved item

Mini-tasks for #25
Mini-tasks for #33
c-suh pushed a commit that referenced this issue Apr 26, 2021
…terms

- also, correct assignation of custom *NotFound errors

Part of #25
Part of #33
c-suh pushed a commit that referenced this issue Apr 27, 2021
- Fix sort by update_date for display order of data
- Insert generic link for DOI if status is 'Reserved' (none currently)
- Use placeholder text in search bar
- Label table of related/all DOI items

Fully resolves #25
Fully resolves #33
c-suh pushed a commit that referenced this issue Apr 29, 2021
- correct status 'Released' to 'Registered'
- make error handling on Release page more robust
- simplify and consolidate conditional rendering on Release page

Continuing #25
Continuing #33
tloubrieu-jpl pushed a commit that referenced this issue Apr 30, 2021
* Create 'page' to search by and list all identifiers

- Change default view from Release/Reserve to table of all identifiers
- Allow search by DOI or LIDVID
- Show associated identifiers (with placeholder function for pending
  wilcard queries with API)
- Link to appropriate action for any listed identifier
- Change Node input to select-dropdown for Release view

Partially addresses #25
Partially addresses #33

* Allow for search with partial identifiers (wildcard search)

- integrate with API's new wildcard search
- consolidate similar components to display search results

Resolves #25
Resolves #33

* Update View tables to use buttons and include title

Also included:
- fix bug when switching back to View
- update Reserve to use dropdown for nodes
- update Release to handle instances of no metadata for reserved item

Mini-tasks for #25
Mini-tasks for #33

* Submit search with 'Enter' and correct handling of incomplete search terms

- also, correct assignation of custom *NotFound errors

Part of #25
Part of #33

* Add misc improvements for ViewData (landing page)

- Fix sort by update_date for display order of data
- Insert generic link for DOI if status is 'Reserved' (none currently)
- Use placeholder text in search bar
- Label table of related/all DOI items

Fully resolves #25
Fully resolves #33

* Update status and error handling for new test data

- correct status 'Released' to 'Registered'
- make error handling on Release page more robust
- simplify and consolidate conditional rendering on Release page

Continuing #25
Continuing #33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B12.0 p.must-have requirement the current issue is a requirement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants