Download dmd_2010_dehmlow

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Cascading Style Sheets wikipedia , lookup

URL shortening wikipedia , lookup

URL redirection wikipedia , lookup

Transcript
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 platformindependent, 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
tabs
search
user area
summary
results
facets
Tiles are jsps or a layout made of multiple jsps
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
http://www.exlibrisgroup.org/display/Primo/EXL+Tab+API
pnxId and other variables hidden in HTML
Locations Web Service
pnxId
js
location.jsp
<html>
holdings + title
primo_gateway.cgi
collection
sublibrary
call number
title
collection
sublibrary
call number
holdings
primo
xserver
map img url
floor
building
call number
xserver
aleph
api
maps
DocDel (Deliver)
1. Grabs pnxId for each,
2. AJAX sends request for each item to determine eligibility
3. Link delivered and placed as a tab for each eligible record
DocDel Web Service
pnxId
js
docdel.jsp
<html>
primo_gateway.cgi
primo
reviews holdings metadata
to determine docdel eligibility
xserver
xserver
aleph
Thank You
Mark Dehmlow
Digital Initiatives Librarian
574-631-3092
[email protected]
Aaron Bales
Systems Librarian
574-631-4035
[email protected]