IIIF / cookbook-recipes

For working on the recipes
https://iiif.io/api/cookbook/index.html
36 stars 32 forks source link

Dealing with Missing images #283

Closed glenrobson closed 7 months ago

glenrobson commented 2 years ago

Recipe Name

Missing images in sequence.

Use case

I have a manuscript which has an image missing. I want to included a canvas with some content to show the user that there should/could be an image there and also make sure the recto/verso paged functionality isn't thrown due to this missing image.

See this example: https://github.com/IIIF/api/issues/33

regisrob commented 2 years ago

Live examples in Mirador 2 (manuscripts with missing pages represented as empty canvases): https://demos.biblissima.fr/florus/florus-dispersus/mirador/ https://demos.biblissima.fr/bbmn-1713/mirador/

kirschbombe commented 2 years ago

Thanks for the example links, @regisrob! I used the Biblissima examples last year to model how we approach this here at UCLA :)

glenrobson commented 2 years ago

We also tried this at the NLW: https://glenrobson.github.io/iiif/2021/06/04/NLW-Journals.html

glenrobson commented 2 years ago

Just looking at @regisrob example it looks like they also have empty canvases (from https://demos.biblissima.fr/iiif/metadata/florus-dispersus/manifest.json):

{

    "@id": ["http://demos.biblissima-condorcet.fr/iiif/metadata/florus-dispersus/canvas/canvas-1"](http://demos.biblissima-condorcet.fr/iiif/metadata/florus-dispersus/canvas/canvas-1),
    "@type": "sc:Canvas",
    "label": "Lacune (32r)",
    "width": 860,
    "height": 1200

},

@regisrob how do you get the custom thumbnail to appear? Is that a local customisation of Mirador?

Also this example:

{

    "@id": ["https://iiif.biblissima.fr/bbmn-1713-t1/canvas/c-1"](https://iiif.biblissima.fr/bbmn-1713-t1/canvas/c-1),
    "@type": "sc:Canvas",
    "label": "p.1",
    "width": 3464,
    "height": 4898,
    "metadata": [
        {
            "label": "Cote",
            "value": "Page non retrouvée"
        },
        {
            "label": "Titre",
            "value": "Catalogus quorumdam Manuscriptorum Bibliothecae Vaticanae"
        },
        {
            "label": "Notice",
            "value": ["https://www.unicaen.fr/puc/sources/thecae/maur/BBMN_Roma_Bibl.Vaticana_1738_01"](https://www.unicaen.fr/puc/sources/thecae/maur/BBMN_Roma_Bibl.Vaticana_1738_01)
        }
    ]

},

from https://iiif.biblissima.fr/bbmn-1713-t1/manifest.json

glenrobson commented 2 years ago

Related discussion on api issue: https://github.com/IIIF/api/issues/1017

glenrobson commented 2 years ago

Also this discussion in mirador: https://github.com/ProjectMirador/mirador/pull/1231

kirschbombe commented 2 years ago

@glenrobson - if you load those manifests in UV or the Mirador demo, they lose the placeholder thumbnails. It would be great if the community could agree on a way that viewers could handle empty canvases that could be implemented in each of the viewers. Short of that, it seems like local customizations (like Biblissima) or using a placeholder image on a Canvas where the image is missing are the current solutions.

kirschbombe commented 2 years ago

Also this discussion in mirador: ProjectMirador/mirador#1231

It looks like Mirador 2 addressed empty canvases, but it doesn't look like that made it into M3?

glenrobson commented 2 years ago

It looks like it was never merged in mirador 2 but it looks very similar to @regisrob implementation.

regisrob commented 2 years ago

@glenrobson Yes it was a local customization in Mirador 2, but I cannot remember why it was never merged in the codebase, nor why the placeholder text and thumbnail for empty canvases has not been implemented in Mirador 3... I am not completely sure but I remember this first demo was entirely custom (kind of a hack) to make M2 support empty canvases. The second one may be based on Johannes's work mentioned above, but I am not completely sure.