Displaying images based on IIIF-manifest - suitable viewers?

500 views
Skip to first unread message

David Haskiya

unread,
Jul 30, 2015, 12:26:50 PM7/30/15
to IIIF Discuss
Hi,
At Europeana we increasingly have data providing partners who have IIIF-services. We'd like to begin prototyping to display their IIIF-compliant images in the Europeana portal. What we'd have from one of our partners (provided to us in the metadata they make available to us or derived from their identifiers) would be the URI to a IIIF manifest. 

Two real examples that we would like to render in the Europeana portal:


French National Library/Gallica:
http://gallicalabs.bnf.fr/ark:/12148/btv1b84238966/manifest.json


Bodleian Library:
http://iiif.bodleian.ox.ac.uk/iiif/manifest/9fb27615-ede3-4fa0-89e4-f0785acbba06.json


We're looking for a viewer that would make that possible. Proxying and handling any CORS issue would be OK, but what we'd like to avoid is having a IIIF-server of our own in order to display images from partners who have IIIF-services of their own.


Neither OpenSeadragon nor IIPMooViewer seems to be capable of doing that though. We've sucessfully prototyped with the Universal Viewer and gotten it to work. We're a bit reluctant to adopt a viewer that relies on typescript. 


Would this work with Mirador? Or any other pure JavaScript viewer? Any help or input appreciated!


Best regards,

David Haskiya


Product Development Manager

Europeana Foundation

Benjamin L Albritton

unread,
Jul 30, 2015, 12:30:36 PM7/30/15
to iiif-d...@googlegroups.com
Hi David,

Mirador would certainly work for the task you're trying to accomplish (exposing content made available through IIIF manifests). Let us know how we can help you test it out.

Best,

Ben

Benjamin L. Albritton
Digital Manuscripts Program Manager &
Accessioning Services Manager
DLSS, Stanford University Libraries
Stanford, CA  94305-6004
Phone 650.454.4164



From: "David Haskiya" <dhas...@gmail.com>
To: "IIIF Discuss" <iiif-d...@googlegroups.com>
Sent: Thursday, July 30, 2015 9:22:04 AM
Subject: [IIIF-Discuss] Displaying images based on IIIF-manifest - suitable viewers?
--
-- You received this message because you are subscribed to the IIIF-Discuss Google group. To post to this group, send email to iiif-d...@googlegroups.com. To unsubscribe from this group, send email to iiif-discuss...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/iiif-discuss?hl=en
---
You received this message because you are subscribed to the Google Groups "IIIF Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to iiif-discuss...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Robert Sanderson

unread,
Jul 30, 2015, 12:37:07 PM7/30/15
to iiif-d...@googlegroups.com


Hi David,

On Thu, Jul 30, 2015 at 9:22 AM, David Haskiya <dhas...@gmail.com> wrote:
At Europeana we increasingly have data providing partners who have IIIF-services. We'd like to begin prototyping to display their IIIF-compliant images in the Europeana portal. What we'd have from one of our partners (provided to us in the metadata they make available to us or derived from their identifiers) would be the URI to a IIIF manifest. 

That would be great :)  It would be useful to have an agreed upon way to reference a manifest from a CHO in the Europeana Data Model ... as that would then also help the DPLA with the same question.

 
Two real examples that we would like to render in the Europeana portal: 

This manifest lacks the CORS headers, and hence can't be used outside of bnf.fr at the moment.  Regis, any chance of adding the headers, as per:

And this one works out of the box.

You can try it in Mirador by going to:

And copying the link into the  "Add new object from URL" box after clicking "New Object" from the little grid icon in the top left of one of the slots.

 

We're looking for a viewer that would make that possible. Proxying and handling any CORS issue would be OK, but what we'd like to avoid is having a IIIF-server of our own in order to display images from partners who have IIIF-services of their own.

That should be fine, assuming the image servers also correctly have CORS as per:

The image validator tests for this if people are unsure if their implementation does the right thing:

 

Neither OpenSeadragon nor IIPMooViewer seems to be capable of doing that though. We've sucessfully prototyped with the Universal Viewer and gotten it to work. We're a bit reluctant to adopt a viewer that relies on typescript.


I think that's useful feedback for Digirati :)  (Tom, Ed?)
 
Thanks for the questions!

Rob

--
Rob Sanderson
Information Standards Advocate
Digital Library Systems and Services
Stanford, CA 94305

Régis Robineau

unread,
Jul 30, 2015, 1:20:42 PM7/30/15
to iiif-d...@googlegroups.com
Hi Rob,

