Interoperability Between Aleph and Primo: Aleph Restful APIs

Slides:



Advertisements
Similar presentations
Good Fences Make Good Neighbors 1 Middleware for Aleph’s REST API Rich Wenger, E-resource Systems Manager MIT Libraries 1. Frost, Robert. “Mending Wall”
Advertisements

BIAF Print Label software setup
How to make a custom service run the X service for renew on a group of patrons Yoel Kortick.
V. 21. new fix_doc_notes fix routine (downgraded to version 20 RC 3513) Yoel Kortick Aleph Support Manager.
Aleph Restful APIs Ori Miller June 2012.
How to sort the “Order Information report” from the service “Print Acquisitions Records acq-03” Yoel Kortick.
How to transfer 85x prediction patterns from ADM library to HOL library Presenter: Yoel Kortick.
How to create a prompt in an Alma Analytics report Yoel Kortick | Senior Librarian.
How to use the SDI RSS Feed Version 18 Yoel Kortick.
1 Yoel Kortick Senior Librarian Alma Product Management 245 $$a Group Settings for Electronic Resources 246 $$a How to control access to electronic resources.
How to add additional privileges to user_function.lng (originally SI ) Presenter: Yoel Kortick.
1 Introduction to Remote Storage Yoel Kortick Senior Librarian.
1 Yoel Kortick Senior Librarian Alma Product Management Inter- institutional fulfillment in a collaborative network.
1 Yoel Kortick Senior Librarian Working with the Alma Community Zone and Electronic Resources.
1 Discovery Interface Display Logic Yoel Kortick Senior Librarian.
Aleph Publishing services with a special focus on PRIMO-FULL and PRIMO-AVAIL version 18 Presenter: Yoel Kortick.
1 Export E-Inventory Job. 2 Copyright Statement All of the information and material inclusive of text, images, logos, product names is either the property.
1 The Basics of Fulfillment setup for loans and requests Yoel Kortick Senior Librarian.
1 Yoel Kortick Senior Librarian Alma Product Management Mapping the bibliographic call number to the holding record call number.
1 Patron Blocks - Librarian assigned and system assigned Senior Librarian Yoel Kortick.
1 Linked Data in Alma and Publishing the Linked Data to Primo Yoel Kortick Senior Librarian
Validation Check Version 21 rep_ver # Yoel Kortick.
SMS Messaging in Aleph 500 Version 20 and up
How to use the job list Version Yoel Kortick.
Ori Miller, Aleph Support Manager
New service, p-ret-adm-03 (Advanced General Retrieval Form) Version 21 rep_ver # Yoel Kortick Alma Global Support Manager
British Library Document Supply Service (BLDSS) API
Linked Data in Alma and Publishing the Linked Data to Primo
ILL2 with partner type Aleph
Log for Patron Record Changes
How to configure a blocked loan to be overridable
How to set up an RSS feed New Book List in Alma
How to print barcodes in batch mode via item-03
Presenter: Yoel Kortick
New and emerging acquisitions workflows Purchase requests
The Synchronization of Alma with Primo and Primo Central
How to configure and use title hold requests version 18
How to create an analytics widget and add it to the Alma dashboard
Aleph 500 Circulation In-House use
Overview of Acquisition Claiming in Alma
Digital Assets Module Services adam-01 and adam-02 versions 17 and up
Check_circ_14_a for LOAN RC 2042 in V20
Creating links from an Alma Analytics report to an external web page
Patron Driven Acquisition (PDA) Demand Driven Acquisition (DDA)
Receiving New Lending requests
Heading maintenance via the GUI
System Administration Management
Yoel Kortick Senior Librarian
Aleph Restful APIs Yoel Kortick January 2010.
Accessing and Using the Alma Link Resolver from Outside Primo
ReturnLoadPatron RC 2024 in V20
Yoel Kortick Aleph Support Manager
Introduction This presentation will show two ways of making a report of newly acquired records: Via services Retrieve Catalog Records (ret-01) and Print.
Using Alma Analytics with the Tableau Web Data Connector
Importing Serial Prediction Patterns Via the Service Import 85X records (Serial-52) Yoel Kortick.
Yoel Kortick Senior Librarian Alma Product Management
Fulfillment Unit Rule based on Process Type
Multi item ILL requests in Aleph 500 Version 21 (rep ver and 17844)
In House Use and Alma Analytic reports for In House use
Yoel Kortick Senior Librarian
Yoel Kortick Senior Librarian
Aleph Beginning Circulation
Aleph Circulation Loans & Returns Version 19
Binding Serial Issues with a Work Order
Letter s How to change fixed text labels in the letters
PDS, Primo, Aleph, MetaLib, SFX General workflow
The LKR field in Cataloging Version 16 and up
Accrual Accounting Yoel Kortick Senior Librarian
New “replace string” parameter for fix_doc_do_file_08
How to use SDI Version 16 Yoel Kortick.
Presentation transcript:

