wellcomecollection / wellcomecollection.org

🪟 Wellcome Collection's website and services that support it
https://wellcomecollection.org
MIT License
39 stars 5 forks source link

Requesting: Display the physical items included in a work #6410

Closed pollecuttn closed 3 years ago

pollecuttn commented 3 years ago

What is it and who's it for?

When a researcher or library visitor interacts with an items work page, they need to clearly see what items are included in a specific work to guide them in knowing what items they need to request.

User story

As a library member I need to see where an item is lives So that I know if it needs to be requested

Acceptance criteria

Other considerations

alexwlchan commented 3 years ago

Examples

Single item, single closed location without shelfmark: https://api.wellcomecollection.org/catalogue/v2/works/zmtzwfmp?include=items

Single item, single closed location with shelfmark: https://api.wellcomecollection.org/catalogue/v2/works/unsu83kt?include=items

Single item, single open location without shelfmark: https://api.wellcomecollection.org/catalogue/v2/works/rva7zngc?include=items

Single item, single open location with shelfmark: https://api.wellcomecollection.org/catalogue/v2/works/xm69apdg?include=items

Single item, multiple physical locations: (No examples of this currently exist)

Single item with a mixture of physical/digital locations: https://api.wellcomecollection.org/catalogue/v2/works/r9kpkq8e?include=items

Multiple items, different physical locations: https://api.wellcomecollection.org/catalogue/v2/works/mtt2grge?include=items

Multiple items with a mixture of physical/digital locations: https://api.wellcomecollection.org/catalogue/v2/works/zf3mph5m?include=items

DominiqueMarshall commented 3 years ago
jtweed commented 3 years ago

I've been talking to @DominiqueMarshall about this and we agreed a next step to try and improve the layout of the info for items.

These are not fully resolved nor available in Zeplin, but are mocks from me in Dom's absence to show the direction. Let's start with spacing etc as per the standard typography and the headings/values as used for the rest of the work data. Everything should stack on mobile.

Open shelves examples:

Screenshot 2021-07-19 at 18 08 54

The coloured squares are inspired by the way finding signs in the library. These are only valid for open shelves items and there are five areas with four colours:

IMG_0032

This same pattern then extends out to more complex items, with request item button appearing only when the user is signed in:

Screenshot 2021-07-19 at 18 09 01

This generalises as follows:

Screenshot 2021-07-19 at 18 09 23
jtweed commented 3 years ago

One addendum to the above. Whilst we will ultimately only show the request item button when the user is signed in, for now we should always show it and use it to link to Encore.

We can then change this behaviour behind the sign in/requesting toggle as appropriate.

davidpmccormick commented 3 years ago

In order to get the colour squares, I'm thinking of checking for locationType.id === 'open-shelves' and then maybe looking for one of five string values in the label field (e.g. 'History of Medicine', 'Journals' etc.). Is there another (better) way of doing this with the data as it currently is?

Also, because the amount of space available in a 'row' can increase when you make a work page smaller (on account of the section headings moving above the content at the medium breakpoint), I would propose a slightly more fluid responsive setup where as-many-blocks-fit-as-possible, instead of being either fully spread out or fully stacked on desktop/mobile respectively.

jtweed commented 3 years ago

Yeah, I talked to @alexwlchan about that and we felt that at least for the first implementation and to see how people respond to it, that we shouldn’t add it to the API but do it in the front end exactly how you describe. Ie, look for one of the four known strings in location.label if it’s type open-shelves.

jtweed commented 3 years ago

On the responsiveness, Dom and I haven’t had a chance to think about actual sizing at all, so yep do what you think makes sense and we can always tweak a bit if needed. Keen to try another way of doing this, but get it up for feedback sooner rather than later.

alexwlchan commented 3 years ago

I’ve had a quick look through, these are the strings we currently have that look likely:

History of Medicine
History of Medicine Collection

Medical Collection
Medicine & Society Collection

Quick Ref. Collection
Quick Reference

Journals

Student Collection
Student Coll. (oversize)
Student Coll (Med Lit)
Student Coll. (ref only)

I’m not sure if:

I would match on all the strings above for now, but I'm thinking it'd be nice to put in some transformer logic so that the API returns the exact text that’s printed on signs in the library.

pollecuttn commented 3 years ago

Not all items in the Student Collection are available for loan, so I would assume those are different.

"Medicine & Society Collection" was a separate thing from the "Medical Collection". Pretty sure those should be different.

But @davidpmccormick you could double check those questions with #collections-info in Slack.

davidpmccormick commented 3 years ago

the broad division of Medical Collection and History of Medicine collection is coded in the BIB record location: either medc (medical collection) or homc (history of medicine collection).

https://wellcome.slack.com/archives/CGXDT2GSH/p1626881005204900?thread_ts=1626880787.204300&cid=CGXDT2GSH

Does that distinction make its way into the API (I think probably not)?

The question of how/when to use colour in the thread above has invited some more questions for consideration.

alexwlchan commented 3 years ago

Does that distinction make its way into the API (I think probably not)?

I'd have to check, but I don't think so – we use the item record locations, not the bib records.