-
Notifications
You must be signed in to change notification settings - Fork 124
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
Universal Viewer stops working after 2.8.0 --> 2.9.0 upgrade #4572
Comments
thanks @gwiedeman! it seems like there are a couple of issues at play here. as i dig into this properly, here's some preliminary information: Hyrax 2.9.0 includes a complete rewrite of the IIIF Manifest generation process. this rewrite is a substantial performance improvement on manifest generation, especially for Works with many FileSets. all the code that powered the old behavior is still in the release, and it can be reinstated by adding the following to controllers including def iiif_manifest_presenter
presenter
end one known change in the generation process is that we no longer use the Hyrax request context to determine the protocol to be used by the IIIF server. in practice what it means is that, for apps using http://nurax-dev.curationexperts.com/images/p5547r38s%2Ffiles%2F358aab77-5df3-4224-82e3-47e01b8add99%2Ffcr:versions%2Fversion1/full/600,/0/default.jpg if your in retrospect, this change may have been a mistake (or maybe is too aggressive a behavioral change for a minor release). i'm considering ways to roll it back without losing the performance improvements referenced above. feedback would be valued. |
@gwiedeman your issue looks (at my best first guess) like it is due to neither of the above issues. the file id for a given file_set shouldn't be calling i think in addition to the errant/extra text file (no idea where this might have come from, can you point me to your code base?), these objects must have a weird index state. the new manifest generation relies much more heavily on the index to understand which files to render. that's the best i've got. |
after #4663, nurax-dev.curationexperts.com has working IIIF via UV again. i'm not closing this out at this point, since @gwiedeman's issue is still undiagnosed, but i think it's no longer a blocker for 3.0.0. |
Thanks for looking at this @no-reply ! Our codebase is here if that helps: https://github.com/UAlbanyArchives/hyrax-UAlbany Its very possible this is an indexing issue. We also just updated from Solr 7 to 8.6 recently before updating to 2.9.0.
It is weird that I don't suspect its an https issue, as I get the same behavior on our dev server without using ssl, but I'll look into this more. Also, as for how aggressive to make changes for a minor release, I think its okay. It think its expected that you should test even minor releases and that's how we found the issue. We're really excited about the many FileSets performance upgrades and the barriers should be as low as possible for these types of improvements. |
thanks for the update @gwiedeman. i agree that it's weird you're ending up with multiple files, and i'd like to dig into that more deeply with you. focusing briefly on the index issue, i wonder if you could try on the other hand, we should be falling through to a Fedora lookup on |
Ah, I forgot that
The ID in there is correct, and appending it to the Fedora URL does return a file from Fedora, but Universal Viewer still shows the same error in 2.9.0. As for the rails logs, I do get that warning when loading an object that I didn't
Apart from that, I do get this when I load the FileSet page, but that's it:
Even after turning up the log level |
I finally sorted this out when I noticed I was getting a CORS error on our dev server because the object on This was odd as I was getting the same result on the production server, but that issue was due to SSL enforcement, so @no-reply 's suggestion of adding I'll leave this open, as I'm not sure if its worth trying to get the manifest to use rails_root or whatever to use the port number. I would probably recommend adding the riiif initalizer option to the 2.9.0 release notes, but I still think its totally fair for a minor release. Thanks @no-reply for spending some time on this! |
thanks for the follow-up @gwiedeman. based on this update, i think the patch in #4663 ought to fix this without need for the once that's out, we should be able to close this out. |
closing this as fixed by the release of 2.9.2 |
Descriptive summary
Universal Viewer appears to work just fine in Hyrax 2.8.0.
Changing the Hyrax version in the Gemfile to 2.9.0 and running
bundle update hyrax
causes Universal Viewer toIn looking at Troubleshooting RIIIF, it seems like
iiif_info_url_builder
is returning the wrong file ID and Fedora is returning an empty text file instead of the file object.iiif_image_url_builder
then returns an incorrect URL for the file:This URL returns a 500.
From navigating the working University Viewer in 2.8.0, it looks like the correct file ID is 831e33b8-88c8-4922-af03-3cfa96c1f2af, not d1420cd8-a605-4ecd-8197-9e0f0862df5f. Changing that ID in the URL returned by
iiif_info_url_builder
also returns a manifest, and changing it iniiif_image_url_builder
correctly returns the file.So it seems that the 2.9.0 upgrade is correctly using
@id
from the manifest when the wrong@id
in 2.8.0 did not matter.It looks like
iiif_info_url_builder
is relying onfs.files.first.id
to return the ID. This returns a Fedora URI with the wrong ID, which serves an empty .txt file.fs.files.last.id
Returns the correct ID and Fedora serves the file. So it seems like all of our FileSets have a bad first file and I'm not sure if this is something that is supposed to happen or if this is something that happened in a previous Hyrax version, or if this is totally a local issue and we should just delete all these.Rationale
2.8.0 to 2.9.0 should be a non-breaking update from what I can tell in the release notes.
Expected behavior
Universal Viewer displays the image.
Actual behavior
Steps to reproduce the behavior
bundle update hyrax
Related work
Troubleshooting RIIIF was helpful.
The text was updated successfully, but these errors were encountered: