Code Monkey home page Code Monkey logo

Comments (6)

mathewjordan avatar mathewjordan commented on July 22, 2024

Hi @garrettdashnelson and thank you for inputting this.

I'd love to solve this issue for you and am debugging our Manifest request process. I've abstracted out how this works here and am modeling possible solutions using your scenario as a fixture: https://codesandbox.io/s/vault-debug-633m8s?file=/src/App.js

Clover is fairly hooked into IIIF Commons libraries, especially Vault. It utilizes this to normalize manifests and upgrade from presentation 2.x => 3.

from clover-iiif.

garrettdashnelson avatar garrettdashnelson commented on July 22, 2024

Thanks for looking into it, @mathewjordan! I suspected that it was possible downstream issues in Vault that might have been causing some of the issues. I'm going to try to poke at it myself when I can, but I couldn't obviously figure out why the fetching wasn't simply following the 300 redirect.

from clover-iiif.

mathewjordan avatar mathewjordan commented on July 22, 2024

Hi again @garrettdashnelson. Just to clarify, I don't think it is specifically a Vault issue -- rather I was abstracting out our manifest retrieval process from the Clover code. I'll take a deeper dive into over the next few days.

from clover-iiif.

garrettdashnelson avatar garrettdashnelson commented on July 22, 2024

Cool, thanks a ton @mathewjordan and let me know if I can be helpful — appreciate your willingness to look into it! I'm excited to implement Clover in my next project if I can figure out this Manifest fetching issue.

from clover-iiif.

alexandergknoll avatar alexandergknoll commented on July 22, 2024

Hey @mathewjordan - really appreciate you reaching out re. the project we're working on. It looks to me like the issue is related to @iiif/vault when parsing the URI for the resource. Our manifests returning an ARK permalink for the @id attribute, but they redirect with a 302 to a different location such as in the example @garrettdashnelson posted above. I believe it is this mismatch between that destination and the URI in the @id attribute for the manifest that causes the fetch to fail.

from clover-iiif.

garrettdashnelson avatar garrettdashnelson commented on July 22, 2024

Hi @mathewjordan and I'm glad you noticed our use of clover-iiif in the ARGO project! Per the original note in this issue, I think the problem is stemming from a case where the @id defined in the Manifest points to a permalink URL, which in turn returns a 302 Found HTTP response back to the URL which has the actual JSON content of the Manifest. Somewhere in the process of clover-iiif fetching the Manifest, this redirect pattern is not being correctly parsed. @alexandergknoll's patch simply forces vault to treat the id as the exact Manifest URL that is passed to it, ignoring whatever @id is defined in the content of the Manifest.

from clover-iiif.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.