Interoperability Between Aleph and Primo: Aleph Restful APIs Yoel Kortick IGeLU Conference Ex Libris Systems Seminar Haifa, Israel, 2011

Table of contents Content Slides Introduction 3-4 EL Commons and the APIs 5-6 Functions vs. resources 7-8 jboss and jlog 9 Retrieval of record item 10-12 Bibliographic information 13 Retrieval of patron information 14-18 Retrieval of circulation actions 19-22 Viewing the jboss logs and comparing to Primo 23-32 Changing the item display text in Primo 33-38 Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Introduction To see a full list of the Aleph Restful APIs: http://www.exlibrisgroup.org/display/AlephOI/RESTful+APIs An introduction to the Aleph Restful APIs (including Jboss configuration) may be found at: http://www.exlibrisgroup.org/display/AlephOI/*Introduction+to+Aleph+RESTful+API Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Introduction This presentation will not attempt to restate what is already in the previously mentioned documents. It will instead show actual examples via a standard URL, with a stress on the Restful API syntax. The presentation is designed to be an accompaniment to a real live lecture. Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Documentation Via EL Commons Begin with the EL Commons CodeShare Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Via EL Commons One way to arrive to information about the RESTful APIs is to choose Aleph > Open Interfaces from within CodeShare Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Functions and Resources The list of RESTful APIs contains both “functions” and “resources”. In general, verbs are “functions” and nouns are “resources”. Thus: “bookings” is a “resource” and has a corresponding URL: http://il-aleph07:1893/rest-dlf/patron/00000036/circulationActions/requests/bookings “holds” is a “resource” and has a corresponding URL: http://il-aleph07:1893/rest-dlf/patron/00000036/circulationActions/requests/holds Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Functions and Resources “Renew Loan” is a function. It is activated, for example, when a patron renews his loans from Primo This presentation deals only with resources Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Jboss and jlog For the APIs to work the jboss must be running. There is information regarding jboss configuration on EL commons at http://www.exlibrisgroup.org/display/AlephOI/*Introduction+to+Aleph+RESTful+API The jboss log files are in the jlog directory yoelk@il-aleph07(a20_3):...default/log>alias jlog cd $aleph_dev/ng/aleph/home/system/thirdparty/openserver/server/default/log Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Record items http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/record/USM01000052405/items This URL shows the items related to a particular record Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Record items If we remove the /items at the end of the URL … http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/record/USM01000052405/items http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/record/USM01000052405 Then we get a list of the possible additional URLs which may be used for the API. In this case the possibilities are “items” and “holdings” (as we see in the next slide) Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Record items Possibilities to use with the “record” parameter Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach Possibilities to use with the “record” parameter

Bibliographic information If we remove use the ?view=full option then we can see the record in xml format http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/record/USM01000052405?view=full Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

patron patronInformation address http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/patron/313972002/patronInformation/address This URL shows the address of the patron Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

patron If the URL is changed so that only “patron” and the “patron ID appear” (patronInformation is removed) … http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/patron/313972002/patronInformation/address http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/patron/313972002/ Then a list of all possible options to use with “patron” will appear (as we see on the next slide) Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

patron Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach We see here four possible options which may be used with “patron”

patron Each of the four options on the previous slide also may have additional options. For example the third option http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/patron/313972002/patronStatus/ gives two additional options: blocks and registration Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach Option one Option two

Patron patronStatus blocks Here we are using patron, patronStatus and Blocks Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

circulationActions cash http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/patron/313972002/circulationActions/cash?institution=USM50 This URL shows cash transactions of the patron Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

circulationActions cash Note that the results also include a link to each specific cash transaction Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

circulationActions If we remove the /cash from the URL … http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/patron/313972002/circulationActions/cash?institution=USM50 http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/patron/313972002/circulationActions?institution=USM50 Then we will get a list of links to the possible options which may be used with circulationActions Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Options with circulationActions Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach Links to the three options which may be used with circulationActions

