Skip to content

Filter non-displayable file sets from v3 manifests#7349

Open
kirkkwang wants to merge 1 commit intomainfrom
fix-file-set-presenters-and-renderings
Open

Filter non-displayable file sets from v3 manifests#7349
kirkkwang wants to merge 1 commit intomainfrom
fix-file-set-presenters-and-renderings

Conversation

@kirkkwang
Copy link
Contributor

Screenshots

Before

image

After

image

Summary

Fix IIIF V3 Manifest with mix media (IIIF-displayable and non-IIIF-displayable).

Guidance for testing, such as acceptance criteria or new user interface behaviors:

Since V3 Manifests is not configured on nurax we can trigger a V3 manifest with a video work

  1. Create a work with a video file set
  2. Add a text file set (or whatever non-IIIF displayable resource)
  3. Confirm that only the video should display in the viewer

Type of change (for release notes)

  • notes-bugfix Bug Fixes

Detailed Description

Filter non-displayable file sets from v3 manifests

722e8b8

This commit will adjust IiifManifestPresenter#file_set_presenters to
only send IIIF resources to the IIIF Manifest gem. So now, for example,
if there's a work with an image file set and a text file set, the IIIF
Manifest gem won't try and make a canvas for the text file. The other
option was to make a commit to the IIIF Manifest gem to check if the
resource responds to #display_image or #display_content but I figure
catching it early is not a bad idea.

Additionally, IiifManifestPresenter#sequence_rendering now looks up
file sets from member_presenters instead of file_set_presenters,
since rendering/downloads should be available for all file sets, not
just IIIF-displayable ones.

Changes proposed in this pull request:

  • adjust IiifManifestPresenter#file_set_presenters to only send IIIF resources to the IIIF Manifest gem

@samvera/hyrax-code-reviewers

This commit will adjust `IiifManifestPresenter#file_set_presenters` to
only send IIIF resources to the IIIF Manifest gem.  So now, for example,
if there's a work with an image file set and a text file set, the IIIF
Manifest gem won't try and make a canvas for the text file.  The other
option was to make a commit to the IIIF Manifest gem to check if the
resource responds to #display_image or #display_content but I figure
catching it early is not a bad idea.

Additionally, `IiifManifestPresenter#sequence_rendering` now looks up
file sets from `member_presenters` instead of `file_set_presenters`,
since rendering/downloads should be available for all file sets, not
just IIIF-displayable ones.
@kirkkwang kirkkwang added the notes-bugfix Release Notes: Fixed a bug label Feb 13, 2026
@github-actions
Copy link

github-actions bot commented Feb 13, 2026

Test Results

    13 files  ±0      13 suites  ±0   2h 50m 48s ⏱️ - 5m 8s
 7 054 tests +1   6 748 ✅ +1  306 💤 ±0  0 ❌ ±0 
18 808 runs  +3  18 307 ✅ +3  501 💤 ±0  0 ❌ ±0 

Results for commit 722e8b8. ± Comparison against base commit 18f4997.

This pull request removes 367 and adds 368 tests. Note that renamed tests count towards both.
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplate:0x00007f13fca17950>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplate:0x00007ff7079a6a40>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplate:0x00007ffb0b612bd8>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplateAccess:0x00007f13fa11c460>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplateAccess:0x00007ff7079694d8>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplateAccess:0x00007ffb0587af20>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to destroy AdminSet: 66196ce9-e6db-475e-bf56-00928f785234
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to destroy Hyrax::AdministrativeSet: 9fcc23e0-140f-47d1-9409-fdf13b2fa78e
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to destroy Hyrax::AdministrativeSet: ddf62341-615e-4f05-8234-1245c7edfe4e
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to edit AdminSet: cf767b42-b72a-4ee4-aa57-81b82f864c0a
…
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplate:0x00007f5c6166ab60>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplate:0x00007f7873d81ce0>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplate:0x00007fa5aec81418>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplateAccess:0x00007f5c5daea658>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplateAccess:0x00007f7873cdb688>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplateAccess:0x00007fa5aecc2940>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to destroy AdminSet: b353010e-7dd1-4756-bcb4-2ffc65e67225
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to destroy Hyrax::AdministrativeSet: 22eef7bc-0926-44cb-abed-7d0d8a302267
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to destroy Hyrax::AdministrativeSet: 66110f9e-8377-4c38-b428-65b8ba51764e
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to edit AdminSet: fea0c95e-0726-49c9-b11b-ba91f58948fc
…

♻️ This comment has been updated with latest results.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

notes-bugfix Release Notes: Fixed a bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant