IQSS / IQSS/dataverse-frontend

Add Schema.org or Croissant metadata to header of Dataset view page

Open
#350 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

FY24 Sprint 26 GREI Re-arch pm.GREI-d-2.7.1 pm.GREI-d-2.7.2 Size: 10 SPA: Dataset page (View) Waiting
Dominant language
TypeScript
Stars
31
Forks
26
Avg merge
4d 13h
Merged PRs (30d)
4

Description

Currently the JSF Dataset page has schema.org info embedded in the header, which in the future may be replaced with Croissant. The SPA version of the page has to replicate this.
Here is what it looks like in the JSF Header:

<script type="application/ld+json">{"@context":"http://schema.org","@type":"Dataset","@id":"https://doi.org/10.5072/FK2/SCYB0O","identifier":"https://doi.org/10.5072/FK2/SCYB0O","name":"Testing embargo","creator":[{"@type":"Person","givenName":"Guillermo","familyName":"Portas","name":"Portas, Guillermo"}],"author":[{"@type":"Person","givenName":"Guillermo","familyName":"Portas","name":"Portas, Guillermo"}],"datePublished":"2024-03-14","dateModified":"2024-03-14","version":"1","description":"test","keywords":["Business and Management"],"license":"http://creativecommons.org/publicdomain/zero/1.0","includedInDataCatalog":{"@type":"DataCatalog","name":"Root","url":"https://beta.dataverse.org"},"publisher":{"@type":"Organization","name":"Root"},"provider":{"@type":"Organization","name":"Root"},"distribution":[{"@type":"DataDownload","name":"dataverse_files (2).zip","encodingFormat":"application/zip","contentSize":4540,"contentUrl":"https://beta.dataverse.org/api/access/datafile/26133"},{"@type":"DataDownload","name":"FilesIT.java","encodingFormat":"text/x-java-source","contentSize":154657,"contentUrl":"https://beta.dataverse.org/api/access/datafile/26132"}]}

The Dataverse API for getting this uses the exporter, for Schema.org:
https://beta.dataverse.org/api/datasets/export?exporter=schema.org&persistentId=doi:10.5072/FK2/SCYB0O
And for Croissant format:
https://beta.dataverse.org/api/datasets/export?exporter=croissant&persistentId=doi:10.5072/FK2/SCYB0O

To test rich results Search Google Rich Results

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the SPA Dataset view and compare its page header with the JSF Header behavior described in the issue. Review the Schema.org and Croissant exporter endpoints shown in the issue and determine how their metadata can be represented in the page header. Done means the SPA emits the requested dataset metadata and it passes the linked Google Rich Results test.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.