wellcomecollection / platform

Wellcome Collection Digital Platform
https://developers.wellcomecollection.org/
MIT License
48 stars 10 forks source link

Map of fields in Catalogue API to fields/Metadata objects in IIIF Manifests #4476

Closed tomcrane closed 3 years ago

tomcrane commented 4 years ago

The business of mapping MARC to JSON shapes isn't the concern of the DDS any more, the Catalogue API worries about that. But we still need to then make sure the IIIF Manifest fields are correctly mapped from the Collection API.

This includes fields that are used to generate other fields - Repository logo, for example (a path to an image served by DDS), is deduced from the contents of 535a, which has the repository name.

tomcrane commented 4 years ago

In other words...

What descriptive metadata do you want accompanying your IIIF resources out there in the world?

dee-mirador

Same as now? The DDS used to generate this from its own MARC mapping rules, but now it needs to map metadata provided by the Catalogue API - which will have already mapped MARC sensibly so it should be much more straightforward. But it's still a mapping of some sort that needs to be captured in code, and might not always be obvious. And could change (e.g., stop saying "Author(s)" and say "Contributors" for Henry Gillard Glindoni in the work above).

More generally, should the Manifest metadata look pretty much like the work page metadata? Same fields in the same order? https://wellcomecollection.org/works/nydjbrr7 In which case, the DDS should replicate the logic wc.org uses for the metadata.

TODO - a test page in the new DDS that dumps descriptive metadata for a given b number; we can use that to build up and test how we want to translate Catalogue API to what appears in the manifest independently of building the IIIF-delivery.

* https://api.wellcomecollection.org/catalogue/v2/works/nydjbrr7?include=identifiers,items,subjects,genres,contributors,production,notes,collection

See also #4471

tomcrane commented 4 years ago

For the Spike phase of current work:

This client just needs to demonstrate enough to tick the checkboxes above, without shaping the data into IIIF metadata, collections etc. See #4471 as well.

tomcrane commented 4 years ago

To avoid taking up too much time, we should have a first pass at this ourselves, then joint review. First pass aims to reproduce what we have now, with the possible exception of using "Contributor" to label the thing we label "Author". And obviously linking to the wc.org work page.

After our first attempt, review

tomcrane commented 3 years ago

There are some notes about this here:

https://github.com/wellcomecollection/iiif-builder/blob/master/docs/Altering-IIIF.md

No doubt this will need to be tweaked, but we could move this to closed for its first pass.

tomcrane commented 3 years ago

From Slack discussion with @jtweed :

https://digirati.slack.com/archives/CBT40CMKQ/p1611746859116400

We should get rid of the switch in https://github.com/wellcomecollection/iiif-builder/blob/master/src/Wellcome.Dds/Wellcome.Dds.Repositories/Presentation/MetadataBuilder.cs#L21

...and union all the fields together - a consistent set. (It's OK because empty values are ignored).