PDS OpenSSO Integration
Tags: pds, advanced, opensso, sso
Last Updated: Nov 12, 2009 16:56
State
In Development
Programming language
Perl, CSS, HTML
Software requirements
OpenSSO
Screen captures

NYU Look and Feel

Generic Look and Feel
Author(s) homepage
http://library.nyu.edu
Download
Coming soon.
Working example
https://pdsdev.library.nyu.edu:443/pds?func=load-login&institute=NYU
Using the following Ex Libris open interfaces
PDS and Aleph X-Services
Changes
Version 1.0
Initial Release
Release notes
Initial Release
Installation instructions
- Add the Class::Accessor perl module via cpan: /exlibris/product/perl-5.8.8/bin/perl -MCPAN -e 'install Class::Accessor'
- Add the Net::OpenSSO perl module to /exlibris/product/perl-5.8.8/lib/site_perl/5.8.8/Net
- Add the NYU::Libraries::XServices perl modules to /exlibris/product/perl-5.8.8/lib/site_perl/5.8.8/NYU/Libraries/XServices
- Update customized files
- In directory /exlibris/primo/p1_1/primoe/apache/htdocs, symbolically link /exlibris/primo/p1_1/pds/html_form/local/ to serve out local css files.
- sudo /exlibris/primo/p1_1/primoe/apache/bin/apachectl restart
Customized Files
ExLibris PDS Files
Core PDS Files
No core PDS files have been updated!
ExLibris HTML Files
- html_form/calling_system-aleph/remote-and-local-list: this file handles scenarios where Aleph is the calling system and no institute is passed in. Customized for Open SSO.
- html_form/global/remote-and-local-list: this file handles scenarios where either the calling system is not separated out by PDS (Primo) or a calling system was not specified in the request and no institute is passed in. Customized for Open SSO.
ExLibris Config Files
- /exlibris/primo/p1_1/primoe/apache/conf/httpd.conf: ScriptAlias "/info" "/exlibris/primo/p1_1/pds/program/info.pl" added for custom rendering of NYU CMS driven help text
- conf_table/gen_conf: customized to set DEFAULT_INSTITUTE of NYU for Metalib, Primo and Aleph in order to enable Single Sign On.
- conf_table/heading-error.eng: customized to handle SSO error text in accordance to the PDS standard.
NYU Local PDS Files
HTML Files
- html_form/institute-bob/login: handles the scenario when the institute passed in the query string is BOB. Generic look and feel and customized for OpenSSO
- html_form/institute-cu/login: handles the scenario when the institute passed in the query string is CU. Customized for Cooper Union look and feel and OpenSSO
- html_form/institute-ns/login: handles the scenario when the institute passed in the query string is NS. Customized for New School look and feel and OpenSSO
- html_form/institute-nysid/login: handles the scenario when the institute passed in the query string is NYSID. Customized for NYSID look and feel and OpenSSO
- html_form/institute-nyu/login: handles the scenario when the institute passed in the query string is NYU. Customized for NYU look and feel and OpenSSO
CSS Files
- html_form/local: local directory was created to handle local css. Symbolic link to directory was create in /exlibris/primo/p1_1/primoe/apache/htdocs for serving out the local css files.
- html_form/local/bob.css: customized css file for generic login screen
- html_form/local/common.css: common css file for login screens
- html_form/local/cu.css: customized css file for Cooper Union login screen
- html_form/local/ns.css: customized css file for New School login screen
- html_form/local/nysid.css: customized css file for NYSID login screen
- html_form/local/nyu.css: customized css file for NYU login screen
Perl Scripts
- program/info.pl: custom cgi script to render NYU CMS driven help text
- service_proc/remote_load_login_opensso.pl: customized to check OpenSSO and display the appropriate login screen if necessary
- service_proc/opensso_sso.pl: customized to check OpenSSO and redirect to the remote-sso pds function
- service_proc/opensso_sso_gen_1.pl: customized to handle pds remote-sso function
Config Files
- conf_table/tab_service.bob: specifies services associated with the generic BobCat institution.
- conf_table/tab_service.cu: specifies services associated with the CU PDS institution.
- conf_table/tab_service.ns: specifies services associated with the NS PDS institution.
- conf_table/tab_service.nysid: specifies services associated with the NYSID PDS institution.
- conf_table/tab_service.nyu: specifies services associated with the NYU PDS institution.
- conf_table/BOB.tags: Mapping of Aleph borrower statuses to Primo institutions for the generic BobCat PDS institution.
- conf_table/CU.tags: Mapping of Aleph borrower statuses to Primo institutions for the CU PDS institution.
- conf_table/NS.tags: Mapping of Aleph borrower statuses to Primo institutions for the NS PDS institution.
- conf_table/NYSID.tags: Mapping of Aleph borrower statuses to Primo institutions for the NYSID PDS institution.
- conf_table/NYU.tags: Mapping of Aleph borrower statuses to Primo institutions for the NYU PDS institution.
NYU Local Aleph Files
HTML Files
- alephe/www_f_eng/pds-login-nyu01: added to handle URL encoding.
TO DO list
Nightly load of Aleph users into MySQL and/or a text file to improve performance.
Known issues
- Primo logout after session timeout
- Basket deep link displays without login
Comments
Cookies
3 cookies play a part in session management
- bobcat (primo): JSESSIONID (if exists, doesn't immediately call pds LOAD_SSO)
- opensso: iPlanetDirectoryPro (for now, pds checks this cookie name dynamically)
- pds: PDS_HANDLE (created by pds after login [guest in some cases])
Relevant Logs
- /exlibris/primo/p1_1/log/pds_server.log - log for PDS perl modules and perl scripts
- /exlibris/primo/p1_1/primoe/apache/logs/error_log - logs STDERR for mod_perl and apache errors. useful for looking at OpenSSO perl module.
- /exlibris/primo/p1_1/primoe/apache/logs/error_log_ssl.<DATE> - logs ssl related errors (not very useful)
- /exlibris/primo/p1_1/primoe/apache/logs/access_log_ssl.<DATE> - logs pds access requests