Gotchas, Tips, and Tricks - UniversalViewer/universalviewer GitHub Wiki
Use npm link to test components
cd ./iiif-av-component
npm link
npm i
npm run build
cd ../universalviewer
npm link @iiif/iiif-av-component
run npm run build:esmodule -- --watch
in manifesto and manifold
If you run npm i
in universalviewer after linking the links break, so run npm link
again.
npm link isn't working
If you're having problems with npm link
, you can replace the package.json
entries for @iiif/manifold
, manifesto.js
etc with:
"@iiif/manifold": "file:../../iiif-commons/manifold",
"manifesto.js": "file:../../iiif-commons/manifesto",
Note that manifold must also use the file link to manifesto. You also need to run npm run build
on both libraries.
Cannot read properties of undefined (reading 'substr')
If you're getting an error saying Cannot read properties of undefined (reading 'substr')
at normaliseUrl
, it could be that your info.jsons aren't available over the network.
Ruby on Rails
Use this Gem to add the UV to your Rails project: https://github.com/pulibrary/pul_uv_rails
For cache invalidation outside of the Rail's asset pipeline, you can symlink a checksum of the UV source. https://github.com/sul-dlss/sul-embed/pull/860
Your log-in attempt did not appear to be successful. Please try again
If you're seeing this error message, you need to ensure that the server hosting your manifest has the correct CORS settings. It cannot use a wildcard (*
) in the Access-Control-Allow-Origin
CORS header - it must include the domain that is making the request. So if https://universalviewer.io is accessing https://myiiifmanifests.com, https://myiiifmanifests.com must include https://universalviewer.io
in its Access-Control-Allow-Origin
CORS response header.