MetaLib X-Services for Version 4 and the PDS
- Article Type: General
- Product: MetaLib
- Product Version: 4
Karen Groves, MetaLib Product Manager, posted the following message to the X-Server listserv on November 2, 2006 discussing developments in MetaLib version 4 as they relate to the PDS. Below is the full text of the posting.
Dear MetaLib X-Server customers,
This is the second of four planned postings to provide more information about remaining MetaLib X-Server developments that will be released with MetaLib 4.00.
This posting will provide additional details about the MetaLib X-Server integration with the upgraded PDS 1.3 (Patron Directory Services) module.
This development enables user authentication via ‘remote’ authentication methods supported by PDS/MetaLib from calling applications using the appropriate X-Services.
Currently, only ‘local’ user authentication/authorization is possible via existing X-Services. In other words, the user account must currently be defined within the MetaLib Administrative module, rather than an existing user account in a ‘remote’ campus authentication system, etc.
With MetaLib 4.00, the calling application can initiate a login to a remote authentication system by invoking a direct call to PDS in order to authenticate the user. PDS will return a pds_handle to the calling application, which can then be used in subsequent X-Server requests to filter requested services for a particular user.
Using the pds_handle, the X-Server can obtain patron attributes such as institution/portal, user group, user name, bor_id, etc. for a particular user.
The logical flow of this enhancement is as follows:
1. The calling application sends an HTTP request directly to PDS to obtain a pds_handle. The syntax for the HTTP request is:
http://<server IP:port where PDS is installed>/pds?func=load-login
2. On subsequent X-Server requests, the calling application can submit the pds_handle to filter requested services for a particular user. When this occurs, the X-Server:
a. Receives the pds_handle from the calling application
b. Validates the pds_handle format (correct number of characters / digits)
c. If valid, the X-Server checks if the user already has a session with this pds_handle.
i. If the user doesn't have a session, a new session is created (similar to the standard login procedure via the MetaLib user interface)
d. If the user is not listed in the MetaLib local user table, the X-Server:
i. Requests bor_info from PDS, using the pds_handle
e. If the pds_handle is not valid, an error message is displayed and the requested service is terminated.
i. This error condition means PDS has no bor_info for the given pds_handle
f. If the bor_info request succeeds:
i. A new user record is created in MetaLib’s Oracle data library (vir00) using the bor_info received from PDS
ii. The session record is updated
MetaLib 4.00 X-Services that can subsequently be filtered for a particular remotely-authenticated user by submitting the pds_handle with the request from the calling application include:
• Bor_info – requests borrower information for a specific user
• Source_locate – locates resource(s) by matching specified criteria
• Retrieve_category – retrieves a list of categories/sub-categories per user profile
• Retrieve_resources_by_categories – retrieves a list of resources included in a specific category/subcategory as defined in a specified Institution/Portal
• Retrieve_quick_sets – retrieves a list of QuickSets per user profile
• Retrieve_resources_by_quick_sets – retrieves a list of resources included in a specified QuickSet as defined in a specified Institution/Portal
• Retrieve_my_sets – retrieves a list of ‘My Databases’ sets defined for a specified logged-in user
• Retrieve_eShelf_folders – retrieves a list of e-Shelf folders defined for a specified logged-in user
• Retrieve_eshelf_folder_records – retrieves a single or multiple records included in a specified 'My e-Shelf' folder defined for a specified logged-in user
• Find – searches in one or more specified resources
• Search_quick_sets – searches in a specified QuickSet
This MetaLib 4.00 X-Server enhancement was requested by our user community. We hope you will find this information, and the upcoming release of this development, useful in your current and future MetaLib integration projects.
The next posting will provide additional details about upcoming enhancements to provide MetaLib 4.00 topic clustering/faceting information for merged search results sets via the X-Server.
- Article last edited: 10/8/2013