Viewing DLFs in the jboss log It is also possible to view the DLFs used by Primo by looking in the jboss log. The jboss log is in directory “$aleph_dev/ng/aleph/home/system/thirdparty/openserver/server/default/log” An alias “jlog” exists to this directory aleph@exlwa-20-1(a20_1):~...alephe/scratch>pwd /exlibris/aleph/u20_1/alephe/scratch aleph@exlwa-20-1(a20_1):~...alephe/scratch>jlog aleph@exlwa-20-1(a20_1):~...default/log>pwd /exlibris/aleph/a20_1/ng/aleph/home/system/thirdparty/openserver/server/default/log_w1 aleph@exlwa-20-1(a20_1):~...default/log>alias jlog cd $aleph_dev/ng/aleph/home/system/thirdparty/openserver/server/default/log aleph@exlwa-20-1(a20_1):~...default/log> Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Viewing DLFs in the jboss log The log file is called: “localhost_access_log.YYYY-MM-DD.log” Each day it automatically is renewed aleph@exlwa-20-1(a20_1):~...default/log>ls -lrt localhost_access_log.2011* -rw-r--r-- 1 aleph exlibris 55995 Jun 13 23:45 localhost_access_log.2011-06-13.log -rw-r--r-- 1 aleph exlibris 46180 Jun 14 23:45 localhost_access_log.2011-06-14.log -rw-r--r-- 1 aleph exlibris 39280 Jun 15 23:55 localhost_access_log.2011-06-15.log -rw-r--r-- 1 aleph exlibris 3406 Jun 16 06:42 localhost_access_log.2011-06-16.log aleph@exlwa-20-1(a20_1):~...default/log> Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Viewing DLFs in the jboss log Let’s say for example that I am viewing records in Primo and click “locations” on one of the records… Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Viewing DLFs in the jboss log I will see this in Primo Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Viewing DLFs in the jboss log And I will see this in the jboss log 199.117.46.180 - - [16/Jun/2011:07:20:44 +0200] "GET /rest-dlf/record/EMY01000100593/items?noItems=100&lang=eng&view=full&patron=&volume=&year=&sublibrary= HTTP/1.1" 200 4271 This URL can then be used to see the raw xml that was sent to Primo Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Viewing DLFs in the jboss log For example: http://yezreelac.exlibris.co.il:1891/rest-dlf/record/EMY01000100593/items?noItems=100&lang=eng&view=full&patron=&volume=&year=&sublibrary= Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Viewing DLFs in the jboss log The XML from Aleph and the display in Primo XML Sent from Aleph Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach Appearance in Primo

Viewing DLFs in the jboss log Now a reader who is logged in to Primo clicks “My Account” and then “Loans” Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Viewing DLFs in the jboss log The following appears in the jboss log 199.117.46.180 - - [16/Jun/2011:07:41:13 +0200] "GET /rest-dlf/patron/313972002/circulationActions/loans?lang=eng&view=brief&type=active&institution=&no_loans= HTTP/1.1" 200 3815 This URL: http://yezreelac.exlibris.co.il:1891/rest-dlf/patron/313972002/circulationActions/loans?lang=eng&view=brief&type=active&institution=&no_loans= Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach Will bring the data on the list of loans

Viewing DLFs in the jboss log XML Sent from Aleph Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach Appearance in Primo

Using tab_www_item_desc.eng We will now use the table $data_tab/tab_www_item_desc.eng to change the display text of particular item information in Primo We are not changing actual data, only display information. For example a library may want a certain status to be called “Two weeks” but in Primo they may want to call it “14 days”. Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Using tab_www_item_desc.eng Here the status is “Two Weeks” in Primo Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Using tab_www_item_desc.eng It comes from here in the xml sent from Aleph Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Using tab_www_item_desc.eng Now in Primo instead of “Two weeks” it states “14 days” Previously it stated “Two weeks” Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Using tab_www_item_desc.eng The XML has not changed, it still states “Two weeks” Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach

Using tab_www_item_desc.eng The reason it appears differently in Primo than it does in the XML is because in ADM library table $data_tab/tab_www_item_desc.eng we have translated “Two weeks” to “14 Days” ! 1 2 3 !!!!!!!!!!!!!!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ITEM-STATUS Two weeks 14 Days Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approach For more information see the table header

Thank You Yoel.Kortick@exlibrisgroup.com