1 / 16

Extending Primo with Custom Services

Extending Primo with Custom Services. Mark Dehmlow University of Notre Dame Ex Libris Developer Meets Developer Meeting 2010 Jerusalem, Israel ~ November 4, 2010. Overview. Our Customization Strategy and Tools Back Office, CSS, and jQuery

zlhna
Download Presentation

Extending Primo with Custom Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Extending Primo with Custom Services Mark Dehmlow University of Notre Dame Ex Libris Developer Meets Developer Meeting 2010 Jerusalem, Israel ~ November 4, 2010

  2. 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

  3. Version 3 Customization Limited by: activates Access Online tab activates Locations tab

  4. 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

  5. Tiles tabs search user area summary results facets Tiles are jsps or a layout made of multiple jsps

  6. Bringing Maps into Primo

  7. Back Office - Custom Layout

  8. 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); %>

  9. 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

  10. Implementation in version 3

  11. ELCommons – Primo Tabs API http://www.exlibrisgroup.org/display/Primo/EXL+Tab+API pnxId and other variables hidden in HTML

  12. Locations Web Service pnxId primo primo_gateway.cgi holdings + title location.jsp js <html> map img url floor building call number pnxId collection sublibrary call number alephSysNo(s) xserver title collection sublibrary call number holdings alephSysNo(s) aleph maps xserver api

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

  14. DocDel Web Service pnxId primo primo_gateway.cgi docdel.jsp js <html> pnxId alephSysNo(s) xserver reviews holdings metadata to determine docdel eligibility alephSysNo(s) aleph xserver

  15. Questions?

  16. Thank You Mark Dehmlow Digital Initiatives Librarian 574-631-3092 mdehmlow@nd.edu Aaron Bales Systems Librarian 574-631-4035 abales@nd.edu

More Related