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

Update mirador #14

Merged
merged 39 commits into from
Jan 12, 2023
Merged

Update mirador #14

merged 39 commits into from
Jan 12, 2023

Conversation

alxp
Copy link
Contributor

@alxp alxp commented Nov 17, 2022

What does this Pull Request do?

Provide a brief description of what the intended result of the PR will be and/or what
problem it solves.

  • Related GitHub Issue: (link)

#4

  • Other Relevant Links: (Google Groups discussion, related pull requests,
    Release pull requests, etc.)

What's new?

Updates Mirador to be able to use either a local copy of the Mirador app or one hosted on a CDN.

Changes the default to a remote Mirador hosted on Github Pages that contains several plugins and is updated to Mirador 3.3.

Adds support to enable individual plugins in the admin interface.

  • Does this change add any new dependencies? No
  • Does this change require any other modifications to be made to the repository
    (i.e. Regeneration activity, etc.)? No
  • Could this change impact execution of existing code? Yes

Updated Mirador so any new behaviours will appear in Islandora.

How should this be tested?

Test that the update hook runs properly.

Go to the Admin settings page for Islandora Mirador and test the new settings.

To test text overlay integration specifically:

Follow the testing instructions for Islandora/islandora#897

GO to Admin > Structure > Views and edit the IIIF Manifest view.

In the manifest you want to use, add the hOCR media field you created. Then click the Settings for the IIIF Manifest views plugin, and select that field in the list for hOCR Structured Text.

GO to the settings for Islandora Mirador and enable the Text Overlay and Image Tools plugins.

You may need to clear cache. Go to the node for the Paged Content item you created and observe that the plugins are working.

image

Documentation Status

  • Does this change existing behaviour that's currently documented? Updated readme
  • Does this change require new pages or sections of documentation?
  • Who does this need to be documented for?
  • Associated documentation pull request(s): ___ or documentation issue ___

Additional Notes:

Any additional information that you think would be helpful when reviewing this
PR.

Interested parties

Tag (@ mention) interested parties or, if unsure, @Islandora/committers

@wgilling wgilling self-requested a review November 23, 2022 18:51
@noahwsmith
Copy link

Hi folks - just a heads up that this is in our queue to review as it is foundational to some work we need to do in the new year. Sorry this has sat so long - we'll be doing this work in the first couple weeks of January. CC @patdunlavey @dmer

@patdunlavey
Copy link
Contributor

I tested this update (in a copy of isle-dc) and successfully reproduced the behavior described under "How this should be tested": (quick demo).

My thoughts:

  • Using isle-dc and being relatively inexperienced with Islandora 2.0, I found that I had to do a fair amount of head-scratching and filling in the blanks to get all the configs lined up. The instructions on this PR and #897 make a number of assumptions about the Islandora install this is being set up on and/or are simply incorrect (I'm usually not sure which!). Well written documentation in, or referenced from, the module README.md file will be pretty essential.
  • I don't see much value in simply displaying a text overlay without also being able to perform a search (inside the viewer, and externally) and to see the hits highlighted in the viewer. Based on my limited poking around in the Mirador 3.0 code, it appears that the necessary in-viewer search components are already present. It appears that the missing pieces, once this PR is committed, will be to implement a IIIF Search API endpoint (perhaps in the islandora_iiif module?), followed by altering the islandora_iiif\Plugin\views\style\IIIFManifest::getTileSourceFromRow method to add this search service.

My take is that this PR does what it says it does. It's a prerequisite (necessary but not sufficient) for integrating search with Mirador. Thumbs-up on a merge from me, with the proviso that a detailed documentation task be created.

Copy link
Contributor

@patdunlavey patdunlavey left a comment

Choose a reason for hiding this comment

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

My main comments are here. With the condition that a documentation task be created to follow up on this PR, I am comfortable with getting this merged.

@adam-vessey
Copy link
Contributor

Put together some thoughts towards how things might be better structured in update-mirador...adam-vessey:islandora_mirador:madscience

This could still go a ways further towards introducing plugins for the various methods to install things, potentially having them be configurable. Unknown if further things, such as reporting the Mirador plugins supported by the installation would be feasible.

@dmer
Copy link

dmer commented Jan 9, 2023

@alxp Out of curiosity, have you done any thinking/planning around IIIF Search API in relation to Mirador? Pat and I have a goal of being able to pass a search term from Drupal to an object displaying in Mirador and have that term highlighted. As he mentioned in his comment above, it looks like this requires a Search API endpoint that can return the specific annotations from the HOCR that should be highlighted and blurbed.
Just getting started, but if you are interested, we'd love to chat about it with you. Definitely open to collaborating. I'll share the more detailed dev plans as soon as they're at least in rough-draft state.

Move configs to optional.
@alxp
Copy link
Contributor Author

alxp commented Jan 10, 2023

@adam-vessey I've made an update that removes the remote library option since anyone who can compile a custom version of the app can certainly deploy it locally.

@alxp
Copy link
Contributor Author

alxp commented Jan 10, 2023

WRT the default library location, I intend to submit the Islandora-targeted Mirador app to the Islandora repo so there isn't a RobLib dependency

Copy link
Contributor

@adam-vessey adam-vessey left a comment

Choose a reason for hiding this comment

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

Looks fine here, other than some potential stray characters and coding standards violations.

Not sure we really have to do it here, but should probably make a note somewhere to get it in here, at least for the PHPCS/Linting, since we don't yet have tests (as per #5).

src/Form/MiradorConfigForm.php Outdated Show resolved Hide resolved
islandora_mirador.module Outdated Show resolved Hide resolved
src/Form/MiradorConfigForm.php Outdated Show resolved Hide resolved
@alxp
Copy link
Contributor Author

alxp commented Jan 10, 2023

@dmer @patdunlavey I've created an issue to discuss search / annotation highlighting. I think we can adapt a lot of what UT Scarborough did but would be worth discussing the architecture for sure.

#17

@rosiel
Copy link
Member

rosiel commented Jan 12, 2023

ping @adam-vessey

@adam-vessey
Copy link
Contributor

@rosiel : As mentioned in the tech call, I'm fine with things here now; however, there's reviewers requested explicitly by this PR though, of which I'm not one.

@wgilling
Copy link
Contributor

I believe that the reviews by Pat and Adam are sufficient. I looked at some of this with Pat and so I am going to merge the PR. At the time, I wanted to be a reviewer in the event that nobody could get to this in a timely manner.

@wgilling wgilling merged commit 6e75f04 into 2.x Jan 12, 2023
@rosiel rosiel deleted the update-mirador branch January 12, 2023 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants