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

I want to create a IIIF Collection #132

Open
tomcrane opened this issue May 9, 2022 · 11 comments
Open

I want to create a IIIF Collection #132

tomcrane opened this issue May 9, 2022 · 11 comments
Labels
App 🥧 This is a separate app - not the core manifest editor CRKN Issues mentioned by CRKN user-story

Comments

@tomcrane
Copy link
Contributor

tomcrane commented May 9, 2022

...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.

@tomcrane tomcrane added user-story narrative CRKN Issues mentioned by CRKN App 🥧 This is a separate app - not the core manifest editor labels May 9, 2022
@stephenwf
Copy link
Member

Relates to IIIF-Commons/parser#5 and IIIF-Commons/parser#10

@tomcrane
Copy link
Contributor Author

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
Copy link
Contributor Author

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

@tomcrane
Copy link
Contributor Author

tomcrane commented Aug 31, 2022

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
Copy link
Contributor Author

tomcrane commented Aug 31, 2022

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 Selection, reordering and moving of 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
Copy link

Everything looks good here!

@tomcrane
Copy link
Contributor Author

tomcrane commented Sep 14, 2022

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 -

  • IIIF browser (which can accept a resource list too) IIIF Browser component #111
  • General panels for labelling, metadata, technical details
  • The IIIF Resource grid IIIF Resource Grid/List View Component #228 - like canvases in the Manifest editor, but instead of Canvases shows Manifests and Collections
  • The Bulk labelling/sorting tool - can work on Manifests and Collections within collection.items just as well as Canvases within manifest.items

@RussellMcOrmond
Copy link

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
Copy link
Contributor Author

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

@RussellMcOrmond
Copy link

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

@stephenwf
Copy link
Member

Changes will be required for Shell (incomplete)

  • ProjectProvider will need to support a Collection type
  • LocalStorageLoader will need to support Collections
  • PreviewVault for loading Manifests without adding them directly to a collection
  • Editing features to use new iiif-parser:hasPart framing format.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
App 🥧 This is a separate app - not the core manifest editor CRKN Issues mentioned by CRKN user-story
Projects
Status: Primary Tasks
Development

No branches or pull requests

4 participants