SlideShare una empresa de Scribd logo
1 de 44
Mobile Patrons: Better Services
on the Go
Vincci Kwong and Gary Browning
Indiana University South Bend
10th
Brick & Click Libraries
November 5, 2010
Mobile Internet Usage
Mobile Data Applications Usage
Statistics for Library Website
Mobile Website or Mobile App?
• Target audience
• User experience
• Technical skills
• Costs
First Version of Library Mobile Site
Popular Items on Mobile Website
• Library catalog
• Floor map
• Events
• Hours
• Social media info
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
Mobile Site Generator
• Hidden Peanuts
• Molly
• iPhone Application - DCPL
Mobile Friendly Authentication
Internet
Built-in
Authentication
Remote access to
subscription databases
is done through OCLC’s
EZproxy Authentication
and Access software.
Mobile Friendly Authentication
Internet
Built-in
Authentication
EZproxy does not have
built-in support for
mobile devices.
X
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=a6911a5d0219f428b33e190a80818625%24c20
041222220203&url=http://www.somedb.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
EZproxy Ticket Authentication
Internet
Valid ticket?
Generate Ticket
Web Server with PHP
Server with ezProxy
External Authentication
Internet Valid ticket?
authenticated?
Generate ticket
authentication
validation
service
Server with ezProxyWeb Server with PHP
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
• http://detectmobilebrowsers.mobi/
2. Set CASSVC (service)
• If detect mobile, set service 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.edu/~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&service=https://www.domain.edu/~site/cas/c
asauth.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>
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
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
Internet
Workstations
Web Server with PHP MySQL Server
Active Directory Server
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>
Mobile Output
Internet
Web Server with PHP MySQL Server
IU Mobile Server
Texting Reference Service
Planning for Mobile Website
1. Needs assessments
2. Integrate with existing library services
3. Project planning
4. Build the site
5. Testing, marketing, launching
6. Keeping up
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
QR Code
• Two-dimensional barcode readable by QR
scanners, mobile phones with camera, and
smartphones.
• Stores text, URL or other data.
QR Code Generator
• Kaywa
• ZXing Project
• Mobile-Barcode
• Bit.ly
• goo.gl
• …. and more!
Chrome extension
QR Code Reader
• i-nigma
• ScanLife
• BeeTagg
• Lynkee
http://www.mobile-barcodes.com/qr-code-software/
Resources
• Mobile Access 2010 -
http://www.pewinternet.org/~/media//Files/Reports/2010/PIP_Mobile_Ac
cess_2010.pdf
• Detect Mobile Browsers - http://detectmobilebrowsers.mobi/
• OCLC Ezproxy -
http://www.oclc.org/support/documentation/ezproxy/usr/default.htm
• 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
• QR Code: Library Success Wiki -
http://www.libsuccess.org/index.php?title=QR_Codes
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

Más contenido relacionado

Destacado

Drupal: Library Web Sites Made Easy
Drupal: Library Web Sites Made EasyDrupal: Library Web Sites Made Easy
Drupal: Library Web Sites Made Easy
Vincci Kwong
 

Destacado (9)

Peer Review 101
Peer Review 101Peer Review 101
Peer Review 101
 
Google Hummingbird: What do you know?
Google Hummingbird: What do you know?Google Hummingbird: What do you know?
Google Hummingbird: What do you know?
 
How to Enhance Findability of Library Web Content via SEO
How to Enhance Findability of Library Web Content via SEOHow to Enhance Findability of Library Web Content via SEO
How to Enhance Findability of Library Web Content via SEO
 
Don't Take Grants for Granted!
Don't Take Grants for Granted!Don't Take Grants for Granted!
Don't Take Grants for Granted!
 
Website Usability
Website UsabilityWebsite Usability
Website Usability
 
Life After Going Live: Up-to-date or Outdated?
Life After Going Live: Up-to-date or Outdated?Life After Going Live: Up-to-date or Outdated?
Life After Going Live: Up-to-date or Outdated?
 
