Deep dive into the LUNAversal Viewer

What is the LUNAversal Viewer

Let's start with what the LUNAVersal Viewer is and how we see it. I'm also going to speak about it from a development perspective. This will probably be more instructive to you.

We built the LUNAVersal Viewer (internally know as Luna Lite or "ll") as a working example of a number of technologies.

These pieces are brought together with html, javascript and css.

You can see all these pieces on your server in this location.

~/LunaImaging/7.x/LUNA/tomcat/luna_apps/Lite/WebContent

Why use these technologies

We wanted to enhance LUNA Viewer API so that it could be used as a basis for application development that uses content from LUNA. The best way to do this is to build an interface that requires exclusive use of the Viewer API.

IIIF is a natural progression when for content that is going to be platform independent. 

The Universal Viewer was selected for a few reasons.

  • It's flexible and customizable
  • Responsive Web Design allowing form mobile platforms
  • Uses iiif
  • Designed with accessibility in mind

What can be done with it

By default it's a simple interface that has the basic LUNA features

  • Interface Basics: 

    • All LUNA media supported
    • Simple Search
    • Thumbnail View (with thumbnail labels)
    • Media alongside record data only, with zoom (IIIF zoom to be exact). Based on Universal Viewer. Includes:
      • Thumbnail Navigator
      • Full View for media
    • Hamburger Icon
      • Refine (Facets)
      • Select All or one collections
      • Thumbnail Size
      • Media Groups (read only)
      • Sign out
    • Related Items
    • Log in
    • Paging (replace with auto scrolling)
    • Share - just copy the url to share
    • Single white theme
    • Footer
    • Header (one for institutional landing page & one for collection landing page)
    • Touch enabled
      • Swiping between images

Since the interface is based on standard html, css and javascript a Developer can use this as a starting point in creating their own custom interface.