SlideShare a Scribd company logo
1 of 23
Download to read offline
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

More Related Content

Viewers also liked

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 SoftwareBlue Economy Agency
 
Webinar: Making contributions in online spaces
Webinar: Making contributions in online spacesWebinar: Making contributions in online spaces
Webinar: Making contributions in online spacesKaren Spencer
 
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, UKOLNIWMW
 
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 ViewIWMW
 
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? IWMW
 
Your Intranet Needs to Go Social
Your Intranet Needs to Go SocialYour Intranet Needs to Go Social
Your Intranet Needs to Go SocialBlue Economy Agency
 

Viewers also liked (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
 

Similar to 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 APIsALATechSource
 
Towards digitizing scholarly communication
Towards digitizing scholarly communicationTowards digitizing scholarly communication
Towards digitizing scholarly communicationSören Auer
 
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 DiscoveryBrian Gray
 
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 systemMark Osborne
 
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...?Oscar Corcho
 
Research Data Management as a Service
Research Data Management as a ServiceResearch Data Management as a Service
Research Data Management as a ServiceGlobus
 
Reborn Digital: coding text
Reborn Digital: coding textReborn Digital: coding text
Reborn Digital: coding textPip Willcox
 
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 StrategySemantic Web Company
 
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 2011Ross Singer
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBJustin Smestad
 
Library Mashups & APIs
Library Mashups & APIsLibrary Mashups & APIs
Library Mashups & APIslibrarywebchic
 
Knowledge Technologies: Opportunities and Challenges
Knowledge Technologies: Opportunities and ChallengesKnowledge Technologies: Opportunities and Challenges
Knowledge Technologies: Opportunities and ChallengesFariz Darari
 
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 AWSSri Ambati
 
An Introduction to Elastic Search.
An Introduction to Elastic Search.An Introduction to Elastic Search.
An Introduction to Elastic Search.Jurriaan Persyn
 
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
 
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 AppStennie Steneker
 
Agile Data: Building Hadoop Analytics Applications
Agile Data: Building Hadoop Analytics ApplicationsAgile Data: Building Hadoop Analytics Applications
Agile Data: Building Hadoop Analytics ApplicationsDataWorks Summit
 
Why libraries should embrace Linked Data
Why libraries should embrace Linked DataWhy libraries should embrace Linked Data
Why libraries should embrace Linked Dataeby
 
Federated to library discovery platfoms
Federated to library discovery platfomsFederated to library discovery platfoms
Federated to library discovery platfomsNikesh Narayanan
 

Similar to 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
 

More from IWMW

Look who's talking now
Look who's talking nowLook who's talking now
Look who's talking nowIWMW
 
Introduction to IWMW 2000 (Liz Lyon)
Introduction to IWMW 2000 (Liz Lyon)Introduction to IWMW 2000 (Liz Lyon)
Introduction to IWMW 2000 (Liz Lyon)IWMW
 
Web Tools report
Web Tools reportWeb Tools report
Web Tools reportIWMW
 
Personal Contingency Plan - Beat The Panic
Personal Contingency Plan - Beat The PanicPersonal Contingency Plan - Beat The Panic
Personal Contingency Plan - Beat The PanicIWMW
 
Whose site is it anyway?
Whose site is it anyway?Whose site is it anyway?
Whose site is it anyway?IWMW
 
Open Source - the case against
Open Source - the case againstOpen Source - the case against
Open Source - the case againstIWMW
 
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 viewIWMW
 
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?IWMW
 
Library 2.0
Library 2.0Library 2.0
Library 2.0IWMW
 
Social participation in student recruitment
Social participation in student recruitmentSocial participation in student recruitment
Social participation in student recruitmentIWMW
 
Supporting Institutions in Changing Times: Manifesto
Supporting Institutions in Changing Times: ManifestoSupporting Institutions in Changing Times: Manifesto
Supporting Institutions in Changing Times: ManifestoIWMW
 
IWMW 2019 photo scavenger hunt highlights
IWMW 2019 photo scavenger hunt highlightsIWMW 2019 photo scavenger hunt highlights
IWMW 2019 photo scavenger hunt highlightsIWMW
 
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 ServicesIWMW
 
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 ConditionIWMW
 
Looking to the Future
Looking to the FutureLooking to the Future
Looking to the FutureIWMW
 
Looking to the Future
Looking to the FutureLooking to the Future
Looking to the FutureIWMW
 
Developing Communities of Practice
Developing Communities of PracticeDeveloping Communities of Practice
Developing Communities of PracticeIWMW
 
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... IWMW
 
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 RevolutionIWMW
 
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...IWMW
 

More from 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...
 

Recently uploaded

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...Association for Project Management
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
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).pptxVishalSingh1417
 
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).pptxdhanalakshmis0310
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
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.pptxMaritesTamaniVerdade
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
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 17Celine George
 
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...christianmathematics
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
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 FellowsMebane Rash
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
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 17Celine George
 
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.pptxAmita Gupta
 

Recently uploaded (20)

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...
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
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
 
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
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
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
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
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
 
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...
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
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
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
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
 
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
 

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