Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

IIIF Redux Implementation

NotificationsYou must be signed in to change notification settings

stephenwf/iiif-redux

Repository files navigation


Moving to Hyperion

This project will soon be part of theHyperion Framework and APIs finalised. The aim of this library was to standardise both the IIIF presentation 2 and 3 specifications and provide a single layer for accessing data from them. As an experiment it was a success. However, the practicalities of supporting 2 presentation versions, and more when further versions are released is unrealistic.

Where theHyperion Framework is different is that it will always chase the specification. It is designed to internally work with latest Presentation version, and all IIIF resources requested by it will be upgraded on the fly to the latest version. It's also grounded in strong types, although does not require types to be used by consumers of the framework. This provides a better foundation for writing libraries and tools on top of the IIIF specifications, and is a consolidation of various experiments.

The original architecture and readme can still be found below. You can find some more experiments in the pull requests.


Coverage StatusBuild StatusCodacy BadgeFOSSA Status

Demo |Concepts |API Proposal |Selector API |IIIF Spec progress |Contributing


⚠️ IIIF Redux current state is a request for comments from the community with a proposal for managingIIIF resources state on the frontend for both presentational and content creation purposes.

Pull requests + issues are welcomed to discuss and improve this proposal.


What is IIIF Redux?

IIIF Redux is a single source of truth for IIIF resources, split into 3 distinct packages:

  • IIIF Redux - the "to the spec" implementation, storing and normalizing collections, manifests and canvases.
  • IIIF Redux Viewer - more state, actions and selectors for building a viewer experience
  • IIIF Redux Creator - new set of actions for drafting and editing IIIF resources, and hook-able middleware for saving, for creating editor UIs for IIIF resources.

Planned projects

  • IIIF Service plugins - Community sourced set of plugins for understanding and presenting different services on IIIF resources.
  • IIIF GraphQL - built using the selector library, an interface to IIIF endpoints using GraphQL.
  • IIIF Redux AV - Redux state in the temporal dimension, with extensions focused on displaying AV content.
  • IIIF Presentation Upgrade - Presentation 2 to 3 converter, Presentation 2 or 3 normalization, fixing and validation.

Proposal

Testing

For libraries that deal with interoperable data its important to have smoke tests that can be run overlarge sets of manifests. These tests would have to beexpect(blah).toExist() orexpect(blah.length).not.toEqual(0) typetests that SHOULD pass for all manifests.

In addition unit tests of the units that make up the library (selectors, reducers, actions).

Finally running Interoperable Manifesto library through Manifesto's tests too would work to ensure parity.

Contributing

This project is currently firmly in the planning and prototyping stages at the moment. Any contributions in theform of pull requests or issues for discussion are welcome.

License

FOSSA Status


[8]ページ先頭

©2009-2025 Movatter.jp