Mobile-Patrons

advertisement
Mobile Patrons: Better Services
on the Go
Vincci Kwong and Gary Browning
Indiana University South Bend
13th Annual LITA National Forum
October 3, 2010
Mobile Internet Usage
Mobile Data Applications Usage
Use of Mobile Data Applications
(Age 18-29)
Send/receive text messages
95%
Take a picture
93%
Access the Internet
65%
Play music
64%
Record a video
60%
Play a game
60%
Send/receive email
52%
Use a social networking site
48%
Send/receive instant messages
46%
Watch a video
40%
Post a photo or video online
Use a status update service
Make a purchase
33%
21%
20%
Statistics for Library Website
First Version of Library Mobile Site
Mobile Library Site Homepage
•
•
•
•
•
•
•
•
Ask a Librarian
WorldCat
RefWorks
Hours
Contact
Address
IU Mobile
Schurz Library Homepage
IU Mobile Initiative
https://m.iu.edu/miu-prd/about/index.shtml
Graphic Icon for Mobile
Schurz Library Mobile Interface
http://m.library.iusb.edu
Statistics for Library Mobile Website
120
100
80
60
40
20
0
Mobile Friendly Authentication
Remote access to subscription databases is done
through OCLC’s EZproxy Authentication and
Access software.
EZproxy does not have built-in support for mobile
devices.
How to make EZproxy Mobile Friendly
Incorporate a mobile
device detection library?
http://detectmobilebrowsers.mobi/
EZproxy Ticket Authentication
http://ezproxy.yourlib.org:2048/login?user=rdoe&ticket=a6911a5d021
9f428b33e190a80818625%24c20041222220203&url=http://www.s
omedb.com/
“Ticket authentication allows remote systems to
short-lived URLs that EZproxy will automatically
recognize as being authorized to login and permit
access to a resource with no need for EZproxy to
check back with the program that creates the
URL.” – OCLC website
Sample PHP code
<?php
require("ezproxyticket.php");
$ezproxy = new
EZproxyTicket("http://ezprox
y.yourlib.org:2048", "shhhh",
"someuser");
?>
<a href="<?php
echo($ezproxy>url("http://www.somedb.co
m")) ?>">Some
Database</a><br />
EZproxy user.txt
::Ticket
TimeValid 90
MD5 shhhh
Expired; Deny expired.htm
/Ticket
Central Authentication System (CAS)
Central Authentication Service (CAS) is a login
service that allows you to access multiple
password-protected web systems after logging
in once on a central authentication server; this
is often referred to as single sign-on.
http://www.jasig.org/cas
CAS vs IU CAS
Standard CAS response – XML
<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
<cas:authenticationSuccess> <cas:user>username</cas:user>
<cas:proxyGrantingTicket>PGTIOU-84678-8a9d...
</cas:proxyGrantingTicket> </cas:authenticationSuccess>
</cas:serviceResponse>
IU CAS response –
If validation is successful, CAS sends back a two-line response with
'yes' on the first and 'username' on the second.
Connecting Ezproxy with IU CAS
1. Detect mobile or desktop
2. If mobile, set CASSVC to mobile
3. Check with CAS to see if already
authenticated
4. If authenticated, display database; otherwise
present a login screen
Sample Code – login.php
<?php
include('mobile_device_detect.php');
if(mobile_device_detect(true,true,true,true,true,true,false,false)){
header("Location:
https://cas.iu.edu/cas/login?cassvc=MOBIU&casurl=https://www.domain.e
du/~site/cas/casauth.php");
}else{
header("Location:
https://cas.iu.edu/cas/login?cassvc=IU&casurl=https://www.domain.edu/~
site/cas/casauth.php");
}
?>
Sample Code – casauth.php
<?php
session_start(); //start session
if( isset($_GET['casticket']) ){ //check to see if a ticket has been passed
$ticket = $_GET['casticket'];
} else {
$ticket = "";
}
Sample Code – casauth.php cont.
/*
* check CAS ticket authenticity and get the user's uid back
* the variable $contents will have the string
* "ticket '<ticket value>' not recognized" if a bad ticket
* has been provided.
*/
$casXML =
fopen("https://cas.iu.edu/cas/validate?cassvc=IU&casticket=$ticket&servic
e=https://www.domain.edu/~site/cas/casauth.php","r");
$contents = fread($casXML, 1024);
fclose($casXML);
Sample Code – casauth.php cont.
list($yesno, $netid) = split("\n", $contents, 2);
$authok = trim($yesno);
$iuid = trim($netid);
if ($authok == "no") {
header("Location: https://www.domain.edu/~site/cas/login.php");
}
else {
$_SESSION['auth'] = $iuid;
header("Location: https://www.domain.edu/~site/cas/success.php");
}
?>
A Better Idea – Can IU Mobile do it?
IU Mobile is already connected to IU CAS
Need ability to
• Check if authenticated
• Display alternative information if not
• Restrict to campus level
Yes, IU Mobile Can do it!
<authenticated>
<list-item>
<link type="xml" xml="http://it.iusb.edu/demo2.php" title="Subscription
Databases" />
</list-item>
</authenticated>
<not-authenticated>
<list-item>
<link type="xml" xml="http://library.iusb.edu/miuxml/oopsSubscribed.xml"
title="Subscription Databases" />
</list-item>
</not-authenticated>
Authenticated vs. Not-Authenticated
Sample restriction to South Bend
<list-item>
<authenticated>
<if permission="southbend">
<link type="external" url="<?php echo($ezproxy>url("http://vnweb.hwwilsonweb.com/mobile/jumpstart.jhtml")) ?>"
title="HW Wilson" />
</if>
</authenticated>
</list-item>
Computer Availability Mobile Webpage
http://m.iusb.edu
System Requirements
Computer Availability
•
•
•
•
Web Server such as Apache or IIS
PHP
Database such as MySQL
Ability to run login and logout scripts
How it works
• Script run at login updates database
• Script run at logout updates database
• Standard html version available at
www.iusb.edu/~labseats
For mobile, output data as XML
<seats> <?php
foreach ($regions as $region) {
$region_id = $region['region_id'];
$region_display_name = $region['display_name'];
$region_location = $region['location'];
$region_mac_status_counts = get_status_counts_for_region($region_id, 'Mac');
$region_pc_status_counts = get_status_counts_for_region($region_id, 'PC');
$total_idle_mac_computers = $region_mac_status_counts['idle'];
$total_busy_mac_computers = $region_mac_status_counts['busy'];
$total_idle_pc_computers = $region_pc_status_counts['idle'];
$total_busy_pc_computers = $region_pc_status_counts['busy'];
$total_idle_computers = $total_idle_mac_computers + $total_idle_pc_computers;
$total_online_computers = $total_idle_computers + $total_busy_computers;
print "<seat lab=\"$region_building $region_location\"
building=\"$region_display_name\"
availability=\"$total_idle_computers/$total_online_computers\" campus=\"
SB\" /> \n”; }
?> </seats>
Texting Reference Service
Planning for Mobile Website
1.
2.
3.
4.
5.
6.
Needs assessments
Integrate with existing library services
Project planning
Build the site
Testing, marketing, launching
Keeping up
Library Resources with Mobile Platforms
•
•
•
•
•
•
•
•
•
•
•
•
•
Ebscohost
H.W. Wilson
PubMed
WorldCat
Lexis/Nexis Get Cases and Shepardize
Fastcase
RefWorks
Hoovers
Encyclopedia Britannica
arXiv Browse
Factiva
IEEE Xplore
Westlaw
Mobile Services Offered by
Other Libraries
SMS notification services
• Kansas State University Libraries
Mobile collections
• Duke University
Mobile instruction
• Open University Library
• LibGuides
Library tour
• Temple Universities Libraries
• University of Illinois at Urbana-Champaign
Resources
• Mobile Access 2010 http://www.pewinternet.org/~/media//Files/Reports/2010/PIP_Mob
ile_Access_2010.pdf
• Detect Mobile Browsers - http://detectmobilebrowsers.mobi/
• OCLC Ezproxy http://www.oclc.org/support/documentation/ezproxy/usr/default.ht
m
• CAS - http://www.jasig.org/cas
• XML Tutorial - http://www.w3schools.com/xml/default.asp
• AOL Mobile - http://mobile.aol.com/product/sms-text/aim-txt/
• M-Libraries Success Wiki http://www.libsuccess.org/index.php?title=M-Libraries
Questions?
Feel free to contact us at
• Vincci Kwong
• Email: vkwong@iusb.edu
• Phone: 574-520-4444
• Gary Browning
• Email: gary@iusb.edu
• Phone: 574-520-5516
Download