digirati-co-uk / iiif-manifest-editor

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

I want to create a IIIF Collection #132

Open tomcrane opened 2 years ago

tomcrane commented 2 years ago

...Out of existing IIIF Manifests, and perhaps existing collections.

(full narrative to follow)

I want to be able to create collection hierachies.

I should be able to set thumbnails on Manifests within Collections (if they don't have them already) or override them. Similarly I can edit the labels of Manifests in the Collections I create, overriding the default the Collection tool obtains by analysing the Manifest.

The analyser can suggest a Thumbnail (the first canvas) or let me pick one.

stephenwf commented 2 years ago

Relates to https://github.com/IIIF-Commons/parser/issues/5 and https://github.com/IIIF-Commons/parser/issues/10

tomcrane commented 2 years ago

When picking a Manifest, pick the canvas you'd like to use as the thumbnail.

Control what fields of the Manifest are included in the reference that goes into the collection. Add/override fields from source manifests. E.g., custom behaviors.

tomcrane commented 2 years ago

Need to be able to pick fields (e.g., label, or metadata values) that are used to order the manifests within a collection.

tomcrane commented 2 years ago

Canadiana Notes:

1. Collection Creation and Editing

To be able to create and edit properties of a collection

2. Collection Member Sorting

Members of a multi-part collection should be sortable alphabetically by any IIIF metadata field. Most commonly by label, summary, and navDate…

tomcrane commented 2 years ago

Digirati Notes on Canadiana Notes:

1) This would use (mostly) the same UI components as for a Manifest - labels, behaviors, metadata etc. There would be some configured differences.

2) Need to explore the degree to which this functionality overlaps / reuses UI for ordering canvases #134

Editing a collection would look quite similar to editing a manifest. The items are not canvases, but manifests and collections (which can be mixed together).

Labels and other properties that you assign to the items of a collection are specific to the collection-being-edited... you're obviously not modifying the linked collection or manifest itself, which is an external resource. This is where the Manifest Editor has to support properties being different on things in scope with the same id. But there should never be any ambiguity about what the thing-being-edited is.

I don't think we need to worry about editing a collection hierarchy - because we can only edit one thing at once, so if you need to change the child members of a collection within your collection, you have to edit that collection.

brittnylapierre commented 2 years ago

Everything looks good here!

tomcrane commented 2 years ago

One important difference between Manifest editing and Collection editing is that the items of a Collection are always existing, external resources, whereas the items of a Manifest (the canvases) might be existing external resources but almost always are not - and the Manifest editor doesn't care whether they are or not.

One way of adding a Canvas to a Manifest is to use the IIIF Browser to preview an existing manifest and select a canvas from it; the Manifest editor copies the Canvas into the currently-editing Manifest, with its labels etc.

For a Collection editor, that's the only way of adding Manifests and Collections; they must be external resources that the editor will (perhaps briefly) load to both check they exist and to copy a limited set of labels, behaviors, metadata into the reference that will live in the Collection-being-edited.

While you can browse and navigate to an individual collection or manifest via the storage adaptor, I suspect we will also want the ability to just paste the URL into the dialog directly to bypass browsing, and possibly, to paste a list of URLs into a textarea - "go and include all of these" - the Collection editor loads one by one and adds the reference. It doesn't need to keep them in memory/in vault once it's extracted what it needs to create a reference in the Collection-being-edited.

Other than that the Collection Editor re-uses some of the same components as the Manifest Editor -

RussellMcOrmond commented 2 years ago

Sorry. I think some of the over-simplification of language internal to CRKN may be leaking into the conversation. We have been using the term "canvas" to discuss an image annotation onto a canvas. That is all the current tools we are trying to replace support (changing the order of and label for canvases that only allow a single image annotation). We will try to be more accurate in our language.

tomcrane commented 1 year ago

This collection is also being assembled in #228, just like #133. My comments above still cover it I think.

RussellMcOrmond commented 1 year ago

Note that we currently only use Behavior Values of "multi-part" and "unordered".

stephenwf commented 1 year ago

Changes will be required for Shell (incomplete)