Drones and Libraries: Is the Future Now, or Simply the Future?
Drones and Libraries: Is the Future Now, or Simply the Future?Drones and Libraries: Is the Future Now, or Simply the Future?
Drones and Libraries: Is the Future Now, or Simply the Future?
 
Drupal: Library Web Sites Made Easy
Drupal: Library Web Sites Made EasyDrupal: Library Web Sites Made Easy
Drupal: Library Web Sites Made Easy
 
Decision Making for All: Leaders, Followers, Partners, Loners, and More!
Decision Making for All: Leaders, Followers, Partners, Loners, and More!Decision Making for All: Leaders, Followers, Partners, Loners, and More!
Decision Making for All: Leaders, Followers, Partners, Loners, and More!
 

Similar a Mobile Patrons: Better Services on the Go (For Novice)

WebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla LondonWebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla London
Robert Nyman
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
Robert Nyman
 
David Keeney - SQL Database Server Requests from the Browser @ Postgres Open
David Keeney - SQL Database Server Requests from the Browser @ Postgres OpenDavid Keeney - SQL Database Server Requests from the Browser @ Postgres Open
David Keeney - SQL Database Server Requests from the Browser @ Postgres Open
PostgresOpen
 

Similar a Mobile Patrons: Better Services on the Go (For Novice) (20)

Hacking mobile apps
Hacking mobile appsHacking mobile apps
Hacking mobile apps
 
Creating an Effective Mobile API
Creating an Effective Mobile API Creating an Effective Mobile API
Creating an Effective Mobile API
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
 
Reaching out from ADF Mobile (ODTUG KScope 2014)
Reaching out from ADF Mobile (ODTUG KScope 2014)Reaching out from ADF Mobile (ODTUG KScope 2014)
Reaching out from ADF Mobile (ODTUG KScope 2014)
 
How to CASifying PeopleSoft and Integrating CAS and ADFS
How to CASifying PeopleSoft and Integrating CAS and ADFSHow to CASifying PeopleSoft and Integrating CAS and ADFS
How to CASifying PeopleSoft and Integrating CAS and ADFS
 
WebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla LondonWebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla London
 
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...
 
uMobile Preconference Seminar
uMobile Preconference SeminaruMobile Preconference Seminar
uMobile Preconference Seminar
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
 
Owasp & php
Owasp & phpOwasp & php
Owasp & php
 
Cross-Platform Data Access for Android and iPhone
Cross-Platform Data Access for Android and iPhoneCross-Platform Data Access for Android and iPhone
Cross-Platform Data Access for Android and iPhone
 
Producing a mobile presence. Timeline: Yesterday...
Producing a mobile presence. Timeline: Yesterday...Producing a mobile presence. Timeline: Yesterday...
Producing a mobile presence. Timeline: Yesterday...
 
3 Approaches to Mobile - An A to Z Primer.
3 Approaches to Mobile - An A to Z Primer.3 Approaches to Mobile - An A to Z Primer.
3 Approaches to Mobile - An A to Z Primer.
 
Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010
 
Обмен учетными данными между iOS 8 приложениями и вебом, Константин Чернухо, ...
Обмен учетными данными между iOS 8 приложениями и вебом, Константин Чернухо, ...Обмен учетными данными между iOS 8 приложениями и вебом, Константин Чернухо, ...
Обмен учетными данными между iOS 8 приложениями и вебом, Константин Чернухо, ...
 
HTML5 WebWorks
HTML5 WebWorksHTML5 WebWorks
HTML5 WebWorks
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
 
David Keeney - SQL Database Server Requests from the Browser @ Postgres Open
David Keeney - SQL Database Server Requests from the Browser @ Postgres OpenDavid Keeney - SQL Database Server Requests from the Browser @ Postgres Open
David Keeney - SQL Database Server Requests from the Browser @ Postgres Open
 
Persistent mobile JavaScript
Persistent mobile JavaScriptPersistent mobile JavaScript
Persistent mobile JavaScript
 
Cloudbase.io MoSync Reload Course
Cloudbase.io MoSync Reload CourseCloudbase.io MoSync Reload Course
Cloudbase.io MoSync Reload Course
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

