Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set defaults for label, attribution, description field... #42

Closed
wants to merge 1 commit into from

Conversation

dnoneill
Copy link

@dnoneill dnoneill commented Sep 5, 2019

...add in metadata field.

@mnyrop
Copy link
Member

mnyrop commented Sep 10, 2019

Hi @dnoneill, can you provide some context for what this pull request is doing and why?

@dnoneill
Copy link
Author

dnoneill commented Sep 10, 2019

@mnyrop It basically populates the manifest. If the @iiif_config settings are not set for 'description' and there is a 'description' field in the metadata it will add the description field to the manifest. Same with 'attribute', 'label'. It will also take all the fields except manifest, thumbnail, full, pid, order, label, and layout and add them to the manifest's metadata field. This allows for the manifests to have metadata associated with them if they are used in other websites. Here is an example using the fork in this pull request: https://dnoneill.github.io/annotate/img/derivatives/iiif/spencer-davis-7ZpvOE2psxM-unsplash/manifest.json. The skipped fields can also be customized (see updated README)

@mnyrop
Copy link
Member

mnyrop commented Sep 10, 2019

Quick clarifying question: does this add new functionality that was not possible with iiif_config before? Or does it just pull information in without needing to configure it as before?

If it's the former, we can talk through options to incorporate new features. But if it's the latter, I'd need to float it by our maintainer group. We've really tried to make the _config.yml file serve as a guidebook for a given Wax site's data flows by having it explicitly describe where/how wax_tasks is getting its information. In other words, the config.yml should tell a story. While your PR makes total sense for most projects, pulling in fields implicitly/automatically seems contrary to our dev principles around transparency/control for Wax as a teaching tool.

Let me know if this does/doesn't make sense? I'll still pose it during the maintainers meeting since I'm not the sole arbiter of these things.

@dnoneill
Copy link
Author

dnoneill commented Sep 10, 2019

@mnyrop It does both. The metadata was not set before. I understand what you are saying in terms of transparency but I would also argue you are putting unnecessary burden on the user to set things like the label and attribution field especially if they have already set that information in the metadata with the same heading. It still allows for the fields to be set in the _config.yml file, but allows for a default if nothing is filled out. It also means that the manifest, which can often be hidden depending on the use case does not get populated with important metadata and information get lost. For collections that have a link the manifest a lot of metadata gets lost if the user want to use the image in something like Mirador.

@mnyrop
Copy link
Member

mnyrop commented Sep 11, 2019

These are good points, @dnoneill. I'll share them at next week's meeting.

@pbinkley
Copy link
Member

pbinkley commented Jun 2, 2020

👍 The ability to populate the metadata list would be a big step forward in providing rich reusable manifests. For future work, It would be nice to be able to override the default values for viewingHint and viewingDirection in the same way as label and description as well, so that multi-image items can be configured appropriately.

@mnyrop
Copy link
Member

mnyrop commented Jun 2, 2020

sorry for dropping the ball on this, all! i have outstanding questions about not cluttering the protected fields for metadata files, i.e., what if someone uses IIIF fields but doesn't mean them in a IIIF way? I think this could be handled with some thoughtful name-spacing, and any thoughts on this would be welcomed.

@pbinkley
Copy link
Member

pbinkley commented Jun 2, 2020

Perhaps something like:

import_fields:
  - label
  - description: summary
  - date: _date

Use the label field from the csv as the IIIF label; use summary in csv as description; etc. It enables the default behavior that @dnoneill wants just by listing the fields, but it also makes it explicit where the values are coming from. It also provides an easy way around the underscore on the date field, which you don't want to get into the manifest.

Copy link
Member

@pbinkley pbinkley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note there are typos in README.md, lines 104 and 108: iiif_config and skip_keys are the variable names, and should be replaced here by the yaml field names iiif and skipkeys, as used in

item.iiif_config = @config.dig 'images', 'iiif'
and 346a226#diff-efbf3abf280d43957864f8f12df9d161R98

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants