nfdi4plants / archigator-backend

Archigator, a publicaton tool from Gitlab to Invenio
GNU Affero General Public License v3.0
0 stars 0 forks source link

[Feature Request] Restructuring of the publication page for a better overview #5

Closed CMR248 closed 1 year ago

CMR248 commented 1 year ago

For a better visualization and estimation of the font sizes find images below

Restructured Page image

Terms and Conditions/Authors list weren´t checked image

Tests failed image

(Part of) Zenodo Publication Page image

Zerskk commented 1 year ago

@omaus @HLWeil orcid and affiliation must be added to metadata.json , so that this items can be displayed on the webpage

omaus commented 1 year ago

@omaus @HLWeil orcid and affiliation must be added to metadata.json , so that this items can be displayed on the webpage

@Zerskk

We will provide email address, ORCID, and affiliation name but cannot provide affiliation ID since this has to be done by Invenio: image

To me, it seems like you'd need to implement a parser that crawls a CV for a specific name and then fills in the ID if the name exists, else... I don't know, creates a random ID and updates the CV?

CC: @kMutagene

kMutagene commented 1 year ago

For context, here is an overview of the current (as of 2023-07-11) validation and metadata creation pipeline:

Repos:

Jobs:

Note that arc-to-invenio only runs when arc-validate succeeds without critical tests failing

flowchart LR

arc[ARC on GitLab]

arc-export[["arc-export"]]
arc-validate[["arc-validate"]]
arc-to-invenio[["arc-to-invenio"]]

arc_json("arc.json")
arc_validate_result("arc-validate-results.xml")
arc_quality("arc-quality.svg ")
invenio_metadata("metadata.json")

arc --> arc-export --> arc_json

arc --> arc-validate 
arc-validate --> arc_validate_result
arc-validate --> arc_quality

arc --> arc-to-invenio --> invenio_metadata

Files:

Difference between arc.json and metadata.json

metadata.json contains only the fields required for creaing a json file adhering to the invenio rdm metadata json schema

arc.json is the serialized full arc datamodel. It is a superset of metadata.json, which in contrast only contains invenio-relevant metadata. Note that properties are also named differently in these two files, e.g.

arc.json:

"people": [
    {
      "lastName": "Weil",
      "firstName": "Lukas",
      "email": "weil@nfdi4plants.org",
      "affiliation": "RPTU",
      "comments": [{ "name": "Investigation Person ORCID", "value": "orcid1" }]
    }
]

vs. metadata.json:

"creators": [
    {
      "person_or_org": {
        "type": "personal",
        "name": "Weil, Lukas",
        "given_name": "Lukas",
        "family_name": "Weil",
        "identifiers": [
          { "scheme": "email", "identifier": "weil@nfdi4plants.org" },
          { "scheme": "orcid", "identifier": "orcid1" }
        ]
      },
      "affiliations": [{ "name": "RPTU" }]
    }
]

So in short, every information contained in metadata.json is also in arc.json, but arc.json can contain more metadata that is not relevant for the invenio record json schema.

I'd suggest retrieving all metadata that are not directly related to the invenio metadfata record from arc.json.

metadata.json should contain all information needed to fill the forms.

Zerskk commented 1 year ago

all tasks implemented, further review required