The BnF one is a real example but unfortunately it's not a IIIF manifest at all :( It's just a "bnf-flavoured manifest" that is used by the new viewer on GallicaLabs. But I hope they're not so far from dealing with CORS headers ;)

We should have more info about the P-API implementation soon.

Regis

Le 30/07/15 18:37, Robert Sanderson a écrit :

Drew Winget

unread,
Jul 30, 2015, 4:05:04 PM7/30/15
to iiif-d...@googlegroups.com
Here's a saved Mirador instance with the bodleian manifest in the menu. (Click the "add item" region to add it to the workspace)


It is possible to turn off most of Mirador's functionality (such as the windowing system), so just show a manifest. It is long overdo that I write a clear tutorial for doing this, which I am going to do today. It is asked about often.

I am also working on a project within Stanford that involves displaying a simplified view of a manifest. As part of that work I am creating a simple plugin to openseadragon that will display manifests properly, for other projects or users who just need to "see my manifest in openseadragon, now".

Demian Katz

unread,
Jul 30, 2015, 6:52:26 PM7/30/15
to iiif-d...@googlegroups.com
Out of curiosity, what are your objections to TypeScript? I've been working with the Universal Viewer for Villanova's Digital Library, and I'm very happy with it, even though I was admittedly a bit wary of the language at first. I've found it very easy to work with in spite of having no prior TypeScript experience -- the language differences are pretty minor (but useful and intuitive). Since it compiles down to regular Javascript, you don't need anything special to deploy the application once you've compiled it, so really the biggest inconvenience is the compile step, which of course also adds some useful safety checks. In case it matters, I've also found it to be reasonably cross-platform-friendly, with some development happening under Windows and some under Linux without major inconvenience.

Bottom line: I personally wouldn't write off UV just because of the language it's written in... but of course your requirements may differ from mine! In any case, I'm happy to discuss this further if you'd like to know anything specific about my UV experience so far.

- Demian

From: iiif-d...@googlegroups.com [iiif-d...@googlegroups.com] on behalf of David Haskiya [dhas...@gmail.com]
Sent: Thursday, July 30, 2015 12:22 PM
To: IIIF Discuss

Subject: [IIIF-Discuss] Displaying images based on IIIF-manifest - suitable viewers?

[ ... snip ... ]


Neither OpenSeadragon nor IIPMooViewer seems to be capable of doing that though. We've sucessfully prototyped with the Universal Viewer and gotten it to work. We're a bit reluctant to adopt a viewer that relies on typescript. 


Would this work with Mirador? Or any other pure JavaScript viewer? Any help or input appreciated!


Best regards,

David Haskiya


Product Development Manager

Europeana Foundation

--

Edward Silverton

unread,
Jul 31, 2015, 4:36:51 AM7/31/15
to IIIF Discuss, demia...@villanova.edu
Hi,

Ed here (UV developer). Great to hear your prototyping went well. I'd be interested to hear your concerns regarding TypeScript and what issues you ran into.

I think to follow on from what Demian says, I'd just like to clarify that TypeScript is not a separate and distinct language from JavaScript. It's essentially "sugar" over JavaScript to allow developers to use future language features such as classes today and have it compile down to idiomatic JavaScript that will run in legacy browsers. Microsoft's aim is to enable teams developing large web apps to be able to use the tooling that you'd expect from a language like c# or Java. There is absolutely no lock-in (my initial concern with TypeScript) to any particular IDE (I use WebStorm), but you could just as readily use a text editor like Sublime. TypeScript is also hosted on Github and has a large, active, and diverse community of contributers:


The eventual goal is for the UV to be written in code that is indistinguishable from ECMAScript 7 apart from the use of *optional* static types, e.g.

    var myTypedVariable: string = "yay";

Static typing has obvious benefits for enforcing code quality, but it is also being investigated by Google with their "SoundScript" programme:


where they are basing potential future V8 optimisations on TypeScript's syntax. They also recently shocked many people by adopting TypeScript for their next version of Angular:


It's really encouraging to see the cooperation between these companies towards a common goal of improving JavaScript's speed and semantics.

Sticking to the day to day reality of using TypeScript, I find that once you're over the initial hurdles it really starts to pay off in terms of the confidence it gives you that you're not breaking stuff :-)

Again, please feel free to contact me with any questions you might have.

Regards,

Ed

Ralf Eichinger

unread,
Jul 31, 2015, 4:44:06 AM7/31/15
to IIIF Discuss, dhas...@gmail.com
I personally like the page flipping implementation of the archive.org BookReader.
Here is an IIIF compatible version of it: https://github.com/aeschylus/IIIFBookReader

