Overview Our Customization Strategy and Tools – Back Office, CSS, and jQuery Thinking “Inside”...

Post on 28-Dec-2015

212 views 0 download

Tags:

Transcript of Overview Our Customization Strategy and Tools – Back Office, CSS, and jQuery Thinking “Inside”...

Overview

• Our Customization Strategy and Tools– Back Office, CSS, and jQuery

• Thinking “Inside” the Box– Using J2EE to Extend Primo

• Putting it all Together – back office / css / jquery / jsp

Version 3 Customization

Limited by:

activates Access Online tab

activates Locations tab

J2EE

• Java 2 Platform Enterprise Edition “is a platform-independent, Java-centric environment from Sun for developing, building and deploying Web-based enterprise applications online. The J2EE platform consists of a set of services, APIs, and protocols that provide the functionality for developing multitiered, Web-based applications.” (Webopedia)(http://www.webopedia.com/TERM/J/J2EE.html)

• Java API, JSP, JavaBeans, Servlets, Applets, JDBC, and much, much more

Tiles

Tiles are jsps or a layout made of multiple jsps

tabs

search user area

summary

results

facets

Bringing Maps into Primo

Back Office - Custom Layout

JSP Embedded Servlet<%@ page import="java.util.*" import="java.util.regex.*" import="java.io.*" import="java.net.*" import="javax.servlet.http.HttpServletRequest" %><% String pnxId = request.getParameter("pnxId"); String pgurl = "http://www.library.nd.edu/eresources/test/primo_gateway/primo_location.cgi?pnxId=" + pnxId; String dat = ""; try{ URL url = new URL(pgurl); BufferedReader bin = new BufferedReader( new InputStreamReader (url.openStream() )); String line = ""; while( (line = bin.readLine()) != null) dat = dat + line + "\n"; }catch(Exception e){ dat = "there was a problem retrieving the desired page"; } %> <% out.print(dat); %>

Pulling it all Together

• JSP – custom tile, web service• CSS hides html returned from web

service• jQuery and jQuery UI create

notification box and place div inside for version 2

• AJAX for version 3

Implementation in version 3

ELCommons – Primo Tabs API

pnxId and other variables hidden in HTML

http://www.exlibrisgroup.org/display/Primo/EXL+Tab+API

map img url floor building call number

primo

Locations Web Service

location.jsp primo_gateway.cgi

pnxId

aleph

xserver

xserver

pnxId

alephSysNo(s)

alep

hSys

No(

s)

title collection sublibrary call numberholdings

maps

api

collection sublibrary call number

<html>

holdings + title

js

DocDel (Deliver)1. Grabs pnxId for each, 2. AJAX sends request for each item to determine eligibility3. Link delivered and placed as a tab for each eligible record

primo

DocDel Web Service

docdel.jsp primo_gateway.cgi

pnxId

aleph

xserver

xserver

pnxId

alephSysNo(s)

alep

hSys

No(

s)

reviews holdings metadata to determine docdel eligibility

<html>js

Thank You

Mark DehmlowDigital Initiatives Librarian574-631-3092mdehmlow@nd.edu

Aaron BalesSystems Librarian574-631-4035abales@nd.edu