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

Dataset summary, continued #115

Open
pdurbin opened this issue May 31, 2023 · 6 comments · Fixed by #118
Open

Dataset summary, continued #115

pdurbin opened this issue May 31, 2023 · 6 comments · Fixed by #118
Assignees
Labels
MVP Milestone 2 MVP Milestone 2: Add a Dataset pm.GREI-d-2.7.1 NIH, yr2, aim7, task1: R&D UI modules for creating datasets and supporting publishing workflows pm.GREI-d-2.7.2 NIH, yr2, aim7, task2: Implement UI modules for creating datasets and publishing workflows SPA: Dataset page (View)

Comments

@pdurbin
Copy link
Member

pdurbin commented May 31, 2023

Originally from a comment I left at #112 (comment), some items to follow up on after the original PR:

Screen Shot 2023-05-31 at 4 11 27 PM

@jggautier
Copy link

jggautier commented May 31, 2023

Is "Persistent Identifier" missing because it's not in the citation.tsv file?

And if that's the case, will other fields that aren't in the citation.tsv file but that appear in the Citation Metadata accordion (as of v5.13) be missing, too, like "Publication Date", "Citation Date", and "Previous Dataset Persistent ID"? Or are they missing because this screenshot is of a test dataset that's doesn't have metadata in those fields (like, it's not published, has no embargoed files and has no previous persistent ID)?

@GPortas GPortas added pm.GREI-d-2.7.1 NIH, yr2, aim7, task1: R&D UI modules for creating datasets and supporting publishing workflows pm.GREI-d-2.7.2 NIH, yr2, aim7, task2: Implement UI modules for creating datasets and publishing workflows SPA: Dataset page (View) MVP Milestone 2 MVP Milestone 2: Add a Dataset labels Jun 2, 2023
@GPortas GPortas moved this to Re-arch: SPA MVP (Guillermo) in IQSS Dataverse Project Jun 2, 2023
@MellyGray MellyGray self-assigned this Jun 2, 2023
@GPortas GPortas moved this from Re-arch: SPA MVP (Guillermo) to Clear of the Backlog in IQSS Dataverse Project Jun 9, 2023
@MellyGray MellyGray added the Size: 10 A percentage of a sprint. 7 hours. label Jun 9, 2023
@MellyGray
Copy link
Contributor

@jggautier You're right, we were only looking at the citation.tsv

I found this fragment in the JSF file with the fields you mention, so I'll add all of them to the SPA. Thanks!

<tr id="metadata_persistentId">
                                        <th scope="row">
                                            #{bundle['dataset.metadata.persistentId']}
                                            <span class="glyphicon glyphicon-question-sign tooltip-icon"
                                                  data-toggle="tooltip" data-placement="auto right" data-original-title="#{bundle['dataset.metadata.persistentId.tip']}"></span>
                                        </th>
                                        <td>#{globalId}</td>
                                    </tr>
                                    <tr id="metadata_alternativePersistentId" jsf:rendered="#{!empty altPID}">
                                        <th scope="row">
                                            #{bundle['dataset.metadata.alternativePersistentId']}
                                            <span class="glyphicon glyphicon-question-sign tooltip-icon"
                                                  data-toggle="tooltip" data-placement="auto right" data-original-title="#{bundle['dataset.metadata.alternativePersistentId.tip']}"></span>
                                        </th>
                                        <td>#{altPID}</td>
                                    </tr>
                                    <tr id="metadata_publicationDate" jsf:rendered="#{!empty publicationDate}">
                                        <th scope="row">
                                            #{bundle['dataset.metadata.publicationDate']}
                                            <span class="glyphicon glyphicon-question-sign tooltip-icon"
                                                  data-toggle="tooltip" data-placement="auto right" data-original-title="#{bundle['dataset.metadata.publicationDate.tip']}"></span>
                                        </th>
                                        <td>#{publicationDate}</td>
                                    </tr>
                                    <tr id="metadata_citationDate" jsf:rendered="#{!empty publicationDate and (publicationDate ne citationDate)}">
                                        <th scope="row">
                                            #{bundle['dataset.metadata.citationDate']}
                                            <span class="glyphicon glyphicon-question-sign tooltip-icon"
                                                  data-toggle="tooltip" data-placement="auto right" data-original-title="#{bundle['dataset.metadata.citationDate.tip']}"></span>
                                        </th>
                                        <td>#{citationDate}</td>
                                    </tr>

@MellyGray
Copy link
Contributor

MellyGray commented Jun 12, 2023

@pdurbin after checking all the missing points I have some comments:

For this point:

If the email should be hidden for privacy reasons then we need to asses this by extending the API and having an endpoint to get the dataset data without the email, otherwise I can hide the email in the frontend but anyone can intercept the api call made by js-dataverse and see the email.

A part from that, I was looking at the JSF code to get the ORCID link

  • ORCID there is no link (See also the [JSF side]

I'm treating metadataBlocks as black boxes since js-dataverse doesn't tell me anything about which specific metadataFields I can expect. And this is actually a great feature because it allows any customization of the metadataFields without altering the frontend.

But this means that from the frontend perspective 'I cannot know' that there is going to be an authorIdentifier field or any other specific metadata field. So having the ORCID link logic in the frontend doesn't make sense because I don't know that there is an authorIdentifier in the js-dataverse response.

The same happens for the message Use email above to contact, I need to know that a datasetContact is going to be retrieved by js-dataverse, which currently is impossible to know from the frontend perspective.

My suggestion is that we either treat citationMetadata as an explicit type, where the frontend can know what to expect from the citationMetadata, and then continue with the blackBox approach for the rest of the metadata fields. Or that we continue treating citationMetada as generic metadataFields, but in that case everything should be described by the tsvs in a generic way or retrieved by js-dataverse (ORCID link or email tip text)

Either way, I believe that the logic about the authorIdentifier link should be in the backend so any new frontend can use it

@MellyGray
Copy link
Contributor

MellyGray commented Jun 12, 2023

Some conclusions from the frontend meeting discussion:

  1. Persistent Identifier, Publication Date, Citation Date and Alternative Persistent Id
  1. For Author No separation between name, affiliation, identifier type, and identifier. Affiliation should be in parentheses.
  1. ORCID there is no link (See also the #7978: linking ORCID from the metadata tab. dataverse#7979)
  • We are going to handle this link creation in the backend so any new frontend can use it. We'll open an issue in the backend to extend the API to retrieve this ORCID link ( @GPortas )
  • Handle this link format in the frontend
  1. For Point of Contact
    For privacy reasons, the email should be hidden. Instead we mention a button (that doesn't exist yet in the SPA). See also https://guides.dataverse.org/en/5.13/installation/config.html#email-privacy
  • We need to handle this in the API, the email should not be retrieved for privacy reasons. We'll open an issue in the backend (@GPortas )
  • Handle the datasetContact in the frontend to display the message 'Use email button above to contact'

I leave to @GPortas the priorization of these new issues in the SPA MVP backlog and I'll try to handle the modifications to the frontend in this same issue

@cmbz cmbz added Size: 30 A percentage of a sprint. 21 hours. (formerly size:33) and removed Size: 10 A percentage of a sprint. 7 hours. labels Jun 13, 2023
@cmbz
Copy link

cmbz commented Jun 13, 2023

Resized to 33 during sprint to reflect new analysis.

@pdurbin
Copy link
Member Author

pdurbin commented Jun 13, 2023

If the email should be hidden for privacy reasons then we need to asses this by extending the API and having an endpoint to get the dataset data without the email, otherwise I can hide the email in the frontend but anyone can intercept the api call made by js-dataverse and see the email.

Yes, I agree. That would definitely be better.

Either way, I believe that the logic about the authorIdentifier link should be in the backend so any new frontend can use it

Yes, I agree with this too. Thanks for discussing after standup.

The conclusions look great. Thanks!

@MellyGray MellyGray linked a pull request Jun 14, 2023 that will close this issue
@GPortas GPortas removed the Size: 30 A percentage of a sprint. 21 hours. (formerly size:33) label Jun 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
MVP Milestone 2 MVP Milestone 2: Add a Dataset pm.GREI-d-2.7.1 NIH, yr2, aim7, task1: R&D UI modules for creating datasets and supporting publishing workflows pm.GREI-d-2.7.2 NIH, yr2, aim7, task2: Implement UI modules for creating datasets and publishing workflows SPA: Dataset page (View)
Projects
Status: No status
Development

Successfully merging a pull request may close this issue.

5 participants