David Haskiya

unread,
Jul 31, 2015, 7:11:36 AM7/31/15
to IIIF Discuss, scipioaf...@gmail.com
Hi Drew, Rob,
And thanks! We have been looking at both Mirador and OpenSeadragon but started with the latter because Mirador indeed seemed to be "much more" than what we're looking for. We will move head with prototyping with it. Likely first in a week or two as it's holiday season  in Europe and we're a bit short handed at the moment.

To all interested:
We haven't made a decision yet which viewer to use. We've successfully prototyped the Universal Viewer (so it's still in the game!) and unsuccessfully IIPMooViewer. OpenSeadragon we learnt at the desk research stage would not work with just giving it a IIIF-manifest. So we'll try Mirador next and if a plugin comes along for OpenSeadragon it as well! 

Once we know we can get "viewing via IIIF-manifest" to work we'd move forward with also upgrading the Europeana Data Model. In the prototyping stage we can e.g. for Bodleian Libraries derive the IIIF-manifest URI from the dc:identifier they've supplied us with. 

Cheers,
David

David Haskiya

unread,
Jul 31, 2015, 7:18:27 AM7/31/15
to IIIF Discuss, demia...@villanova.edu, e.sil...@gmail.com
Hi Ed, Damian,
We haven't discounted Universal Viewer, still looking into options. Our reluctance for TypeScript is mostly down to that we do not use it anywhere else in our stack and we'd have to climb that learning curve (even if not steep). It's not an absolute dealbreaker, just an instinct to reduce the number of moving parts. 

Universal Viewer does have one big thing going for it - so far it's the viewer we've prototyped that actually works with our current limitation of having a IIIF-manifest only!

Cheers,
David

David Haskiya

unread,
Jul 31, 2015, 7:20:11 AM7/31/15
to IIIF Discuss, dhas...@gmail.com, ralf.ei...@gmail.com
Hi Ralf,
And thanks! I like the IA Bookreader as well, at least for multi-page text documents. We may take a look after Mirador.

Cheers,
David

Matt McGrattan

unread,
Jul 31, 2015, 7:43:28 AM7/31/15
to IIIF Discuss, scipioaf...@gmail.com, dhas...@gmail.com
Hi David,

You can email me at the Bodleian regarding the Bodleian's Digital.Bodleian service, our IIIF services, and our Europeana links.

As you know, we originally provided an OAI-PMH feed, with PURLs in the DC metadata that pointed to a much earlier version of Digital.Bodleian. We are in the process of updating the PURLs to point to the new version, as the old service is near-death, and everything is available via the new service.

However, we'd be very happy to talk to you about how best to get the data to you via IIIF, as we now have everything we originally provided to Europeana available via IIIF, and quite a bit more, and we are more than happy for you to harvest it that way. I can probably provide a IIIF Collection, for example, that you can grab, rather than having to do an OAI-PMH harvest and then resolve the PURLs.

Probably not a discussion for IIIF-Discuss, as it's not strictly IIIF relevant, so you can contact me at: matthew....@bodleian.ox.ac.uk

On the IIIF side, I am very interested in the ongoing discussion around cut-down viewers, and we are happy to implement anything on our manifest and image services to help Europeana and others access our content.

Cheers!

Matt

Andrew Hankinson

unread,
Jul 31, 2015, 8:40:49 AM7/31/15
to iiif-d...@googlegroups.com
You may also be interested in Diva.js. We're going to release a IIIF-compatible version later in August, but have some public demos up on our website already:



The IIIF-compatible source code is available on our "develop" branch if you wanted to take it for a spin:


-Andrew

Edward Silverton

unread,
Jul 31, 2015, 9:06:25 AM7/31/15
to IIIF Discuss, andrew.h...@gmail.com
This seems like an appropriate time to mention that the UV is now using Manifesto for all IIIF manifest-related functions:


(Written in TypeScript..!) but a relatively simple on-ramp to learn the basics. As discussed in Washington in May, this library is targeted at anyone who wants to make a viewer, editor (ultimately), or server and not have to worry about the intricacies of parsing/manipulating the jsonld. I intend to write a proper tutorial and documentation soon, but in the meantime for anyone interested there is obviously the UV source code itself, and I've made a couple of simple demo JavaScript apps as proofs of concept that Manifeso will work both as a client and server utility library:



My intention is to continue in this vein with the UV, rationalising UI elements into separate reusable controls.
Reply all
Reply to author
Forward
0 new messages