digirati-co-uk / iiif-manifest-editor

Create new IIIF Manifests. Modify existing manifests. Tell stories with IIIF.
https://manifest-editor.digirati.services/
MIT License
33 stars 2 forks source link

Handling internal and external annotation pages #105

Closed tomcrane closed 1 year ago

tomcrane commented 2 years ago

This is not a Task yet, it needs some thought.

Current designs don't distinguish between internal and external AnnotationPages. External annotation pages are really #72 whereas internal anno pages require an in-situ editor, as in the designs.

If you load an existing manifest into ME, e.g., a Wellcome one, it's VERY likely that canvas.annotations properties (if present) are lists of one or more external annotation pages, rather than them being inline in the Manifest. In MVP, are they editable as annotations? Or just as an external resource? Sometimes you will want to connect an external anno page, and NOT edit them.

But if you are creating a manifest from scratch, and then adding annotations to it, it will be much easier for our MVP to hold those annotations inline. This also makes slideshows, guided-viewing etc self-contained JSON files.

Later we can offer more flexibility here: later, ME is aware that the manifest and the anno pages are separate resource that you are editing simultaneously, and knows when it can save them - but there's a jump from just loading and persisting manifests, to loading and persisting manifests AND THEIR DEPENDENT FILES. MVP should just be the former.

A nice experimental feature for release 1 would be "internalise" - load a manifest that points to an external anno page, and pull that into the manifest, dispensing with the external reference. This would be great for learning because you can load existing annotated content and then experiment with it.

stephenwf commented 2 years ago

ME is aware that the manifest and the anno pages are separate resource

This is true in the Vault, but if you make changes either the page would become embedded or need to be saved - like you mention. I think, and this can be tested, if you load a manifest and then an external annotation page - and then serialise it out of vault it will inline the annotation page.

We need to make the configurable at least, at the vault serialisation level.

tomcrane commented 2 years ago

I think this idea is now covered in #100 and related issues.

stephenwf commented 1 year ago

Closing in favour of #100