gbif / ipt

GBIF Integrated Publishing Toolkit (IPT)
https://www.gbif.org/ipt
Apache License 2.0
126 stars 57 forks source link

Repeat roles, not people in metadata editor interface #1166

Open kbraak opened 9 years ago

kbraak commented 9 years ago

What feature would like to see being added to the IPT?

Since IPT 2.2, one can add more than one resource contact, resource creator[1], metadata provider and project personnel. In associated parties, this functionality has always existed. With all these (additional) places to add people involved in a dataset, even more contact information has to be repeated in the metadata editor interface. The interface currently provides only one shortcut for repeating information, which is to copy the information from the resource contact.

I think a better setup would be to have one page where people/associated parties can be added ONLY ONCE, but that different roles can be selected for them (e.g. resource creator, principal investigator, etc.). Some of these roles can be made mandatory (e.g. please indicate someone as the resource creator). Advantages:

[1]: As the resource creators are also includes as authors in the automatic resource citation (great!), we are currently moving people from Associated Parties to resource creators for our datasets, so they get the appropriate credit, hence my annoyance in having to copy everything. :-)

kbraak commented 9 years ago

peter.desmet@inbo.be: I assume the editor is populated from the eml, so the IPT could detect identical contact information and collapse to one contact with different roles in the interface. If the contact information differs, those become two contacts with a single role.

That makes it also easier to migrate from the current to a new version of IPT with this feature.

kbraak commented 9 years ago

Thanks for reporting this enhancement, I agree it would be a much better way of entering contact information.

peterdesmet commented 1 year ago

At https://github.com/gbif/ipt/issues/1360#issuecomment-1333994478 I proposed how one list of people (contributors) with different roles could be translated to EML were people are grouped by role:

The IPT could still offer to indicate roles for those contributors (e.g. contact). That can be expressed in EML by listing those people under a specific property for that role (cf. current implementation), but in addition to them being listed as creator. It also provides a way to migrate info in the IPT: make metadata editors, creators and contacts all contributors and remove duplicates.

mike-podolskiy90 commented 1 year ago

@peterdesmet Thank you for the suggestions

mike-podolskiy90 commented 1 year ago

@peterdesmet I'm sorry, but I'm not sure I understood your suggestions. Currently metadata sections reflect eml sections exactly (the same for all metadata fields). This means we have for example creator so it's stored to eml.creator[index] and so on. With the joined list we can't do that, so we need another approach.

peterdesmet commented 1 year ago

The idea would be to have a translation between the interface and EML:

  1. When the interface is loaded from EML: list all contributors in creator, metadataProvider and contact (and potentially associatedParty) as a single list and indicate the role they have. If a contributor is exactly the same across roles, join the information into one contributor and indicate the multiple roles they have.
  2. When the interface writes back to EML: do the reverse and split contributors with multiple roles again.
  3. The basic metadata section would throw an error if the required roles aren't represented.

Note that the main goal is to reduce the manual work involved in adding contributors. I (and likely many other IPT maintainers) have to enter the same contributor information a lot - across roles and across resources - and the IPT doesn't facilitate this work (except for copy resource contact). It is worsened by the fact that the moment you want to insert a contributor at a specific place (e.g. in an author list), you have to create a new contributor at the end, and then copy/paste all information one down to make room at the desired spot (see #1325).

Repeating roles, not contributors, as suggested above is just one approach. It doesn't solve the issue with facilitating repetition across resources however. Maybe a central contributor registry in the IPT would be better? Suggestions welcome! 😄

dbloom commented 1 year ago

I agree with @peterdesmet

In my mind it would be great to have a list of all contributors with associated contact info and IDs and the opportunity for each person to select one or more roles via radio boxes. Thus I could add Peter and his info once and then select him as Resource Creator, Metadata Provider, Point of Contact, and a Programmer. In the current configuration of the IPT, his name and info would be populated twice in the Basic Metadata section and once in the Associated Parties section. This example is not perfect, but I think it begins to paint a picture.

I've also wondered if we couldn't expand the use of the existing Administration>User Accounts registry to host an individual's contact info/IDs and as the location where an admin can provide access to specific resources and also the roles within each resource. Just thoughts.