Mobile Patrons: Better Services on the Go (For Novice)

  • 1. Mobile Patrons: Better Services on the Go Vincci Kwong and Gary Browning Indiana University South Bend 10th Brick & Click Libraries November 5, 2010
  • 5. Mobile Website or Mobile App? • Target audience • User experience • Technical skills • Costs
  • 6. First Version of Library Mobile Site
  • 7. Popular Items on Mobile Website • Library catalog • Floor map • Events • Hours • Social media info
  • 10. Schurz Library Mobile Interface http://m.library.iusb.edu
  • 11. Statistics for Library Mobile Website
  • 12. Mobile Site Generator • Hidden Peanuts • Molly • iPhone Application - DCPL
  • 13. Mobile Friendly Authentication Internet Built-in Authentication Remote access to subscription databases is done through OCLC’s EZproxy Authentication and Access software.
  • 14. Mobile Friendly Authentication Internet Built-in Authentication EZproxy does not have built-in support for mobile devices. X
  • 15. How to make EZproxy Mobile Friendly Incorporate a mobile device detection library? http://detectmobilebrowsers.mobi/
  • 16. EZproxy Ticket Authentication http://ezproxy.yourlib.org:2048/login? user=rdoe&ticket=a6911a5d0219f428b33e190a80818625%24c20 041222220203&url=http://www.somedb.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
  • 17. 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
  • 18. EZproxy Ticket Authentication Internet Valid ticket? Generate Ticket Web Server with PHP Server with ezProxy
  • 19. External Authentication Internet Valid ticket? authenticated? Generate ticket authentication validation service Server with ezProxyWeb Server with PHP
  • 20. 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
  • 21. 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.
  • 22. Connecting Ezproxy with IU CAS 1. Detect mobile or desktop • http://detectmobilebrowsers.mobi/ 2. Set CASSVC (service) • If detect mobile, set service to mobile 3. Check with CAS to see if already authenticated 4. If authenticated, display database; otherwise present a login screen
  • 23. 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.edu/~site/cas/casauth.php"); }else{ header("Location: https://cas.iu.edu/cas/login? cassvc=IU&casurl=https://www.domain.edu/~site/cas/casauth.php"); } ?>
  • 24. 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 = ""; }
  • 25. 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&service=https://www.domain.edu/~site/cas/c asauth.php","r"); $contents = fread($casXML, 1024); fclose($casXML);
  • 26. 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"); } ?>
  • 27. 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
  • 28. 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>
  • 30. 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>
  • 31. 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
  • 32. Computer Availability Mobile Webpage http://m.iusb.edu
  • 33. System Requirements Computer Availability • Web Server such as Apache or IIS • PHP • Database such as MySQL • Ability to run login and logout scripts
  • 34. How It Works Internet Workstations Web Server with PHP MySQL Server Active Directory Server www.iusb.edu/~labseats
  • 35. 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>
  • 36. Mobile Output Internet Web Server with PHP MySQL Server IU Mobile Server
  • 38. Planning for Mobile Website 1. Needs assessments 2. Integrate with existing library services 3. Project planning 4. Build the site 5. Testing, marketing, launching 6. Keeping up
  • 39. 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
  • 40. QR Code • Two-dimensional barcode readable by QR scanners, mobile phones with camera, and smartphones. • Stores text, URL or other data.
  • 41. QR Code Generator • Kaywa • ZXing Project • Mobile-Barcode • Bit.ly • goo.gl • …. and more! Chrome extension
  • 42. QR Code Reader • i-nigma • ScanLife • BeeTagg • Lynkee http://www.mobile-barcodes.com/qr-code-software/
  • 43. Resources • Mobile Access 2010 - http://www.pewinternet.org/~/media//Files/Reports/2010/PIP_Mobile_Ac cess_2010.pdf • Detect Mobile Browsers - http://detectmobilebrowsers.mobi/ • OCLC Ezproxy - http://www.oclc.org/support/documentation/ezproxy/usr/default.htm • 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 • QR Code: Library Success Wiki - http://www.libsuccess.org/index.php?title=QR_Codes
  • 44. 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