nfdi4plants / web-components

DataPLANT branded web-components for diverse elements. Used in knowledgebase and main pages.
https://nfdi4plants.github.io/web-components-docs/
4 stars 3 forks source link

[Nfdi4Plants.Fornax] Author yaml structure #25

Closed Freymaurer closed 2 years ago

Freymaurer commented 2 years ago

So I am currently refining the yaml input while also working on #23 and #22. As already used in some knowledgebase documents, I think it's a nice idea to add github and/or orcid for authors, but now the question is how to manage this for multiple authors.

To keep this usable and not enforce some development standpoint i would really like to get some suggestions @Brilator @Martin-Kuhl .

Freymaurer commented 2 years ago

Some more info about possible solutions: https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html

# Employee records
- martin:
    name: Martin D'vloper
    job: Developer
    skills:
      - python
      - perl
      - pascal
- tabitha:
    name: Tabitha Bitumen
    job: Developer
    skills:
      - lisp
      - fortran
      - erlang
martin: {name: Martin D'vloper, job: Developer, skill: Elite}
fruits: ['Apple', 'Orange', 'Strawberry', 'Mango']
Brilator commented 2 years ago

I was also going to suggest list style, but must be clear how to handle missing values.

Galaxy training materials have different ways of handling maintainers and contributors (although not always same style).

See their contributors yaml and different tutorial.mds in topics.

Brilator commented 2 years ago

The galaxy training materials are overwhelming (hundreds of authors), but they actually have many helpful examples. Also regarding contribution, etc.

Freymaurer commented 2 years ago

We could see author as maintainer and handle contribution via a special contributer site and GitHub

Brilator commented 2 years ago

different ways of handling maintainers and contributors

Original idea to add author was (a) visibility (who wrote it) and (b) responsibility (who is supposed to moderate changes).

Brilator commented 2 years ago

We could see author as maintainer and handle contribution via a special contributer site and GitHub

you mean an overall contributor site similar to that on galaxy?

Freymaurer commented 2 years ago

you mean an overall contributor site similar to that on galaxy?

I have no idea how it looks on galaxy 😅 But i think we mean the same thing

Brilator commented 2 years ago

https://training.galaxyproject.org/training-material/

https://training.galaxyproject.org/training-material/hall-of-fame

Brilator commented 2 years ago

I mean, let's not overdo to begin with. Keep it simple, would this work (sorry, no good at yaml)?

authors:
    {
      name: Martin Kuhl
      github: martin-kuhl
    }
    {
      name: Dominik Brilhaus
      github: brilator
      orcid: https://orcid.org/0000-0001-9021-3197
    }
Martin-Kuhl commented 2 years ago

martin: {name: Martin D'vloper, job: Developer, skill: Elite} fruits: ['Apple', 'Orange', 'Strawberry', 'Mango']

I like this approach. Looks straightforward and easy to me with all necessary information.

In most cases I guess it will be one main author anyways. And wouldn't git contributions for the articles be sufficient at the moment?

Freymaurer commented 2 years ago

From my perspective anything above...

# only one author possible
author: My Name
author_github: github url
author_orcid: orcid id

... requires additional work

If we need multiple authors/maintainers, i could imagine something like this:

author: {name: Martin D'vloper, job: Developer, skill: Elite}
author: {name: John Doe, job: Developer, skill: Elite}
author: {name: Jane Doe, job: Developer, skill: Elite}

or

authors:
  Martin D'vloper: {job: Developer, skill: Elite}
  John Doe: {job: Developer, skill: Elite}
  ...

I would prefer the author: {...}, author: {...}, author: {...} implementation.

Freymaurer commented 2 years ago

We could even allow both cases here:

# in this case just add name
author: Dominik
# This case for more information
author: {name: Martin D'vloper, job: Developer, skill: Elite}
Freymaurer commented 2 years ago

Done like shown in the prev comment! 🎉