Web Services & Widgets for the WebOPAC IUG 2009 Annette Bailey Virginia Tech.

Slides:



Advertisements
Similar presentations
Using MAJAX and Google Book Classes in Mashups Annette Bailey University Libraries Virginia Tech April 29, 2008.
Advertisements

Using Google Book Classes in Mashups Excerpt from talk given at IUG 2008 in Washington, D.C Annette Bailey University Libraries Virginia Tech April 29,
Millennium AJAX Annette Bailey University Libraries Virginia Tech.
xID Web Services (xISBN, xOCLCnum, xISSN) FRBR grouping of editions and formats Tim McCormick Product Manager, Grid Services Xiaoming.
XID Web Services Roy Tennant OCLC Research OCLC API Mashathon Monday, 8 February 2010.
XID Web services Xiaoming Liu Senior Software Engineer OCLC.
Arkansas IUG June 18, 2010 Nathan James, MLIS
Samsung Smart TV is a web-based application running on an application engine installed on digital TVs connected to the Internet.
Understand Web Page Development Software Development Fundamentals LESSON 4.1.
Project 1 Introduction to HTML.
River Campus Libraries GUF: Getting Users to Full-Text ( With Voyager®, ENCompass™, OpenURL, etc.) Jeff Suszczynski Senior Web Developer
World Wide Web1 Applications World Wide Web. 2 Introduction What is hypertext model? Use of hypertext in World Wide Web (WWW) – HTML. WWW client-server.
River Campus Libraries Find Articles A Web Redesign for ENCompass David Lindahl Web Initiatives Manager River Campus Libraries University of Rochester.
UWWD In our quest to eliminate bad websites, we present…. HALLELUJAH!!
Bringing Open Source to the Library Lessons Learned NISO Forum Annette Bailey Virginia Tech.
M AKING E - RESOURCE ACCESSIBLE FROM ONLINE CATALOG *e-books *serials Yan Wang Senior Librarian Head of Cataloging & Database Maintenance Central Piedmont.
COMPUTERS AND INFORMATION SYSTEMS HTML. How the Web Works To access a web site  Enter its address (URL) in the address box of your browser 
Web Services & Widgets Godmar Back. Mash-Ups Applications that combine information from different sources in one web page Different architectural choices.
Web 2.0: Concepts and Applications 2 Publishing Online.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Configuring Social Media, Google Analytics, and Gadgets Lila Bronson Training Manager, OmniUpdate, Inc.
CS378 - Mobile Computing Web - WebView and Web Services.
Fall, Privacy&Security - Virginia Tech – Computer Science Click to edit Master title style Design Extensions to Google+ CS6204 Privacy and Security.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Programming with Microsoft Visual Basic 2012 Chapter 12: Web Applications.
Chapter 6 The World Wide Web. Web Pages Each page is an interactive multimedia publication It can include: text, graphics, music and videos Pages are.
Link Resolvers: An Introduction for Reference Librarians Doris Munson Systems/Reference Librarian Eastern Washington University Innovative.
PUBLISHING ONLINE Chapter 2. Overview Blogs and wikis are two Web 2.0 tools that allow users to publish content online Blogs function as online journals.
The Document Object Model. The Web B.D, A.D. They aren’t web pages, they’re document objects A web browser interprets structured information. A server.
Microsoft Internet Explorer and the Internet Using Microsoft Explorer 5.
Lecture # 6 Forms, Widgets and Event Handling. Today Questions: From notes/reading/life? Share Personal Web Page (if not too personal) 1.Introduce: How.
Asterisk based real-time social chat Advisor : Lian-Jou Tsai Student : Jhe-Yu Wu.
Web Engineering we define Web Engineering as follows: 1) Web Engineering is the application of systematic and proven approaches (concepts, methods, techniques,
WorldCat Local & World Cat Quick Start a new way to search your library’s resources and the world beyond.
University Library System, CUHK 香港中文大學圖書館系統 University Library System The Chinese University of Hong Kong Simple, Flexible and Informative - Personalised.
Linking electronic documents and standardisation of URL’s What can libraries do to enhance dynamic linking and bring related information within a distance.
RSC eBook Collection April 2007 RSC eBook Collection Over 700 Books c. 8,000 chapters c. 250,000 pages 10,000 items - tables.
2008 ILS Initiatives October 3, 2007 Users Group presentation of possible ILS related projects in 2008.
Librarians Creating Solutions for Librarians
Where Google Style Searching Meets Library Land WILIUG June 20, 2008 Heidi Bruss, Metropolitan Library System Peter Zeimet, Innovative Interfaces.
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
INTERNET. Objectives Explain the origin of the Internet and describe how the Internet works. Explain the difference between the World Wide Web and the.
Scholarly Information and Research Pathfinder Pro Release 2009B Suzanne Bailey Resource Discovery Specialist.
PART 1: INTRODUCTION TO BLOG Instructor: Mr Rizal Arbain FB:Facebook/rizal.arbain Website: H/P: Ibnu.
The physical parts of a computer are called hardware.
Enhancing the OPAC with the Virtual Shelf Browser Renata Dyer Manager, Systems and Electronic Services High Court of Australia Library.
© 2010 Deep Web Technologies, Inc. Taking the Library Back from Google Abe Lederman, President and CTO Deep Web Technologies May 12, 2010.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
Website Design, Development and Maintenance ONLY TAKE DOWN NOTES ON INDICATED SLIDES.
Users are moving towards web applications Content on the web is more personal & meaningful Development on the web is easier than the OS.
Chapter 27 Getting “Web-ified” (Web Applications) Clearly Visual Basic: Programming with Visual Basic nd Edition.
HathiTrust: Possibilities Metadata Working Group Cornell University Library March 21, 2014.
Rendering Syndicated Library Content in an Institutional Portal: Integrating MyLibrary into uPortal John Fereira: Cornell University Eric Lease Morgan:
CHAPTER 7 LESSON C Creating Database Reports. Lesson C Objectives  Display image data in a report  Manually create queries and data links  Create summary.
Understanding Web-Based Digital Media Production Methods, Software, and Hardware Objective
The ___ is a global network of computer networks Internet.
JavaScript Invented 1995 Steve, Tony & Sharon. A Scripting Language (A scripting language is a lightweight programming language that supports the writing.
1 ODF and Web Mashups Basic techniques Rob Weir, IBM :15.
Web Development. Agenda Web History Network Architecture Types of Server The languages of the web Protocols API 2.
Project 1 Introduction to HTML.
Overview Blogs and wikis are two Web 2.0 tools that allow users to publish content online Blogs function as online journals Wikis are collections of searchable,
Rep change 1590 (ver 18) Access to Google books
Newly updated World eBooks
Project 1 Introduction to HTML.
WHAT DOES THE FUTURE HOLD? Ann Ellis Dec. 18, 2000
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
WorldCat: Broad Web visibility for our collection
MIS Professor Sandvig MIS 324 Professor Sandvig
MIS Professor Sandvig MIS 424 Professor Sandvig
Murach's JavaScript and jQuery (3rd Ed.)
Presentation transcript:

Web Services & Widgets for the WebOPAC IUG 2009 Annette Bailey Virginia Tech

Motivation Enhancing the WebOPAC display with information from outside web services – Dynamic integration even without WebBridge Integrating real-time bibliographic and circulation information into web pages – Turning Millennium into a web service 2IUG Annette Bailey

Overview 1.Google Book Classes – integrate data from Google Book Search Dynamic Links into web pages 2.tictoclookup – enhance web pages with links to journal RSS feeds 3.MAJAX 2 – use real-time information from the library’s catalog in web pages 3IUG Annette Bailey

Challenges Ease of Integration – should require little or no programming Customizability – should allow for flexible layouts and styling Setup and Hosting – should require minimum effort, exploit either free or already available resources 4IUG Annette Bailey

What’s a web service? Definitions: "a software system designed to support interoperable machine-to-machine interaction over a network." [1] "a computational resource that can be accessed via the world wide web" [2] [1] [2] 5IUG Annette Bailey

Web Service Request: Response: Data encoded in XML or JSON JSON: JavaScript Object Notation Data interchange format that uses JavaScript syntax 6IUG Annette Bailey

GOOGLE BOOK CLASSES Web Services & Widgets IUG Annette Bailey7

Google Book Search Dynamic Links API Programmatic client-side access to small set of Google Book Search information – Provides thumbnails of book covers – Provides link to Google’s book information, preview, or full text pages – Provides information on whether Google has full text, partial preview, or no preview – Indexed by ISBN#, OCLC#, LCCN# Released March 2008 IUG Annette Bailey8

Google Book Search Dynamic Links API Keypoints: – can access it by typing a URL in the browser and see what comes back – response uses JSON IUG Annette Bailey9 process({ "ISBN: ":{ "bib_key": "ISBN: ", "info_url": " "preview_url": " \x26source=gbs_ViewAPI", "thumbnail_url": " \x26img=1\x26zoom=5\x26sig=ACfU3U33uGv6VuVsNAOfq-40BmmP64zdXQ", "preview": "partial", "embeddable": true } });

Widgets Data returned by web services can not be used directly in web pages – Need JavaScript to post-process it Enter Widgets – A snippet of HTML/CSS that controls the post- processing and display of data obtained from a web service – JavaScript remains “under the hood” 10IUG Annette Bailey

Google Book Classes Widget A widget to access Google Book Search Dynamic Links API and integrate results into web pages. Demo 11IUG Annette Bailey

IUG Annette Bailey12

Using Google Book Classes in bib_display.html IUG Annette Bailey13 Preview with Google

Google Book Classes Use or Wrap span in a hyperlink – gbs-link-to-preview – gbs-link-to-info – gbs-link-to-thumbnail Conditionals: only keep span/div if … – gbs-if-noview – gbs-if-partial-or-full – gbs-if-partial – gbs-if-full Thumbnails Image – gbs-thumbnail Embedded viewer – gbs-embed-viewer Remove if Google does not index book – gbs-remove-on-failure Multiple classes can be combined IUG Annette Bailey14 More info at:

Using Google Book Classes in WebBridge Create a new resource in WebBridge IUG Annette Bailey15 <span style="display:none" class="gbs-link-to-preview gbs-if-partial-or-full"> ISBN ISBN: X OCLC OCLC: LCCN LCCN:

GBS Identifiers Alternate syntax: use * as IDENTIFIER ISBN: X IDENTIFIER can refer to ISBN #, OCLC #, or LCCN# IUG Annette Bailey16

Google Book Classes Summary IUG Annette Bailey17 Google Book Classes Web ServiceGoogle Book Search Dynamic Link API books.google.com Hosted ByGoogle, Inc. Data ProvenanceGoogle Additional CostFree, but subject to Google Terms of Service Same Domain RestrictionNo Widgetizationgbsclasses.js: class-based: gbs- Requires JavaScript programmingNo Requires Additional ServerNo Suitable for inclusion on III Bibrecord Display Yes Suitable for WebBridge IntegrationYes

TICTOCLOOKUP SERVICE Web Services & Widgets IUG Annette Bailey18

JISC’s Journal Table of Contents Service JISC released data set for Table of Contents for journals – (ISSN, Journal Title) → RSS Feed URL ticTOC lookup service – Based on JISC data set Lives in Google App Engine (“cloud”) – IUG Annette Bailey19

tictoclookup Service Keypoints: – supports ISSN and optional title – runs on Google servers – stand-alone version available IUG Annette Bailey20 {"lastmod": "Wed Apr 29 05:42: ", "records": [ {"title": "Nature AOP", "rssfeed": " {"title": "Nature", "rssfeed": " ], "issn": " "}

Tictoclookup Widget A widget to access the tictoclookup service and integrate those results into web pages. Demo 21IUG Annette Bailey

IUG Annette Bailey22

Using tictoclookup in bib_display.html IUG Annette Bailey23 ticTOC Click to subscribe to the Table of Contents for this journal.

tictoclookup Classes Use Wrap span in link to RSS Feed – tictoc-link Show tooltip with Table of Contents – tictoc-preview – Uses Google Feeds API – Cluetip JQuery plugin Implemented using JQuery Multiple classes can be combined Append journal title to end of span – tictoc-append-title IUG Annette Bailey24 More info at:

Using tictoclookup Classes in WebBridge Create a new resource in WebBridge IUG Annette Bailey25 <span style="display:none“ class="tictoc-link tictoc-preview tictoc-append-title" Subscribe to Table of Contents for

Summary IUG Annette Bailey26 ticTOC Web ServiceticTOC Cloud Application tictoclookup.appspot.com Hosted ByGoogle, Inc. via Google App Engine Data ProvenanceJISC ( Additional CostGenerous free quota, pay per use beyond that Same Domain RestrictionNo Widgetizationtictoc.js:class-based: tictoc- Requires JavaScript programmingNo Requires Additional ServerNo (if using GAE), else need Apache+mod_wsgi Suitable for inclusion on III Bibrecord DisplayYes Suitable for WebBridge IntegrationYes

MAJAX 2 Web Services & Widgets IUG Annette Bailey27

MAJAX 2 Web Service Millennium Server Request: /isbn/ Response: MARC record in JSON 28IUG Annette Bailey MAJAX Web Service Response: MARC record in HTML Request: /i /1,1,1,E/marc&FF=i

MAJAX 2 Web Service MAJAX 2 is a proxy that connects to the Millennium server – retrieves MARC and up-to-the-minute circulation information and converts it to JSON – written in Python – requires Apache/mod_wsgi – Source code available at: IUG Annette Bailey29

MAJAX 2 Service IUG Annette Bailey30 {"searchterm": "i ", "recordurl": " "results": [ {"holdings": ["DUE "], "locations": ["Newman 2nd Floor"], "marc": … "650": [{"i1": " ", "i2": "0", "sf": {"a": ["African American families."]}}, {"i1": " ", "i2": "0“, "sf": {"a": ["African Americans"], "x": ["Social conditions."]}}, {"i1": " ", "i2": "0", "sf": {"a“: ["Family"], "z": ["United States."]}}] … "245": [{"i1": "0", "i2": "0", "sf": {"a": ["Black families /"], "c": ["Harriette Pipes McAdoo [editor].“]}}] }

MAJAX 2 Widget A widget to access the MAJAX 2 web service and integrate results into web pages. Demo 31IUG Annette Bailey

materials.php?subject=lnl_englit IUG Annette Bailey32

Using MAJAX 2 IUG Annette Bailey33 /* adjust these variables */ var majax2ServiceUrl = " var majax2OpacBase = " ISBN:

MAJAX 2 Classes Use Holdings-related – majax-showholdings – majax-showholdings-brief – majax-showholdings-div – majax-ebook – majax-showholdingslocations Bibliographic Information – majax-marc-???-? – majax-harvard-reference – majax-endnote – majax-endnote-switch – majax-endnote-import Miscellaneous – majax-linktocatalog – majax-space – majax-newline – majax-reportfailure – majax-syndetics-yourclientid Multiple classes can be combined IUG Annette Bailey34 More info at:

MAJAX 1 vs. MAJAX 2 Majax 1Majax 2 Web ServiceScreen Scraping III Record DisplayJSON Proxy for III Record Display Hosted ByExisting Millennium Installation /screens WSGI/Python Script on libx.lib.vt.edu Data ProvenanceYour OPAC Additional CostN/ACan use libx.lib.vt.edu for testing, must run WSGI-enabled web server in production Same Domain RestrictionYesNo Widgetizationmajax.js:class-based: majax- classes Requires JavaScript programming No Requires Additional ServerNoYes (Apache+mod_wsgi) Suitable for inclusion on III Bibrecord Display N/A Suitable for WebBridge Integration Yes IUG Annette Bailey35

Conclusion Presented 3 Web Services and 3 Widgets – Easy to integrate Include tags Place tags where you want the data to display – Customizable Control over where and how data displays through classes – Require minimal resources to setup and host Can use /screens directory, Google or own server IUG Annette Bailey36

Acknowledgments Assistant Professor, Dr. Godmar Back ticTOC is a service from JISC MAJAX user community for inspiration! IUG Annette Bailey37

IUG Annette Bailey38 Majax 1Majax 2Google Book ClassesticTOC Web ServiceScreen Scraping III Record Display JSON Proxy for III Record Display Google Book Search Dynamic Link API books.google.com ticTOC Cloud Application tictoclookup.appspot.c om Hosted ByExisting Millennium Installation /screens WSGI/Python Script on libx.lib.vt.edu Google, Inc.Google, Inc. via Google App Engine Data ProvenanceYour OPAC GoogleJISC ( Additional CostN/ACan use libx.lib.vt.edu for testing, must run WSGI-enabled web server in production Free, but subject to Google Terms of Service Generous free quota, pay per use beyond that Same Domain Restriction YesNo Widgetizationmajax.js: class-based: majax- classesgbsclasses.js:class-based: gbs- tictoc.js:class-based: tictoc- Requires JavaScript programming No Requires Additional Server NoYes (Apache+mod_wsgi) NoNo (if using GAE), else need Apache+mod_wsgi III Bibrecord DisplayN/A Yes WebBridge Integration Yes