SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Ingredients   Preparation              Taking shape   Proof of concept?




               Working with Oxpoints

                            Janet McKnight
Ingredients            Preparation          Taking shape          Proof of concept?



                            Where's my book?




       "Find the nearest copy of a book from a reading list (bearing in
       mind which libraries you can use, and the opening hours of
       libraries)"
Ingredients             Preparation            Taking shape   Proof of concept?



                                      Ingredients




       First catch your data...
Ingredients                 Preparation             Taking shape     Proof of concept?



                                          What we had



              • Locations of (many) libraries already present in Oxpoints
              • A list of libraries, with unique codes:
                http://www.lib.ox.ac.uk/libraries/byoliscode/
              • The OLIS search results page, showing library holdings
               http://library.ox.ac.uk/...
               This includes:
                  • Info about the availability of the book
                  • Links to info about the individual libraries
Ingredients                Preparation          Taking shape          Proof of concept?



                              What we didn't have




              • Links between library codes and Oxpoints locations
              • Patron data (e.g. which libraries you're allowed to use)
              • Opening hours (in a consumable form)
Ingredients                Preparation        Taking shape       Proof of concept?



                         Unconsumable ingredients

       Example of opening hours:
         Term time: Mon-Fri 9.00-22.00, Sat 10.00-16.00 University of
                    Oxford dates of full term: Hilary 2009: Sunday, 18
                    January to Saturday, 14 March Trinity 2009:
                    Sunday, 26 April to Saturday, 20 June Michaelmas
                    2009: Sunday, 11 October to Saturday, 5
                    December Hilary 2010: Sunday, 17 January to
                    Saturday, 13 March Trinity 2010: Sunday, 25 April
                    to Saturday, 19 June
              Vacation: Mon-Fri 9.00-19.00, Sat 10.00-16.00
               Closed: Christmas Eve to New Year's Day, Good Friday to
                       Easter Monday, August Bank Holiday weekend.
Ingredients            Preparation           Taking shape   Proof of concept?



                                     Preparation




       Finely chop your data...
Ingredients             Preparation           Taking shape           Proof of concept?



                                Screen-scraping
       Walk through the table of OLIS codes:

       <table class="olis" border="0" cellpadding="4">
        <tbody>
          <tr class="library" valign="top">
           <th>
             <p>
              <b>All S.</b>
             </p>
           </th>
           <th>
             <p>
              <b>ASC</b>
             </p>
           </th>
           <th>
             <p>
              <b>
                <a name="ASC">All Souls College Library</a>
                <a
                   href="http://www.lib.ox.ac.uk/libraries/guides/ASC.html"
                   target="_top"
                   title="Information about All Souls College
       Library">Information</a> |
              <a
Ingredients            Preparation            Taking shape         Proof of concept?



                                     Structuring



       ... to get something more structured:

       <?xml version="1.0"?>
       <libs>
        <lib code="VHL">Vere Harmsworth Library (Rothermere American
           Institute)</lib>
        <lib code="NDA">Nuffield Dept. of Anaesthetics</lib>
        <lib code="SCA">Social and Cultural Anthropology Library</lib>
       [...]

       </libs>
Ingredients                Preparation          Taking shape      Proof of concept?



                                    Joining the dots
       Difficulties:
              • Different names - fuzzy matching
              • Different schemes of uids with no
               translator/correspondence
              • Different concept of a 'unit' between schemes
              • Relationships between libraries (particularly
               Bodleian/OULS/etc)
       Solution:
              • Edit by hand (yes we can!)


       <place type="library" olisCode="ASC" xml:id="O_lib_asc">
        <placeName>All Souls College Library</placeName>
       [...]

       </place>
Ingredients                Preparation            Taking shape       Proof of concept?



                                         Taking shape




              • Not really a mashup yet
              • But it allows us to query Oxpoints by OLIS code...
Ingredients              Preparation      Taking shape        Proof of concept?



                                Example queries
       All libraries:
              • http://m.ox.ac.uk/oxpoints/type/Library.kml
              • http://maps.google.co.uk/?z=17&q=http:
                //m.ox.ac.uk/oxpoints/type/Library.kml
       Individual libraries:
              • http://m.ox.ac.uk/oxpoints/hasOLISCode/BOD.kml
              • http://maps.google.co.uk/?z=17&q=http:
                //m.ox.ac.uk/oxpoints/hasOLISCode/BOD.kml
       Combinations:
              • http://m.ox.ac.uk/oxpoints/hasOLISCode/JES|EXE|
                LIN.kml
              • http://maps.google.co.uk/?z=17&q=http://m.ox.ac.
                uk/oxpoints/hasOLISCode/JES%7CEXE%7CLIN.kml
Ingredients               Preparation         Taking shape          Proof of concept?



                           Joining the dots (again)
       With a bit of JavaScript on a page we can
              • pick out an OLIS code (by its location in the HTML)
              • add a link to Google Maps with Oxpoints KML using that
               code

       <table
          border="1"
          width="100%"
          cellspacing="4"
          class="data-holdings"
          summary="This table contains a row for each copy held, with
       columns for Location, Shelfmark, and Status.">[...]
       <tr valign="top">
          <td align="left">Balliol<br/>
              BLL Main Libr
          <br/>
           <a
              href="http://maps.google.co.uk/?q=http://m.ox.ac.uk/oxpoints/hasOLI
       library on a map</a>
          </td>
          <td align="left" colspan="1">0050e 007</td>
          <td align="left" colspan="1">Available</td>
          <td>
Ingredients                Preparation            Taking shape           Proof of concept?



                             A pinch of JavaScript


       Greasemonkey (Firefox extension) lets us add JavaScript to
       page

              var bodDetails = codeTD.innerHTML.split("<br>");
              bodCode = bodDetails[1];
              bodCode = bodCode.replace(newLines, "");
              if (bodCode.match(/ /)) {
                 encodedBodCode = bodCode.replace(/ /g, "%252B");
                 bodCode = bodCode.replace(/ /g, "+");
              }
                      if (bodCode.match(/^[A-Z]{3}/)) { bodCodes[i-1] = bodCode; }
              var oxpmaplink = '<a href="http://maps.google.co.uk/?z=16&q=http://m.ox.
              codeTD.innerHTML = codeTD.innerHTML + '<br>' + oxpmaplink + "Show library
Ingredients                Preparation          Taking shape   Proof of concept?



                                         Demo




              • Install greasemonkey script:
               olismapall.user.js
              • Show links working on library search:
                http://library.ox.ac.uk/
Ingredients                Preparation            Taking shape    Proof of concept?



                                         Adding value




       What else can we do?
              • Show all these libraries on the same map?
              • Add a map to the page itself?
              • Show information about availability on the map?
              • Add user location to the map?
Ingredients                Preparation        Taking shape        Proof of concept?



                           Beyond Greasemonkey




              • Can't use Google maps API to add a map to the page
              • Can't pass much useful information into the KML
Ingredients                Preparation            Taking shape         Proof of concept?



                                         External map




              • Still using JavaScript/Greasemonkey to write in links...
              • ...but these pass info to an external map/script
              • Easier to manipulate data and control display
Ingredients                    Preparation          Taking shape   Proof of concept?



                                             Demo




              • Greasemonkey working on library search:
                http://library.ox.ac.uk/
              • All libraries on one (external) map
              • Availability
Ingredients                Preparation          Taking shape       Proof of concept?



                                   Where are you?




       Google Gears can (sort of) tell your location...
       In practice there are probably better ways of doing this:
              • User sets/chooses location(s)
              • Native apps for mobile devices which use onboard GPS
Ingredients                  Preparation          Taking shape   Proof of concept?



                                           Demo




              • Install Google Gears:
                http://gears.google.com/
              • Back to library search...
              • 'You are here'
              • Directions
Ingredients                Preparation           Taking shape     Proof of concept?



                                 Proof of concept?



       Shows the general idea, but doesn't include:

              • Patron data (who are you, & can you borrow the book?)
              • Integration with book requests
              • Combining with other locations
              • . . .
Ingredients                Preparation           Taking shape      Proof of concept?



                                   Is all this useful?




              • Maybe more so in other contexts
              • Useful as a demonstration
              • Quick prototyping of ideas - easier to visualise
              • Shows the value of consumable data

Weitere ähnliche Inhalte

Andere mochten auch

Institutional Repositories… publish and be damned? Stephanie Taylor, UKOLN
Institutional Repositories… publish and be damned? Stephanie Taylor, UKOLNInstitutional Repositories… publish and be damned? Stephanie Taylor, UKOLN
Institutional Repositories… publish and be damned? Stephanie Taylor, UKOLN
IWMW
 

Andere mochten auch (6)

5 Biggest Blunders With Enterprise Social Software
5 Biggest Blunders With Enterprise Social Software5 Biggest Blunders With Enterprise Social Software
5 Biggest Blunders With Enterprise Social Software
 
Webinar: Making contributions in online spaces
Webinar: Making contributions in online spacesWebinar: Making contributions in online spaces
Webinar: Making contributions in online spaces
 
Institutional Repositories… publish and be damned? Stephanie Taylor, UKOLN
Institutional Repositories… publish and be damned? Stephanie Taylor, UKOLNInstitutional Repositories… publish and be damned? Stephanie Taylor, UKOLN
Institutional Repositories… publish and be damned? Stephanie Taylor, UKOLN
 
IWMW 2002: Avoiding Portal Wars - the VMLE View
IWMW 2002: Avoiding Portal Wars - the VMLE ViewIWMW 2002: Avoiding Portal Wars - the VMLE View
IWMW 2002: Avoiding Portal Wars - the VMLE View
 
from individuals to networks and sustainable communities?
from individuals to networks and sustainable communities? from individuals to networks and sustainable communities?
from individuals to networks and sustainable communities?
 
Your Intranet Needs to Go Social
Your Intranet Needs to Go SocialYour Intranet Needs to Go Social
Your Intranet Needs to Go Social
 

Ähnlich wie Working with Oxpoints

Harnessing Free Content with Web Service APIs
Harnessing Free Content with Web Service APIsHarnessing Free Content with Web Service APIs
Harnessing Free Content with Web Service APIs
ALATechSource
 
It's not rocket surgery - Linked In: ALA 2011
It's not rocket surgery - Linked In: ALA 2011It's not rocket surgery - Linked In: ALA 2011
It's not rocket surgery - Linked In: ALA 2011
Ross Singer
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
Justin Smestad
 
Library Mashups & APIs
Library Mashups & APIsLibrary Mashups & APIs
Library Mashups & APIs
librarywebchic
 
Libraries and Linked Data: Looking to the Future (3)
Libraries and Linked Data: Looking to the Future (3)Libraries and Linked Data: Looking to the Future (3)
Libraries and Linked Data: Looking to the Future (3)
ALATechSource
 

Ähnlich wie Working with Oxpoints (20)

Harnessing Free Content with Web Service APIs
Harnessing Free Content with Web Service APIsHarnessing Free Content with Web Service APIs
Harnessing Free Content with Web Service APIs
 
Towards digitizing scholarly communication
Towards digitizing scholarly communicationTowards digitizing scholarly communication
Towards digitizing scholarly communication
 
Transforming the OPAC: Web 2.0, Mobile, and Discovery
Transforming the OPAC: Web 2.0, Mobile, and DiscoveryTransforming the OPAC: Web 2.0, Mobile, and Discovery
Transforming the OPAC: Web 2.0, Mobile, and Discovery
 
SLANZA Presentation: Koha the open source library management system
SLANZA Presentation: Koha the open source library management systemSLANZA Presentation: Koha the open source library management system
SLANZA Presentation: Koha the open source library management system
 
Why do they call it Linked Data when they want to say...?
Why do they call it Linked Data when they want to say...?Why do they call it Linked Data when they want to say...?
Why do they call it Linked Data when they want to say...?
 
Research Data Management as a Service
Research Data Management as a ServiceResearch Data Management as a Service
Research Data Management as a Service
 
Reborn Digital: coding text
Reborn Digital: coding textReborn Digital: coding text
Reborn Digital: coding text
 
Why SKOS should be a Focal Point of your Linked Data Strategy
Why SKOS should be a Focal Point of your Linked Data StrategyWhy SKOS should be a Focal Point of your Linked Data Strategy
Why SKOS should be a Focal Point of your Linked Data Strategy
 
It's not rocket surgery - Linked In: ALA 2011
It's not rocket surgery - Linked In: ALA 2011It's not rocket surgery - Linked In: ALA 2011
It's not rocket surgery - Linked In: ALA 2011
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
LibreCat::Catmandu
LibreCat::CatmanduLibreCat::Catmandu
LibreCat::Catmandu
 
Library Mashups & APIs
Library Mashups & APIsLibrary Mashups & APIs
Library Mashups & APIs
 
Knowledge Technologies: Opportunities and Challenges
Knowledge Technologies: Opportunities and ChallengesKnowledge Technologies: Opportunities and Challenges
Knowledge Technologies: Opportunities and Challenges
 
Intro to Machine Learning with H2O and AWS
Intro to Machine Learning with H2O and AWSIntro to Machine Learning with H2O and AWS
Intro to Machine Learning with H2O and AWS
 
An Introduction to Elastic Search.
An Introduction to Elastic Search.An Introduction to Elastic Search.
An Introduction to Elastic Search.
 
Libraries and Linked Data: Looking to the Future (3)
Libraries and Linked Data: Looking to the Future (3)Libraries and Linked Data: Looking to the Future (3)
Libraries and Linked Data: Looking to the Future (3)
 
MongoDB Mojo: Building a Basic Perl App
MongoDB Mojo: Building a Basic Perl AppMongoDB Mojo: Building a Basic Perl App
MongoDB Mojo: Building a Basic Perl App
 
Agile Data: Building Hadoop Analytics Applications
Agile Data: Building Hadoop Analytics ApplicationsAgile Data: Building Hadoop Analytics Applications
Agile Data: Building Hadoop Analytics Applications
 
Why libraries should embrace Linked Data
Why libraries should embrace Linked DataWhy libraries should embrace Linked Data
Why libraries should embrace Linked Data
 
Federated to library discovery platfoms
Federated to library discovery platfomsFederated to library discovery platfoms
Federated to library discovery platfoms
 

Mehr von IWMW

Mehr von IWMW (20)

Look who's talking now
Look who's talking nowLook who's talking now
Look who's talking now
 
Introduction to IWMW 2000 (Liz Lyon)
Introduction to IWMW 2000 (Liz Lyon)Introduction to IWMW 2000 (Liz Lyon)
Introduction to IWMW 2000 (Liz Lyon)
 
Web Tools report
Web Tools reportWeb Tools report
Web Tools report
 
Personal Contingency Plan - Beat The Panic
Personal Contingency Plan - Beat The PanicPersonal Contingency Plan - Beat The Panic
Personal Contingency Plan - Beat The Panic
 
Whose site is it anyway?
Whose site is it anyway?Whose site is it anyway?
Whose site is it anyway?
 
Open Source - the case against
Open Source - the case againstOpen Source - the case against
Open Source - the case against
 
IWMW 2002: Avoiding Portal Wars - an MIS view
IWMW 2002: Avoiding Portal Wars - an MIS viewIWMW 2002: Avoiding Portal Wars - an MIS view
IWMW 2002: Avoiding Portal Wars - an MIS view
 
What does open source mean for the institutional web manager?
What does open source mean for the institutional web manager?What does open source mean for the institutional web manager?
What does open source mean for the institutional web manager?
 
Library 2.0
Library 2.0Library 2.0
Library 2.0
 
Social participation in student recruitment
Social participation in student recruitmentSocial participation in student recruitment
Social participation in student recruitment
 
Supporting Institutions in Changing Times: Manifesto
Supporting Institutions in Changing Times: ManifestoSupporting Institutions in Changing Times: Manifesto
Supporting Institutions in Changing Times: Manifesto
 
IWMW 2019 photo scavenger hunt highlights
IWMW 2019 photo scavenger hunt highlightsIWMW 2019 photo scavenger hunt highlights
IWMW 2019 photo scavenger hunt highlights
 
How to Turn a Web Strategy into Web Services
How to Turn a Web Strategy into Web ServicesHow to Turn a Web Strategy into Web Services
How to Turn a Web Strategy into Web Services
 
Static Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource ConditionStatic Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource Condition
 
Looking to the Future
Looking to the FutureLooking to the Future
Looking to the Future
 
Looking to the Future
Looking to the FutureLooking to the Future
Looking to the Future
 
Developing Communities of Practice
Developing Communities of PracticeDeveloping Communities of Practice
Developing Communities of Practice
 
How to train your content- so it doesn't slow you down...
How to train your content- so it doesn't slow you down... How to train your content- so it doesn't slow you down...
How to train your content- so it doesn't slow you down...
 
Grassroots & Guerrillas: The Beginnings of a UX Revolution
Grassroots & Guerrillas: The Beginnings of a UX RevolutionGrassroots & Guerrillas: The Beginnings of a UX Revolution
Grassroots & Guerrillas: The Beginnings of a UX Revolution
 
Connecting Your Content: How to Save Time and Improve Content Quality through...
Connecting Your Content: How to Save Time and Improve Content Quality through...Connecting Your Content: How to Save Time and Improve Content Quality through...
Connecting Your Content: How to Save Time and Improve Content Quality through...
 

Kürzlich hochgeladen

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 

Kürzlich hochgeladen (20)

How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 

Working with Oxpoints

  • 1. Ingredients Preparation Taking shape Proof of concept? Working with Oxpoints Janet McKnight
  • 2. Ingredients Preparation Taking shape Proof of concept? Where's my book? "Find the nearest copy of a book from a reading list (bearing in mind which libraries you can use, and the opening hours of libraries)"
  • 3. Ingredients Preparation Taking shape Proof of concept? Ingredients First catch your data...
  • 4. Ingredients Preparation Taking shape Proof of concept? What we had • Locations of (many) libraries already present in Oxpoints • A list of libraries, with unique codes: http://www.lib.ox.ac.uk/libraries/byoliscode/ • The OLIS search results page, showing library holdings http://library.ox.ac.uk/... This includes: • Info about the availability of the book • Links to info about the individual libraries
  • 5. Ingredients Preparation Taking shape Proof of concept? What we didn't have • Links between library codes and Oxpoints locations • Patron data (e.g. which libraries you're allowed to use) • Opening hours (in a consumable form)
  • 6. Ingredients Preparation Taking shape Proof of concept? Unconsumable ingredients Example of opening hours: Term time: Mon-Fri 9.00-22.00, Sat 10.00-16.00 University of Oxford dates of full term: Hilary 2009: Sunday, 18 January to Saturday, 14 March Trinity 2009: Sunday, 26 April to Saturday, 20 June Michaelmas 2009: Sunday, 11 October to Saturday, 5 December Hilary 2010: Sunday, 17 January to Saturday, 13 March Trinity 2010: Sunday, 25 April to Saturday, 19 June Vacation: Mon-Fri 9.00-19.00, Sat 10.00-16.00 Closed: Christmas Eve to New Year's Day, Good Friday to Easter Monday, August Bank Holiday weekend.
  • 7. Ingredients Preparation Taking shape Proof of concept? Preparation Finely chop your data...
  • 8. Ingredients Preparation Taking shape Proof of concept? Screen-scraping Walk through the table of OLIS codes: <table class="olis" border="0" cellpadding="4"> <tbody> <tr class="library" valign="top"> <th> <p> <b>All S.</b> </p> </th> <th> <p> <b>ASC</b> </p> </th> <th> <p> <b> <a name="ASC">All Souls College Library</a> <a href="http://www.lib.ox.ac.uk/libraries/guides/ASC.html" target="_top" title="Information about All Souls College Library">Information</a> | <a
  • 9. Ingredients Preparation Taking shape Proof of concept? Structuring ... to get something more structured: <?xml version="1.0"?> <libs> <lib code="VHL">Vere Harmsworth Library (Rothermere American Institute)</lib> <lib code="NDA">Nuffield Dept. of Anaesthetics</lib> <lib code="SCA">Social and Cultural Anthropology Library</lib> [...] </libs>
  • 10. Ingredients Preparation Taking shape Proof of concept? Joining the dots Difficulties: • Different names - fuzzy matching • Different schemes of uids with no translator/correspondence • Different concept of a 'unit' between schemes • Relationships between libraries (particularly Bodleian/OULS/etc) Solution: • Edit by hand (yes we can!) <place type="library" olisCode="ASC" xml:id="O_lib_asc"> <placeName>All Souls College Library</placeName> [...] </place>
  • 11. Ingredients Preparation Taking shape Proof of concept? Taking shape • Not really a mashup yet • But it allows us to query Oxpoints by OLIS code...
  • 12. Ingredients Preparation Taking shape Proof of concept? Example queries All libraries: • http://m.ox.ac.uk/oxpoints/type/Library.kml • http://maps.google.co.uk/?z=17&q=http: //m.ox.ac.uk/oxpoints/type/Library.kml Individual libraries: • http://m.ox.ac.uk/oxpoints/hasOLISCode/BOD.kml • http://maps.google.co.uk/?z=17&q=http: //m.ox.ac.uk/oxpoints/hasOLISCode/BOD.kml Combinations: • http://m.ox.ac.uk/oxpoints/hasOLISCode/JES|EXE| LIN.kml • http://maps.google.co.uk/?z=17&q=http://m.ox.ac. uk/oxpoints/hasOLISCode/JES%7CEXE%7CLIN.kml
  • 13. Ingredients Preparation Taking shape Proof of concept? Joining the dots (again) With a bit of JavaScript on a page we can • pick out an OLIS code (by its location in the HTML) • add a link to Google Maps with Oxpoints KML using that code <table border="1" width="100%" cellspacing="4" class="data-holdings" summary="This table contains a row for each copy held, with columns for Location, Shelfmark, and Status.">[...] <tr valign="top"> <td align="left">Balliol<br/> BLL Main Libr <br/> <a href="http://maps.google.co.uk/?q=http://m.ox.ac.uk/oxpoints/hasOLI library on a map</a> </td> <td align="left" colspan="1">0050e 007</td> <td align="left" colspan="1">Available</td> <td>
  • 14. Ingredients Preparation Taking shape Proof of concept? A pinch of JavaScript Greasemonkey (Firefox extension) lets us add JavaScript to page var bodDetails = codeTD.innerHTML.split("<br>"); bodCode = bodDetails[1]; bodCode = bodCode.replace(newLines, ""); if (bodCode.match(/ /)) { encodedBodCode = bodCode.replace(/ /g, "%252B"); bodCode = bodCode.replace(/ /g, "+"); } if (bodCode.match(/^[A-Z]{3}/)) { bodCodes[i-1] = bodCode; } var oxpmaplink = '<a href="http://maps.google.co.uk/?z=16&q=http://m.ox. codeTD.innerHTML = codeTD.innerHTML + '<br>' + oxpmaplink + "Show library
  • 15. Ingredients Preparation Taking shape Proof of concept? Demo • Install greasemonkey script: olismapall.user.js • Show links working on library search: http://library.ox.ac.uk/
  • 16. Ingredients Preparation Taking shape Proof of concept? Adding value What else can we do? • Show all these libraries on the same map? • Add a map to the page itself? • Show information about availability on the map? • Add user location to the map?
  • 17. Ingredients Preparation Taking shape Proof of concept? Beyond Greasemonkey • Can't use Google maps API to add a map to the page • Can't pass much useful information into the KML
  • 18. Ingredients Preparation Taking shape Proof of concept? External map • Still using JavaScript/Greasemonkey to write in links... • ...but these pass info to an external map/script • Easier to manipulate data and control display
  • 19. Ingredients Preparation Taking shape Proof of concept? Demo • Greasemonkey working on library search: http://library.ox.ac.uk/ • All libraries on one (external) map • Availability
  • 20. Ingredients Preparation Taking shape Proof of concept? Where are you? Google Gears can (sort of) tell your location... In practice there are probably better ways of doing this: • User sets/chooses location(s) • Native apps for mobile devices which use onboard GPS
  • 21. Ingredients Preparation Taking shape Proof of concept? Demo • Install Google Gears: http://gears.google.com/ • Back to library search... • 'You are here' • Directions
  • 22. Ingredients Preparation Taking shape Proof of concept? Proof of concept? Shows the general idea, but doesn't include: • Patron data (who are you, & can you borrow the book?) • Integration with book requests • Combining with other locations • . . .
  • 23. Ingredients Preparation Taking shape Proof of concept? Is all this useful? • Maybe more so in other contexts • Useful as a demonstration • Quick prototyping of ideas - easier to visualise • Shows the value of consumable data