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

0540 link for opening multiple canvases #564

Open
wants to merge 23 commits into
base: master
Choose a base branch
from

Conversation

glenrobson
Copy link
Member

@glenrobson glenrobson commented Dec 3, 2024

@glenrobson glenrobson added the meta: ready-for-editors Ready for Cookbook editor review label Dec 3, 2024
Copy link
Contributor

@markpbaggett markpbaggett left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here are some initial thoughts before the cookbook editors meeting.

"type": "Canvas",
"partOf": [
{
"id": "{{ id.path }}/manifest",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This results in a 404 and this property in the json:

"id": "https://preview.iiif.io/cookbook/0540-link-for-opening-multiple-canvases/recipe/0540-link-for-opening-multiple-canvases/canvas/p2",

I think we need this:

Suggested change
"id": "{{ id.path }}/manifest",
"id": "{{ id.path }}/manifest.json",


## Implementation Notes

Some viewers already implement custom formats for exporting the current workspace for sharing or later use. Content State API could be used for the same purpose, adding the advantage of direct loading of the workspace using a crafted link with the `iiif-content` query parameter. The [multiple targets for a comparison view section](https://iiif.io/api/content-state/1.0/#53-multiple-targets-for-a-comparison-view) describes a method for targetting two Canvases at the same time; each Canvas could be from a different Manifest.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor suggestion:

Suggested change
Some viewers already implement custom formats for exporting the current workspace for sharing or later use. Content State API could be used for the same purpose, adding the advantage of direct loading of the workspace using a crafted link with the `iiif-content` query parameter. The [multiple targets for a comparison view section](https://iiif.io/api/content-state/1.0/#53-multiple-targets-for-a-comparison-view) describes a method for targetting two Canvases at the same time; each Canvas could be from a different Manifest.
Some viewers already implement custom formats for exporting the current workspace for sharing or later use. The Content State API could be used for the same purpose, adding the advantage of direct loading of the workspace using a crafted link with the `iiif-content` query parameter. The [multiple targets for a comparison view section](https://iiif.io/api/content-state/1.0/#53-multiple-targets-for-a-comparison-view) describes a method for targetting two Canvases at the same time; each Canvas could be from a different Manifest.

Some viewers already implement custom formats for exporting the current workspace for sharing or later use. Content State API could be used for the same purpose, adding the advantage of direct loading of the workspace using a crafted link with the `iiif-content` query parameter. The [multiple targets for a comparison view section](https://iiif.io/api/content-state/1.0/#53-multiple-targets-for-a-comparison-view) describes a method for targetting two Canvases at the same time; each Canvas could be from a different Manifest.

For this purpose, we create an Annotation with `motivation` set to `["contentState"]`.
The value of the the `target` attribute of the Annotation is a list containing the `id` of the Canvases and a `partOf` attribute with the `id` of the Manifests they belong to.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would property be better than attribute here?

Suggested change
The value of the the `target` attribute of the Annotation is a list containing the `id` of the Canvases and a `partOf` attribute with the `id` of the Manifests they belong to.
The value of the the `target` property of the Annotation is a list containing the `id` of the Canvases and a `partOf` property with the `id` of the Manifests they belong to.

@glenrobson
Copy link
Member Author

The cookbook editors have reviewed this receipe and are happy for it to go through with the following changes:

  • Use case: Add image showing side by side as discssued in the cookbook authors call.
  • Implementation notes: can you add the encoded link that Mark mentions above to the implementation notes.
  • Restrictions: Can you add a restriction similar to https://iiif.io/api/cookbook/recipe/0485-contentstate-canvas-region/ to say you can’t guarantee the same window arrangement etc from one viewer to another or something similar.

Example

  • No need to add links to the manifests in the example as they can get it from the example.
  • Would it be possible to move the 0318-navPlace-navDate/manifest-2.json to this reciepe's directory and simplify the manifest to remove the navPlace and navDate features. Just in case a viewer supports the contentstate recipe but not the navPlace/navDate features.

Related recipe

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta: ready-for-editors Ready for Cookbook editor review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Sharing a link for opening two or more Canvases
3 participants