• Avatar Josh Weisman Ex Libris

    Leads a development team at Ex Libris. Advocate for the Open Platform.

  • Making the most of the new API Console
    The updated Developer Network sports a host of features, including a brand-new API Console. This new console is powered by Swagger tools and is made possible by our new support for the OpenAPI standard.A general overview of how to use the API Console is available in the Getting Started Guide. In this blog post we'll…

    ALMA OPENAPI

    Welcome to the Updated Developer Network
    When we launched the Ex Libris Developer Network in 2014, it was in the context of our Open Platform Strategy. Our stated goal was to: Allow you to leverage your investment in Ex Libris products by integrating them with existing systems and by extending them with additional functionality. Ex Libris, 2014 Since then adoption of the Developer…

    GENERAL

    Streaming Video in the Alma Digital Repository
    The Alma digital repository has supported video playback via the capabilities of the browser. This means that video files had to be prepared and deposited into the repository in a supported format. In addition, large video files were not always delivered in an optimal resolution dependent on the user's bandwidth.It's now possible to leverage recently…

    ALMA DIGITAL

    Making Parallel API Calls to Alma
    It's often helpful to make several Alma API calls in parallel, for example when using APIs to change lots of data, or to bring data from several sources for an online application. Writing parallel code has always been challenging. It used to be the realm of programmers with specialized expertise and experience. But recent features…

    ALMA

    Leveraging the public cloud: Adding a "Deploy" button to your repository
    In this contribution to our occasional series on leveraging the public cloud, we're going to add a "Deploy now" button to our Github repository to enable super-simple deployment of the app we want to share. Our repository's readme file has instructions for how to install the app and its dependencies and what environment variables must…

    ALMA

    Extracting Full Text (OCR) in the Alma Digital Repository
    The digital repository features in Alma continue to be developed. Recently support was added for automatic full text extraction for digital images (OCR), and you can now search for text within one of the built-in viewers. In this blog post, we'll review how to extract text from images in Alma and how that text can be…

    ALMA DIGITAL

    Case-insensitive identifiers and emails in Alma
    Case sensitivity in computer programs determines how fields values are treated. Case-sensitive means that the computer program only matches values with the same case (lower/upper). Case-insensitive means the program ignores case and matches values regardless of their lower or upper case letters, e.g. "My Name" = "my name"). Alma has always treated primary identifiers in…

    ALMA

    Alternate Formats for Linked Data in Alma
    As we've discussed previously, the Linked Data features in Alma now allow bibliographic records to be retrieved in three different formats- BIBFRAME, RDA/RDF and JSON-LD. In addition, staff users can view records in BIBFRAME directly from the record view: For some linked data experts, these formats may be perfectly readable as-is. But they were intended…

    ALMA

    Simple Linked Data-Powered Author Card
    All bibliographic and local authority records managed in Alma are available in various linked data formats. Details on Alma’s linked data features are available in the documentation and this blog post. As this is an emerging area, we are exploring possible use cases that can be served well by linked data. A “classic” use of…

    ALMA

    Discovery-Optimized APIs: Requests and Request Options
    In a previous blog post, we explained the rationale behind offering discovery-optimized APIs. In a recent Alma release, additional support has been added for handling requests via APIs. In this post we review the new features and how those features were utilized in our Blacklight reference application. Request Options To display the relevant request options…

    ALMA DISCOVERY

    Build a Quick Catalog Form with the Enhanced BIB APIs
    In a recent blog post, we described the cataloging enhancements made to the BIB APIs. These enhancements include: The ability to validate and run normalizations on added/updated records Linking/unlinking a local BIB to a network zone record Cataloger level, stale version check to ensure that records are not correctly overwritten Warnings and override when deleting…

    ALMA

    Implementing a Custom Viewer for PDF Files
    Alma's built-in digital viewer can display the wide variety of content supported natively by browsers, including images, movies, audio files, and PDFs. However, the interface and functionality for displaying PDF files varies by browser. In order to better control the user experience, you can implement a custom viewer service for PDF files. For our example,…

    ALMA DIGITAL

    Discovery-Optimized APIs: Working with Serials
    In a previous blog post, we explained the background and rationale behind offering discovery-optimized APIs. In a recent Alma release, additional support has been added for the display of serials. In this post we review the new features and how those features were utilized in our Blacklight reference application. Location list for serials To provide…

    ALMA DISCOVERY

    Discovery-Optimized APIs: Physical Holdings and Online Resources
    Alma works great with the Ex Libris discovery systems - Primo and Summon. But we also recognize that some institutions want to develop their own discovery systems. This approach may come from a desire to have a completely tailored discovery experience, or as a response to the need to expose collections and content other than…

    ALMA DISCOVERY

    Journey to Linked Open Data Support - An Update
    Ex Libris has been hard at work implementing linked open data (LOD) features. In close cooperation with the IGELU/ELUNA Working Group on Linked Open Data, LOD has appeared in road map highlights going back several years. Now at the beginning of 2018 I'd like highlight several features released in the past few months, and to pause…

    ALMA PRIMO

    Access Your Report List with the New Analytics Paths API
    The Analytics Report API provides access to any data that can be exposed in an analytics report. The most recent Alma release has introduced a new API in the analytics area - the Report Path API. It takes the analytics catalog path as a URL parameter and returns a list of subdirectories and reports that appear under…

    ALMA PRIMO

    REST Libraries with Ex Libris APIs
    At Ex Libris we strive to build our APIs according to accepted REST standards and practices. These include: Use of HTTP verbs and status codes Support for JSON and XML including WADLs, XSDs, and Content-Type headers Authentication via Authorization header and API keys Aside from providing a consistent and predictable experience for developers, use of…

    ALMA PRIMO

    Standards Support at Ex Libris
    As a part of our open collaboration with customers, Ex Libris engages with the IGeLU/ELUNA Interoperability Special Interest Working Group (SIWG) to encourage use of our platform, support a community of developers, and receive input on the APIs and integrations road maps. The working group published a position paper in 2017 in which it recommended…

    ALMA LEGANTO PRIMO ROSETTA

    Accepting Digital Deposits via Email
    Alma's support for the SWORD digital deposit protocol makes it easy to build custom deposit tools for our users. However, no matter straight forward we make our deposit tool, we can't beat the ease of email. To allow users to send files to our repository via email would be the ultimate in usability. We've previously…

    ALMA DIGITAL SWORD

    Use an External Viewer with the Digital Delivery Service
    In a previous post, we showed how to use the IA Book Reader with digital content managed in Alma. Our example used the BIB and file APIs to retrieve the information necessary to display our content in the viewer. Several recent improvements to Alma allow us to make this flow more efficient. These new features include:…

    ALMA DIGITAL

    Process Orchestration with the Set and Job APIs
    Over the past year, Alma's job and set APIs have been developed to the point where many process orchestration scenarios are now possible. According to Wikipedia, “Orchestration is the automated arrangement, coordination, and management of computer systems, middleware and services.” Alma performs bulk work on sets of records, such as bibliographic records, users, items, etc.…

    ALMA JOBS

    Serverless Workflows with Azure Logic Apps and Alma Webhooks
    As more workflows and applications are deployed to the cloud, many organizations are interested in adopting serverless computing. In this model, code is deployed to the cloud provider in the form of discrete functions, and the cloud provider ensures there are ample compute resources to execute the functionality when needed. A previous blog post showed an…

    ALMA WEBHOOKS

    Building a Digital Deposit Tool for Alma
    Institutions who implement their institutional repository with Alma require a deposit workflow for users. The requirements for a deposit tool can often vary widely among institutions and even among workflows. For example, a tool to deposit theses would require different metadata and file types than a tool to accept faculty-produced PowerPoint presentations. Now that Alma…

    ALMA DIGITAL SWORD

    Tableau Web Data Connector for Ex Libris Analytics
    Many Ex Libris customers use Tableau Software for business intelligence. Tableau provides a way to visualize data from various sources, and offers special pricing for academic institutions, making it an attractive option for many university libraries. In a recent Show & Tell sponsored by the ELUNA/IGELU Interoperability Special Interest Working Group, Joan Kolarik showed a…

    ALMA

    Real Time Notifications with Alma Webhooks
    We were introduced to Alma's support for webhooks in a previous blog post. Webhooks allow us to respond to events that happen inside of Alma. Initial support was provided for the job end event. A recent Alma version has added a new event for patron notifications. We can now configure Alma to send a webhook…

    ALMA WEBHOOKS

    Getting Started with SWORD Digital Deposits
    As part of the institutional repository workflows, Alma now supports depositing digital material using the SWORD 2.0 protocol. SWORD is an ATOM-based protocol meant to facilitate the deposit process between a client and digital repository server. In Alma terms, this means that a client can perform the following actions: Deposit one or more files along…

    ALMA DIGITAL SWORD

    Hosting a C# Webhook Listener in Azure
    In previous blog entries we’ve been introduced to webhooks in Alma, and we’ve learned how to build and host a webhook listener in the public cloud using the AWS API Gateway and Lambda service. In this article, we will build a webhook listener in C# and host it on the Microsoft Azure cloud service. As…

    ALMA WEBHOOKS

    Integrating Blacklight with Alma and an Ex Libris Central Index
    In a previous blog post, we learned how to integrate Alma with Blacklight as a discovery layer. There we saw how to utilize Alma for real time availability and fulfillment services for materials which are indexed in our institution's repository. In order to provide our users with a search of articles and journals we'll need…

    ALMA DISCOVERY

    Hosting a Webhook Listener in AWS
    As part of a continuing series on leveraging the public cloud, we present this walk through for hosting an Alma webhook listener using the Amazon Web Services platform. If you're looking for an introduction to webhooks and a basic listener implementation, see this previous blog post. Implement a Webhook Receiver In order to use webhooks,…

    ALMA WEBHOOKS

    Integrating Blacklight with Alma
    As an open library management system, Alma can integrate with third party discovery platforms. In previous blog posts, we've shown how to harvest repository information from Alma into an AWS CloudSearch (Lucene) instance, and how to integrate with Alma to obtain real time availability and and fulfillment services. In this post, we should how to…

    ALMA DISCOVERY

    Getting Started with Webhooks in Alma
    Now that Alma supports webhooks, a whole new style of integrating and orchestrating technical tasks is available to developers and system librarians. With webhooks, you can request that Alma make an HTTP callback when a certain event occurs. As Wikipedia describes, webhooks are "user-defined HTTP callbacks ...  usually triggered by some event. ... When that…

    ALMA WEBHOOKS

    Ex Libris API Road Map
    In an effort to help our customers plan their development projects against Ex Libris products, we're publishing this product-by-product API Road Map. It represents our thinking about where we're continuing to invest resources and where we see our APIs progressing. IMPORTANT NOTE: Since we're calling this blog a road map, we need to clearly state…

    ALMA PRIMO

    Leveraging Social Login with Alma
    As a part of efforts to support additional methods of authentication, staff users can now log into Alma using social networks such as Google and Facebook. And patrons will be able to login to Primo using social authentication as well, including the option for self registration if enabled by the institution. More information about how…

    ALMA

    Advanced API Usage Reports Now Available
    One of the benefits of the Developer Network is the ability to manage your APIs from the dashboard. The Alma and Primo getting started guides explain how to use the dashboard to create API keys, assign permissions, and direct the API calls to production or sandbox environments. Now the dashboard has become even more useful…

    ALMA PRIMO

    Using the IA Book Reader with Alma
    In a previous blog post we demonstrated the ability to access files stored in Alma via a custom viewer. This allows for a user experience best suited to a particular type of digital material. In this post we'll show how to use the Internet Archive Book Reader to display a digitized book stored in Alma.…

    ALMA DIGITAL

    REST API Governance Thresholds - Explained
    The ELUNA & IGELU Interoperability Special Interest Working Group recently hosted a "show & tell" in which we presented an explanation of the governance thresholds that affect Alma and Primo REST APIs. We thought the information might be helpful to the wider Ex Libris developer community, so we're providing a link to the short slide…

    ALMA PRIMO

    Developer Network Update - 2016
    At the end of the second year since the launch of the Ex Libris Developer Network, we're happy to share with the community some milestones. Growing Usage The Developer Network has seen continued growth in usage since it was launched, and now serves over 10,000 sessions a  month for more than 5,000 unique visitors. Active…

    ALMA PRIMO

    Accessing Digital Resources with a Custom Viewer
    In a previous blog post we showed how to integrate collections into an external application. We leveraged the Alma digital viewer to display digital materials stored in Alma. The Alma digital viewer is a good generic delivery interface which provides basic support for multi-file representations, metadata, and diverse file types such as images, audio, video,…

    ALMA DIGITAL

    Exposing Collections in External Applications
    Collections in Alma can be used to group bibliographic records into a hierarchical structure. While any bibliographic records can be added to collection, a primary use case is to organize digital resources. As such, records which have digital inventory must be associated with a collection. Alma can be configured to publish collection information to Primo,…

    ALMA DIGITAL

    Using the Alma APIs with Java Proxy Classes
    The Alma REST APIs return JSON natively. This is the natural choice for developers working in dynamic languages, such as Node.js and Ruby. These languages interpret the JSON into native types, such as Array, Hash, String, and make it easy to manipulate data returned by the APIs. For those who work in a strongly-typed language…

    ALMA

    Leveraging the public cloud: Sending notifications to patrons
    Alma's software-as-a-service offering allows institutions to reduce expenditures on internal IT infrastructure. Many institutions are looking to extend that savings to integrations and services which support the library system. The public cloud provides an opportunity to host those additional services in a cost-effective and robust infrastructure. This is the first in a series of blog…

    ALMA

    Using the Alma APIs with Node.js
    In the past couple of years, Node.js has become quite popular. With its cross-platform support, powerful package manager, and asynchronous architecture, Node is the environment of choice for many greenfield applications today. This simple example can get you started using the Alma APIs in a Node.js application. Since the Alma REST APIs return JSON natively…

    ALMA

    Integrating with Alma's Real Time Availability and Get-It Tab
    Alma provides APIs to determine the physical, electronic, and digital availability of a BIB. Alma's fulfillment services page, or "Get It tab", provides users with detailed information about the resource, along with links to view online versions or request physical copies. Combining the availability API with the fulfillment services page, integrated with your organization's single…

    ALMA DISCOVERY

    The Ex Libris Developer Network - One Year On
    Happy Birthday to the Developer Network. It's been a year since it was launched at ELUNA 2014. In the past year the Developer Network has grown, and we'd like to take a few moments to look back at what's been accomplished. The Developer Network Community First and foremost, the Developer Network is a community for…

    ALMA PRIMO

    Alma Analytics Data in a Google Chart
    Alma Analytics is a great source of information that can help your institution get even more out of Alma. You can build custom reports and dashboards, and expose the information as a widget to appear on the Alma home page. Alma Analytics comes with impressive data visualizations which present the data in a compelling format.…

    ALMA

    Harvesting OAI into Amazon AWS CloudSearch
    Alma supports OAI publishing via its publishing platform. Publishing is a very powerful means of sharing the content of our Alma repository with other systems. When configuring a publishing profile, we specify a set of the records which will be published. We can also specify if we want the results to be written to a…

    ALMA DISCOVERY

    Integrating Alma and PayPal with the Alma REST APIs
    In this world of cloud systems and integrated user experiences, patrons expect to be able to perform transactions in a frictionless manner. And paying library fines is no exception. Currently, Alma provides out-of-the-box support for the WPM Education payment system in use by many UK institutions.  But the Alma APIs allow us the freedom to…

    ALMA

    Next Generation Library Application Development
    In designing and implementing the new Ex Libris Developer Network, we considered how applications written against our platforms will be developed in this new age of cloud-based SaaS library systems. We felt it would be beneficial to the community to share what we learned during the process. In cooperation with the Code4Lib journal, we've published…

    ALMA PRIMO

    How we're building APIs at Ex Libris
    As a part of the launch of the Developer Network, we at Ex Libris have done some work on standardizing our external APIs. The goal of standardization is to allow those developing applications against Ex Libris products to learn one style and leverage that knowledge across our products. These standards are being implemented for all…

    ALMA PRIMO

    Creating a Student Portal with the New Alma APIs
    Introduction We're going to use the new Alma REST APIs to build a basic student portal with a few features to help get you started with Alma APIs. First, we create a basic ASP.NET MVC 4 application in C#. MVC is a popular programming style which stands for Model, View, Controller. Of course, Alma APIs…

    ALMA

    Welcome to the Ex Libris Developer Network!
    We've worked hard over the past year to bring to you the next step in our Open Platform Program. The program was instituted five years ago with the goal of providing customers a platform for integration and extension. We've challenged ourselves to take the next step, and to... Allow you to leverage your investment in…

    GENERAL

    How to Replace a File in an Existing IE
    In this use case a single file with a known (and unique) filename needs to be replaced. For this purpose we created a sample program called updateAIP. The program requires: The original filename. The IE PID of the existing file, if not provided, will be retieved by an SRU search for the filename. The file PID…

    ROSETTA