working with oxpoints
TRANSCRIPT
Ingredients Preparation Taking shape Proof of concept
Working with Oxpoints
Janet McKnight
Ingredients Preparation Taking shape Proof of concept
Wheres my book
Find the nearest copy of a book from a reading list (bearing inmind which libraries you can use and the opening hours oflibraries)
Ingredients Preparation Taking shape Proof of concept
Ingredients
First catch your data
Ingredients Preparation Taking shape Proof of concept
What we had
bull Locations of (many) libraries already present in Oxpointsbull A list of libraries with unique codeshttpwwwliboxacuklibrariesbyoliscode
bull The OLIS search results page showing library holdingshttplibraryoxacukThis includes
bull Info about the availability of the bookbull Links to info about the individual libraries
Ingredients Preparation Taking shape Proof of concept
What we didnt have
bull Links between library codes and Oxpoints locationsbull Patron data (eg which libraries youre allowed to use)bull Opening hours (in a consumable form)
Ingredients Preparation Taking shape Proof of concept
Unconsumable ingredients
Example of opening hours
Term time Mon-Fri 900-2200 Sat 1000-1600 University ofOxford dates of full term Hilary 2009 Sunday 18January to Saturday 14 March Trinity 2009Sunday 26 April to Saturday 20 June Michaelmas2009 Sunday 11 October to Saturday 5December Hilary 2010 Sunday 17 January toSaturday 13 March Trinity 2010 Sunday 25 Aprilto Saturday 19 June
Vacation Mon-Fri 900-1900 Sat 1000-1600Closed Christmas Eve to New Years 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-scrapingWalk through the table of OLIS codes
lttable class=olis border=0 cellpadding=4gtlttbodygtlttr class=library valign=topgtltthgtltpgtltbgtAll Sltbgt
ltpgtltthgtltthgtltpgtltbgtASCltbgt
ltpgtltthgtltthgtltpgtltbgtlta name=ASCgtAll Souls College Libraryltagtlta
href=httpwwwliboxacuklibrariesguidesASChtmltarget=_toptitle=Information about All Souls College
LibrarygtInformationltagt |lta
href=httpwwwall-soulsoxacuklibrarytarget=_toptitle=Website for All Souls College
LibrarygtWebsiteltagtltbgt
ltpgtltthgt
lttrgt[]
lttbodygtlttablegt
Ingredients Preparation Taking shape Proof of concept
Structuring
to get something more structured
ltxml version=10gtltlibsgtltlib code=VHLgtVere Harmsworth Library (Rothermere American
Institute)ltlibgtltlib code=NDAgtNuffield Dept of Anaestheticsltlibgtltlib code=SCAgtSocial and Cultural Anthropology Libraryltlibgt
[]
ltlibsgt
Ingredients Preparation Taking shape Proof of concept
Joining the dotsDifficulties
bull Different names - fuzzy matchingbull Different schemes of uids with notranslatorcorrespondence
bull Different concept of a unit between schemesbull Relationships between libraries (particularlyBodleianOULSetc)
Solution
bull Edit by hand (yes we can)
ltplace type=library olisCode=ASC xmlid=O_lib_ascgtltplaceNamegtAll Souls College LibraryltplaceNamegt
[]
ltplacegt
Ingredients Preparation Taking shape Proof of concept
Taking shape
bull Not really a mashup yetbull But it allows us to query Oxpoints by OLIS code
Ingredients Preparation Taking shape Proof of concept
Example queriesAll libraries
bull httpmoxacukoxpointstypeLibrarykmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointstypeLibrarykml
Individual libraries
bull httpmoxacukoxpointshasOLISCodeBODkmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeBODkml
Combinations
bull httpmoxacukoxpointshasOLISCodeJES|EXE|LINkml
bull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeJES7CEXE7CLINkml
Ingredients Preparation Taking shape Proof of concept
Joining the dots (again)With a bit of JavaScript on a page we can
bull pick out an OLIS code (by its location in the HTML)bull add a link to Google Maps with Oxpoints KML using thatcode
lttableborder=1width=100cellspacing=4class=data-holdingssummary=This table contains a row for each copy held with
columns for Location Shelfmark and Statusgt[]lttr valign=topgt
lttd align=leftgtBalliolltbrgtBLL Main Libr
ltbrgtlta
href=httpmapsgooglecoukq=httpmoxacukoxpointshasOLISCodeBLL+Main+LibrkmlgtShowlibrary on a mapltagt
lttdgtlttd align=left colspan=1gt0050e 007lttdgtlttd align=left colspan=1gtAvailablelttdgtlttdgtlta
href=httpwwwliboxacuklibrariesguidesBLLhtmltarget=_newgt
ltimgsrc=httpwwwliboxacuklibrariescommoninfogifheight=18border=0alt=library guide for BLLgt
ltagtlttdgt
lttrgt[]lttablegt
Ingredients Preparation Taking shape Proof of concept
A pinch of JavaScript
Greasemonkey (Firefox extension) lets us add JavaScript topage
var bodDetails = codeTDinnerHTMLsplit(ltbrgt)bodCode = bodDetails[1]bodCode = bodCodereplace(newLines )if (bodCodematch( ))
encodedBodCode = bodCodereplace( g 252B)bodCode = bodCodereplace( g +)
if (bodCodematch(^[A-Z]3)) bodCodes[i-1] = bodCode
var oxpmaplink = lta href=httpmapsgooglecoukz=16ampq=httpmoxacukoxpointshasOLISCode + encodedBodCode + kmlgtcodeTDinnerHTML = codeTDinnerHTML + ltbrgt + oxpmaplink + Show library on a mapltagt
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install greasemonkey scriptolismapalluserjs
bull Show links working on library searchhttplibraryoxacuk
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Wheres my book
Find the nearest copy of a book from a reading list (bearing inmind which libraries you can use and the opening hours oflibraries)
Ingredients Preparation Taking shape Proof of concept
Ingredients
First catch your data
Ingredients Preparation Taking shape Proof of concept
What we had
bull Locations of (many) libraries already present in Oxpointsbull A list of libraries with unique codeshttpwwwliboxacuklibrariesbyoliscode
bull The OLIS search results page showing library holdingshttplibraryoxacukThis includes
bull Info about the availability of the bookbull Links to info about the individual libraries
Ingredients Preparation Taking shape Proof of concept
What we didnt have
bull Links between library codes and Oxpoints locationsbull Patron data (eg which libraries youre allowed to use)bull Opening hours (in a consumable form)
Ingredients Preparation Taking shape Proof of concept
Unconsumable ingredients
Example of opening hours
Term time Mon-Fri 900-2200 Sat 1000-1600 University ofOxford dates of full term Hilary 2009 Sunday 18January to Saturday 14 March Trinity 2009Sunday 26 April to Saturday 20 June Michaelmas2009 Sunday 11 October to Saturday 5December Hilary 2010 Sunday 17 January toSaturday 13 March Trinity 2010 Sunday 25 Aprilto Saturday 19 June
Vacation Mon-Fri 900-1900 Sat 1000-1600Closed Christmas Eve to New Years 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-scrapingWalk through the table of OLIS codes
lttable class=olis border=0 cellpadding=4gtlttbodygtlttr class=library valign=topgtltthgtltpgtltbgtAll Sltbgt
ltpgtltthgtltthgtltpgtltbgtASCltbgt
ltpgtltthgtltthgtltpgtltbgtlta name=ASCgtAll Souls College Libraryltagtlta
href=httpwwwliboxacuklibrariesguidesASChtmltarget=_toptitle=Information about All Souls College
LibrarygtInformationltagt |lta
href=httpwwwall-soulsoxacuklibrarytarget=_toptitle=Website for All Souls College
LibrarygtWebsiteltagtltbgt
ltpgtltthgt
lttrgt[]
lttbodygtlttablegt
Ingredients Preparation Taking shape Proof of concept
Structuring
to get something more structured
ltxml version=10gtltlibsgtltlib code=VHLgtVere Harmsworth Library (Rothermere American
Institute)ltlibgtltlib code=NDAgtNuffield Dept of Anaestheticsltlibgtltlib code=SCAgtSocial and Cultural Anthropology Libraryltlibgt
[]
ltlibsgt
Ingredients Preparation Taking shape Proof of concept
Joining the dotsDifficulties
bull Different names - fuzzy matchingbull Different schemes of uids with notranslatorcorrespondence
bull Different concept of a unit between schemesbull Relationships between libraries (particularlyBodleianOULSetc)
Solution
bull Edit by hand (yes we can)
ltplace type=library olisCode=ASC xmlid=O_lib_ascgtltplaceNamegtAll Souls College LibraryltplaceNamegt
[]
ltplacegt
Ingredients Preparation Taking shape Proof of concept
Taking shape
bull Not really a mashup yetbull But it allows us to query Oxpoints by OLIS code
Ingredients Preparation Taking shape Proof of concept
Example queriesAll libraries
bull httpmoxacukoxpointstypeLibrarykmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointstypeLibrarykml
Individual libraries
bull httpmoxacukoxpointshasOLISCodeBODkmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeBODkml
Combinations
bull httpmoxacukoxpointshasOLISCodeJES|EXE|LINkml
bull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeJES7CEXE7CLINkml
Ingredients Preparation Taking shape Proof of concept
Joining the dots (again)With a bit of JavaScript on a page we can
bull pick out an OLIS code (by its location in the HTML)bull add a link to Google Maps with Oxpoints KML using thatcode
lttableborder=1width=100cellspacing=4class=data-holdingssummary=This table contains a row for each copy held with
columns for Location Shelfmark and Statusgt[]lttr valign=topgt
lttd align=leftgtBalliolltbrgtBLL Main Libr
ltbrgtlta
href=httpmapsgooglecoukq=httpmoxacukoxpointshasOLISCodeBLL+Main+LibrkmlgtShowlibrary on a mapltagt
lttdgtlttd align=left colspan=1gt0050e 007lttdgtlttd align=left colspan=1gtAvailablelttdgtlttdgtlta
href=httpwwwliboxacuklibrariesguidesBLLhtmltarget=_newgt
ltimgsrc=httpwwwliboxacuklibrariescommoninfogifheight=18border=0alt=library guide for BLLgt
ltagtlttdgt
lttrgt[]lttablegt
Ingredients Preparation Taking shape Proof of concept
A pinch of JavaScript
Greasemonkey (Firefox extension) lets us add JavaScript topage
var bodDetails = codeTDinnerHTMLsplit(ltbrgt)bodCode = bodDetails[1]bodCode = bodCodereplace(newLines )if (bodCodematch( ))
encodedBodCode = bodCodereplace( g 252B)bodCode = bodCodereplace( g +)
if (bodCodematch(^[A-Z]3)) bodCodes[i-1] = bodCode
var oxpmaplink = lta href=httpmapsgooglecoukz=16ampq=httpmoxacukoxpointshasOLISCode + encodedBodCode + kmlgtcodeTDinnerHTML = codeTDinnerHTML + ltbrgt + oxpmaplink + Show library on a mapltagt
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install greasemonkey scriptolismapalluserjs
bull Show links working on library searchhttplibraryoxacuk
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Ingredients
First catch your data
Ingredients Preparation Taking shape Proof of concept
What we had
bull Locations of (many) libraries already present in Oxpointsbull A list of libraries with unique codeshttpwwwliboxacuklibrariesbyoliscode
bull The OLIS search results page showing library holdingshttplibraryoxacukThis includes
bull Info about the availability of the bookbull Links to info about the individual libraries
Ingredients Preparation Taking shape Proof of concept
What we didnt have
bull Links between library codes and Oxpoints locationsbull Patron data (eg which libraries youre allowed to use)bull Opening hours (in a consumable form)
Ingredients Preparation Taking shape Proof of concept
Unconsumable ingredients
Example of opening hours
Term time Mon-Fri 900-2200 Sat 1000-1600 University ofOxford dates of full term Hilary 2009 Sunday 18January to Saturday 14 March Trinity 2009Sunday 26 April to Saturday 20 June Michaelmas2009 Sunday 11 October to Saturday 5December Hilary 2010 Sunday 17 January toSaturday 13 March Trinity 2010 Sunday 25 Aprilto Saturday 19 June
Vacation Mon-Fri 900-1900 Sat 1000-1600Closed Christmas Eve to New Years 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-scrapingWalk through the table of OLIS codes
lttable class=olis border=0 cellpadding=4gtlttbodygtlttr class=library valign=topgtltthgtltpgtltbgtAll Sltbgt
ltpgtltthgtltthgtltpgtltbgtASCltbgt
ltpgtltthgtltthgtltpgtltbgtlta name=ASCgtAll Souls College Libraryltagtlta
href=httpwwwliboxacuklibrariesguidesASChtmltarget=_toptitle=Information about All Souls College
LibrarygtInformationltagt |lta
href=httpwwwall-soulsoxacuklibrarytarget=_toptitle=Website for All Souls College
LibrarygtWebsiteltagtltbgt
ltpgtltthgt
lttrgt[]
lttbodygtlttablegt
Ingredients Preparation Taking shape Proof of concept
Structuring
to get something more structured
ltxml version=10gtltlibsgtltlib code=VHLgtVere Harmsworth Library (Rothermere American
Institute)ltlibgtltlib code=NDAgtNuffield Dept of Anaestheticsltlibgtltlib code=SCAgtSocial and Cultural Anthropology Libraryltlibgt
[]
ltlibsgt
Ingredients Preparation Taking shape Proof of concept
Joining the dotsDifficulties
bull Different names - fuzzy matchingbull Different schemes of uids with notranslatorcorrespondence
bull Different concept of a unit between schemesbull Relationships between libraries (particularlyBodleianOULSetc)
Solution
bull Edit by hand (yes we can)
ltplace type=library olisCode=ASC xmlid=O_lib_ascgtltplaceNamegtAll Souls College LibraryltplaceNamegt
[]
ltplacegt
Ingredients Preparation Taking shape Proof of concept
Taking shape
bull Not really a mashup yetbull But it allows us to query Oxpoints by OLIS code
Ingredients Preparation Taking shape Proof of concept
Example queriesAll libraries
bull httpmoxacukoxpointstypeLibrarykmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointstypeLibrarykml
Individual libraries
bull httpmoxacukoxpointshasOLISCodeBODkmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeBODkml
Combinations
bull httpmoxacukoxpointshasOLISCodeJES|EXE|LINkml
bull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeJES7CEXE7CLINkml
Ingredients Preparation Taking shape Proof of concept
Joining the dots (again)With a bit of JavaScript on a page we can
bull pick out an OLIS code (by its location in the HTML)bull add a link to Google Maps with Oxpoints KML using thatcode
lttableborder=1width=100cellspacing=4class=data-holdingssummary=This table contains a row for each copy held with
columns for Location Shelfmark and Statusgt[]lttr valign=topgt
lttd align=leftgtBalliolltbrgtBLL Main Libr
ltbrgtlta
href=httpmapsgooglecoukq=httpmoxacukoxpointshasOLISCodeBLL+Main+LibrkmlgtShowlibrary on a mapltagt
lttdgtlttd align=left colspan=1gt0050e 007lttdgtlttd align=left colspan=1gtAvailablelttdgtlttdgtlta
href=httpwwwliboxacuklibrariesguidesBLLhtmltarget=_newgt
ltimgsrc=httpwwwliboxacuklibrariescommoninfogifheight=18border=0alt=library guide for BLLgt
ltagtlttdgt
lttrgt[]lttablegt
Ingredients Preparation Taking shape Proof of concept
A pinch of JavaScript
Greasemonkey (Firefox extension) lets us add JavaScript topage
var bodDetails = codeTDinnerHTMLsplit(ltbrgt)bodCode = bodDetails[1]bodCode = bodCodereplace(newLines )if (bodCodematch( ))
encodedBodCode = bodCodereplace( g 252B)bodCode = bodCodereplace( g +)
if (bodCodematch(^[A-Z]3)) bodCodes[i-1] = bodCode
var oxpmaplink = lta href=httpmapsgooglecoukz=16ampq=httpmoxacukoxpointshasOLISCode + encodedBodCode + kmlgtcodeTDinnerHTML = codeTDinnerHTML + ltbrgt + oxpmaplink + Show library on a mapltagt
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install greasemonkey scriptolismapalluserjs
bull Show links working on library searchhttplibraryoxacuk
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
What we had
bull Locations of (many) libraries already present in Oxpointsbull A list of libraries with unique codeshttpwwwliboxacuklibrariesbyoliscode
bull The OLIS search results page showing library holdingshttplibraryoxacukThis includes
bull Info about the availability of the bookbull Links to info about the individual libraries
Ingredients Preparation Taking shape Proof of concept
What we didnt have
bull Links between library codes and Oxpoints locationsbull Patron data (eg which libraries youre allowed to use)bull Opening hours (in a consumable form)
Ingredients Preparation Taking shape Proof of concept
Unconsumable ingredients
Example of opening hours
Term time Mon-Fri 900-2200 Sat 1000-1600 University ofOxford dates of full term Hilary 2009 Sunday 18January to Saturday 14 March Trinity 2009Sunday 26 April to Saturday 20 June Michaelmas2009 Sunday 11 October to Saturday 5December Hilary 2010 Sunday 17 January toSaturday 13 March Trinity 2010 Sunday 25 Aprilto Saturday 19 June
Vacation Mon-Fri 900-1900 Sat 1000-1600Closed Christmas Eve to New Years 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-scrapingWalk through the table of OLIS codes
lttable class=olis border=0 cellpadding=4gtlttbodygtlttr class=library valign=topgtltthgtltpgtltbgtAll Sltbgt
ltpgtltthgtltthgtltpgtltbgtASCltbgt
ltpgtltthgtltthgtltpgtltbgtlta name=ASCgtAll Souls College Libraryltagtlta
href=httpwwwliboxacuklibrariesguidesASChtmltarget=_toptitle=Information about All Souls College
LibrarygtInformationltagt |lta
href=httpwwwall-soulsoxacuklibrarytarget=_toptitle=Website for All Souls College
LibrarygtWebsiteltagtltbgt
ltpgtltthgt
lttrgt[]
lttbodygtlttablegt
Ingredients Preparation Taking shape Proof of concept
Structuring
to get something more structured
ltxml version=10gtltlibsgtltlib code=VHLgtVere Harmsworth Library (Rothermere American
Institute)ltlibgtltlib code=NDAgtNuffield Dept of Anaestheticsltlibgtltlib code=SCAgtSocial and Cultural Anthropology Libraryltlibgt
[]
ltlibsgt
Ingredients Preparation Taking shape Proof of concept
Joining the dotsDifficulties
bull Different names - fuzzy matchingbull Different schemes of uids with notranslatorcorrespondence
bull Different concept of a unit between schemesbull Relationships between libraries (particularlyBodleianOULSetc)
Solution
bull Edit by hand (yes we can)
ltplace type=library olisCode=ASC xmlid=O_lib_ascgtltplaceNamegtAll Souls College LibraryltplaceNamegt
[]
ltplacegt
Ingredients Preparation Taking shape Proof of concept
Taking shape
bull Not really a mashup yetbull But it allows us to query Oxpoints by OLIS code
Ingredients Preparation Taking shape Proof of concept
Example queriesAll libraries
bull httpmoxacukoxpointstypeLibrarykmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointstypeLibrarykml
Individual libraries
bull httpmoxacukoxpointshasOLISCodeBODkmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeBODkml
Combinations
bull httpmoxacukoxpointshasOLISCodeJES|EXE|LINkml
bull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeJES7CEXE7CLINkml
Ingredients Preparation Taking shape Proof of concept
Joining the dots (again)With a bit of JavaScript on a page we can
bull pick out an OLIS code (by its location in the HTML)bull add a link to Google Maps with Oxpoints KML using thatcode
lttableborder=1width=100cellspacing=4class=data-holdingssummary=This table contains a row for each copy held with
columns for Location Shelfmark and Statusgt[]lttr valign=topgt
lttd align=leftgtBalliolltbrgtBLL Main Libr
ltbrgtlta
href=httpmapsgooglecoukq=httpmoxacukoxpointshasOLISCodeBLL+Main+LibrkmlgtShowlibrary on a mapltagt
lttdgtlttd align=left colspan=1gt0050e 007lttdgtlttd align=left colspan=1gtAvailablelttdgtlttdgtlta
href=httpwwwliboxacuklibrariesguidesBLLhtmltarget=_newgt
ltimgsrc=httpwwwliboxacuklibrariescommoninfogifheight=18border=0alt=library guide for BLLgt
ltagtlttdgt
lttrgt[]lttablegt
Ingredients Preparation Taking shape Proof of concept
A pinch of JavaScript
Greasemonkey (Firefox extension) lets us add JavaScript topage
var bodDetails = codeTDinnerHTMLsplit(ltbrgt)bodCode = bodDetails[1]bodCode = bodCodereplace(newLines )if (bodCodematch( ))
encodedBodCode = bodCodereplace( g 252B)bodCode = bodCodereplace( g +)
if (bodCodematch(^[A-Z]3)) bodCodes[i-1] = bodCode
var oxpmaplink = lta href=httpmapsgooglecoukz=16ampq=httpmoxacukoxpointshasOLISCode + encodedBodCode + kmlgtcodeTDinnerHTML = codeTDinnerHTML + ltbrgt + oxpmaplink + Show library on a mapltagt
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install greasemonkey scriptolismapalluserjs
bull Show links working on library searchhttplibraryoxacuk
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
What we didnt have
bull Links between library codes and Oxpoints locationsbull Patron data (eg which libraries youre allowed to use)bull Opening hours (in a consumable form)
Ingredients Preparation Taking shape Proof of concept
Unconsumable ingredients
Example of opening hours
Term time Mon-Fri 900-2200 Sat 1000-1600 University ofOxford dates of full term Hilary 2009 Sunday 18January to Saturday 14 March Trinity 2009Sunday 26 April to Saturday 20 June Michaelmas2009 Sunday 11 October to Saturday 5December Hilary 2010 Sunday 17 January toSaturday 13 March Trinity 2010 Sunday 25 Aprilto Saturday 19 June
Vacation Mon-Fri 900-1900 Sat 1000-1600Closed Christmas Eve to New Years 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-scrapingWalk through the table of OLIS codes
lttable class=olis border=0 cellpadding=4gtlttbodygtlttr class=library valign=topgtltthgtltpgtltbgtAll Sltbgt
ltpgtltthgtltthgtltpgtltbgtASCltbgt
ltpgtltthgtltthgtltpgtltbgtlta name=ASCgtAll Souls College Libraryltagtlta
href=httpwwwliboxacuklibrariesguidesASChtmltarget=_toptitle=Information about All Souls College
LibrarygtInformationltagt |lta
href=httpwwwall-soulsoxacuklibrarytarget=_toptitle=Website for All Souls College
LibrarygtWebsiteltagtltbgt
ltpgtltthgt
lttrgt[]
lttbodygtlttablegt
Ingredients Preparation Taking shape Proof of concept
Structuring
to get something more structured
ltxml version=10gtltlibsgtltlib code=VHLgtVere Harmsworth Library (Rothermere American
Institute)ltlibgtltlib code=NDAgtNuffield Dept of Anaestheticsltlibgtltlib code=SCAgtSocial and Cultural Anthropology Libraryltlibgt
[]
ltlibsgt
Ingredients Preparation Taking shape Proof of concept
Joining the dotsDifficulties
bull Different names - fuzzy matchingbull Different schemes of uids with notranslatorcorrespondence
bull Different concept of a unit between schemesbull Relationships between libraries (particularlyBodleianOULSetc)
Solution
bull Edit by hand (yes we can)
ltplace type=library olisCode=ASC xmlid=O_lib_ascgtltplaceNamegtAll Souls College LibraryltplaceNamegt
[]
ltplacegt
Ingredients Preparation Taking shape Proof of concept
Taking shape
bull Not really a mashup yetbull But it allows us to query Oxpoints by OLIS code
Ingredients Preparation Taking shape Proof of concept
Example queriesAll libraries
bull httpmoxacukoxpointstypeLibrarykmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointstypeLibrarykml
Individual libraries
bull httpmoxacukoxpointshasOLISCodeBODkmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeBODkml
Combinations
bull httpmoxacukoxpointshasOLISCodeJES|EXE|LINkml
bull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeJES7CEXE7CLINkml
Ingredients Preparation Taking shape Proof of concept
Joining the dots (again)With a bit of JavaScript on a page we can
bull pick out an OLIS code (by its location in the HTML)bull add a link to Google Maps with Oxpoints KML using thatcode
lttableborder=1width=100cellspacing=4class=data-holdingssummary=This table contains a row for each copy held with
columns for Location Shelfmark and Statusgt[]lttr valign=topgt
lttd align=leftgtBalliolltbrgtBLL Main Libr
ltbrgtlta
href=httpmapsgooglecoukq=httpmoxacukoxpointshasOLISCodeBLL+Main+LibrkmlgtShowlibrary on a mapltagt
lttdgtlttd align=left colspan=1gt0050e 007lttdgtlttd align=left colspan=1gtAvailablelttdgtlttdgtlta
href=httpwwwliboxacuklibrariesguidesBLLhtmltarget=_newgt
ltimgsrc=httpwwwliboxacuklibrariescommoninfogifheight=18border=0alt=library guide for BLLgt
ltagtlttdgt
lttrgt[]lttablegt
Ingredients Preparation Taking shape Proof of concept
A pinch of JavaScript
Greasemonkey (Firefox extension) lets us add JavaScript topage
var bodDetails = codeTDinnerHTMLsplit(ltbrgt)bodCode = bodDetails[1]bodCode = bodCodereplace(newLines )if (bodCodematch( ))
encodedBodCode = bodCodereplace( g 252B)bodCode = bodCodereplace( g +)
if (bodCodematch(^[A-Z]3)) bodCodes[i-1] = bodCode
var oxpmaplink = lta href=httpmapsgooglecoukz=16ampq=httpmoxacukoxpointshasOLISCode + encodedBodCode + kmlgtcodeTDinnerHTML = codeTDinnerHTML + ltbrgt + oxpmaplink + Show library on a mapltagt
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install greasemonkey scriptolismapalluserjs
bull Show links working on library searchhttplibraryoxacuk
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Unconsumable ingredients
Example of opening hours
Term time Mon-Fri 900-2200 Sat 1000-1600 University ofOxford dates of full term Hilary 2009 Sunday 18January to Saturday 14 March Trinity 2009Sunday 26 April to Saturday 20 June Michaelmas2009 Sunday 11 October to Saturday 5December Hilary 2010 Sunday 17 January toSaturday 13 March Trinity 2010 Sunday 25 Aprilto Saturday 19 June
Vacation Mon-Fri 900-1900 Sat 1000-1600Closed Christmas Eve to New Years 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-scrapingWalk through the table of OLIS codes
lttable class=olis border=0 cellpadding=4gtlttbodygtlttr class=library valign=topgtltthgtltpgtltbgtAll Sltbgt
ltpgtltthgtltthgtltpgtltbgtASCltbgt
ltpgtltthgtltthgtltpgtltbgtlta name=ASCgtAll Souls College Libraryltagtlta
href=httpwwwliboxacuklibrariesguidesASChtmltarget=_toptitle=Information about All Souls College
LibrarygtInformationltagt |lta
href=httpwwwall-soulsoxacuklibrarytarget=_toptitle=Website for All Souls College
LibrarygtWebsiteltagtltbgt
ltpgtltthgt
lttrgt[]
lttbodygtlttablegt
Ingredients Preparation Taking shape Proof of concept
Structuring
to get something more structured
ltxml version=10gtltlibsgtltlib code=VHLgtVere Harmsworth Library (Rothermere American
Institute)ltlibgtltlib code=NDAgtNuffield Dept of Anaestheticsltlibgtltlib code=SCAgtSocial and Cultural Anthropology Libraryltlibgt
[]
ltlibsgt
Ingredients Preparation Taking shape Proof of concept
Joining the dotsDifficulties
bull Different names - fuzzy matchingbull Different schemes of uids with notranslatorcorrespondence
bull Different concept of a unit between schemesbull Relationships between libraries (particularlyBodleianOULSetc)
Solution
bull Edit by hand (yes we can)
ltplace type=library olisCode=ASC xmlid=O_lib_ascgtltplaceNamegtAll Souls College LibraryltplaceNamegt
[]
ltplacegt
Ingredients Preparation Taking shape Proof of concept
Taking shape
bull Not really a mashup yetbull But it allows us to query Oxpoints by OLIS code
Ingredients Preparation Taking shape Proof of concept
Example queriesAll libraries
bull httpmoxacukoxpointstypeLibrarykmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointstypeLibrarykml
Individual libraries
bull httpmoxacukoxpointshasOLISCodeBODkmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeBODkml
Combinations
bull httpmoxacukoxpointshasOLISCodeJES|EXE|LINkml
bull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeJES7CEXE7CLINkml
Ingredients Preparation Taking shape Proof of concept
Joining the dots (again)With a bit of JavaScript on a page we can
bull pick out an OLIS code (by its location in the HTML)bull add a link to Google Maps with Oxpoints KML using thatcode
lttableborder=1width=100cellspacing=4class=data-holdingssummary=This table contains a row for each copy held with
columns for Location Shelfmark and Statusgt[]lttr valign=topgt
lttd align=leftgtBalliolltbrgtBLL Main Libr
ltbrgtlta
href=httpmapsgooglecoukq=httpmoxacukoxpointshasOLISCodeBLL+Main+LibrkmlgtShowlibrary on a mapltagt
lttdgtlttd align=left colspan=1gt0050e 007lttdgtlttd align=left colspan=1gtAvailablelttdgtlttdgtlta
href=httpwwwliboxacuklibrariesguidesBLLhtmltarget=_newgt
ltimgsrc=httpwwwliboxacuklibrariescommoninfogifheight=18border=0alt=library guide for BLLgt
ltagtlttdgt
lttrgt[]lttablegt
Ingredients Preparation Taking shape Proof of concept
A pinch of JavaScript
Greasemonkey (Firefox extension) lets us add JavaScript topage
var bodDetails = codeTDinnerHTMLsplit(ltbrgt)bodCode = bodDetails[1]bodCode = bodCodereplace(newLines )if (bodCodematch( ))
encodedBodCode = bodCodereplace( g 252B)bodCode = bodCodereplace( g +)
if (bodCodematch(^[A-Z]3)) bodCodes[i-1] = bodCode
var oxpmaplink = lta href=httpmapsgooglecoukz=16ampq=httpmoxacukoxpointshasOLISCode + encodedBodCode + kmlgtcodeTDinnerHTML = codeTDinnerHTML + ltbrgt + oxpmaplink + Show library on a mapltagt
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install greasemonkey scriptolismapalluserjs
bull Show links working on library searchhttplibraryoxacuk
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Preparation
Finely chop your data
Ingredients Preparation Taking shape Proof of concept
Screen-scrapingWalk through the table of OLIS codes
lttable class=olis border=0 cellpadding=4gtlttbodygtlttr class=library valign=topgtltthgtltpgtltbgtAll Sltbgt
ltpgtltthgtltthgtltpgtltbgtASCltbgt
ltpgtltthgtltthgtltpgtltbgtlta name=ASCgtAll Souls College Libraryltagtlta
href=httpwwwliboxacuklibrariesguidesASChtmltarget=_toptitle=Information about All Souls College
LibrarygtInformationltagt |lta
href=httpwwwall-soulsoxacuklibrarytarget=_toptitle=Website for All Souls College
LibrarygtWebsiteltagtltbgt
ltpgtltthgt
lttrgt[]
lttbodygtlttablegt
Ingredients Preparation Taking shape Proof of concept
Structuring
to get something more structured
ltxml version=10gtltlibsgtltlib code=VHLgtVere Harmsworth Library (Rothermere American
Institute)ltlibgtltlib code=NDAgtNuffield Dept of Anaestheticsltlibgtltlib code=SCAgtSocial and Cultural Anthropology Libraryltlibgt
[]
ltlibsgt
Ingredients Preparation Taking shape Proof of concept
Joining the dotsDifficulties
bull Different names - fuzzy matchingbull Different schemes of uids with notranslatorcorrespondence
bull Different concept of a unit between schemesbull Relationships between libraries (particularlyBodleianOULSetc)
Solution
bull Edit by hand (yes we can)
ltplace type=library olisCode=ASC xmlid=O_lib_ascgtltplaceNamegtAll Souls College LibraryltplaceNamegt
[]
ltplacegt
Ingredients Preparation Taking shape Proof of concept
Taking shape
bull Not really a mashup yetbull But it allows us to query Oxpoints by OLIS code
Ingredients Preparation Taking shape Proof of concept
Example queriesAll libraries
bull httpmoxacukoxpointstypeLibrarykmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointstypeLibrarykml
Individual libraries
bull httpmoxacukoxpointshasOLISCodeBODkmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeBODkml
Combinations
bull httpmoxacukoxpointshasOLISCodeJES|EXE|LINkml
bull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeJES7CEXE7CLINkml
Ingredients Preparation Taking shape Proof of concept
Joining the dots (again)With a bit of JavaScript on a page we can
bull pick out an OLIS code (by its location in the HTML)bull add a link to Google Maps with Oxpoints KML using thatcode
lttableborder=1width=100cellspacing=4class=data-holdingssummary=This table contains a row for each copy held with
columns for Location Shelfmark and Statusgt[]lttr valign=topgt
lttd align=leftgtBalliolltbrgtBLL Main Libr
ltbrgtlta
href=httpmapsgooglecoukq=httpmoxacukoxpointshasOLISCodeBLL+Main+LibrkmlgtShowlibrary on a mapltagt
lttdgtlttd align=left colspan=1gt0050e 007lttdgtlttd align=left colspan=1gtAvailablelttdgtlttdgtlta
href=httpwwwliboxacuklibrariesguidesBLLhtmltarget=_newgt
ltimgsrc=httpwwwliboxacuklibrariescommoninfogifheight=18border=0alt=library guide for BLLgt
ltagtlttdgt
lttrgt[]lttablegt
Ingredients Preparation Taking shape Proof of concept
A pinch of JavaScript
Greasemonkey (Firefox extension) lets us add JavaScript topage
var bodDetails = codeTDinnerHTMLsplit(ltbrgt)bodCode = bodDetails[1]bodCode = bodCodereplace(newLines )if (bodCodematch( ))
encodedBodCode = bodCodereplace( g 252B)bodCode = bodCodereplace( g +)
if (bodCodematch(^[A-Z]3)) bodCodes[i-1] = bodCode
var oxpmaplink = lta href=httpmapsgooglecoukz=16ampq=httpmoxacukoxpointshasOLISCode + encodedBodCode + kmlgtcodeTDinnerHTML = codeTDinnerHTML + ltbrgt + oxpmaplink + Show library on a mapltagt
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install greasemonkey scriptolismapalluserjs
bull Show links working on library searchhttplibraryoxacuk
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Screen-scrapingWalk through the table of OLIS codes
lttable class=olis border=0 cellpadding=4gtlttbodygtlttr class=library valign=topgtltthgtltpgtltbgtAll Sltbgt
ltpgtltthgtltthgtltpgtltbgtASCltbgt
ltpgtltthgtltthgtltpgtltbgtlta name=ASCgtAll Souls College Libraryltagtlta
href=httpwwwliboxacuklibrariesguidesASChtmltarget=_toptitle=Information about All Souls College
LibrarygtInformationltagt |lta
href=httpwwwall-soulsoxacuklibrarytarget=_toptitle=Website for All Souls College
LibrarygtWebsiteltagtltbgt
ltpgtltthgt
lttrgt[]
lttbodygtlttablegt
Ingredients Preparation Taking shape Proof of concept
Structuring
to get something more structured
ltxml version=10gtltlibsgtltlib code=VHLgtVere Harmsworth Library (Rothermere American
Institute)ltlibgtltlib code=NDAgtNuffield Dept of Anaestheticsltlibgtltlib code=SCAgtSocial and Cultural Anthropology Libraryltlibgt
[]
ltlibsgt
Ingredients Preparation Taking shape Proof of concept
Joining the dotsDifficulties
bull Different names - fuzzy matchingbull Different schemes of uids with notranslatorcorrespondence
bull Different concept of a unit between schemesbull Relationships between libraries (particularlyBodleianOULSetc)
Solution
bull Edit by hand (yes we can)
ltplace type=library olisCode=ASC xmlid=O_lib_ascgtltplaceNamegtAll Souls College LibraryltplaceNamegt
[]
ltplacegt
Ingredients Preparation Taking shape Proof of concept
Taking shape
bull Not really a mashup yetbull But it allows us to query Oxpoints by OLIS code
Ingredients Preparation Taking shape Proof of concept
Example queriesAll libraries
bull httpmoxacukoxpointstypeLibrarykmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointstypeLibrarykml
Individual libraries
bull httpmoxacukoxpointshasOLISCodeBODkmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeBODkml
Combinations
bull httpmoxacukoxpointshasOLISCodeJES|EXE|LINkml
bull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeJES7CEXE7CLINkml
Ingredients Preparation Taking shape Proof of concept
Joining the dots (again)With a bit of JavaScript on a page we can
bull pick out an OLIS code (by its location in the HTML)bull add a link to Google Maps with Oxpoints KML using thatcode
lttableborder=1width=100cellspacing=4class=data-holdingssummary=This table contains a row for each copy held with
columns for Location Shelfmark and Statusgt[]lttr valign=topgt
lttd align=leftgtBalliolltbrgtBLL Main Libr
ltbrgtlta
href=httpmapsgooglecoukq=httpmoxacukoxpointshasOLISCodeBLL+Main+LibrkmlgtShowlibrary on a mapltagt
lttdgtlttd align=left colspan=1gt0050e 007lttdgtlttd align=left colspan=1gtAvailablelttdgtlttdgtlta
href=httpwwwliboxacuklibrariesguidesBLLhtmltarget=_newgt
ltimgsrc=httpwwwliboxacuklibrariescommoninfogifheight=18border=0alt=library guide for BLLgt
ltagtlttdgt
lttrgt[]lttablegt
Ingredients Preparation Taking shape Proof of concept
A pinch of JavaScript
Greasemonkey (Firefox extension) lets us add JavaScript topage
var bodDetails = codeTDinnerHTMLsplit(ltbrgt)bodCode = bodDetails[1]bodCode = bodCodereplace(newLines )if (bodCodematch( ))
encodedBodCode = bodCodereplace( g 252B)bodCode = bodCodereplace( g +)
if (bodCodematch(^[A-Z]3)) bodCodes[i-1] = bodCode
var oxpmaplink = lta href=httpmapsgooglecoukz=16ampq=httpmoxacukoxpointshasOLISCode + encodedBodCode + kmlgtcodeTDinnerHTML = codeTDinnerHTML + ltbrgt + oxpmaplink + Show library on a mapltagt
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install greasemonkey scriptolismapalluserjs
bull Show links working on library searchhttplibraryoxacuk
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Structuring
to get something more structured
ltxml version=10gtltlibsgtltlib code=VHLgtVere Harmsworth Library (Rothermere American
Institute)ltlibgtltlib code=NDAgtNuffield Dept of Anaestheticsltlibgtltlib code=SCAgtSocial and Cultural Anthropology Libraryltlibgt
[]
ltlibsgt
Ingredients Preparation Taking shape Proof of concept
Joining the dotsDifficulties
bull Different names - fuzzy matchingbull Different schemes of uids with notranslatorcorrespondence
bull Different concept of a unit between schemesbull Relationships between libraries (particularlyBodleianOULSetc)
Solution
bull Edit by hand (yes we can)
ltplace type=library olisCode=ASC xmlid=O_lib_ascgtltplaceNamegtAll Souls College LibraryltplaceNamegt
[]
ltplacegt
Ingredients Preparation Taking shape Proof of concept
Taking shape
bull Not really a mashup yetbull But it allows us to query Oxpoints by OLIS code
Ingredients Preparation Taking shape Proof of concept
Example queriesAll libraries
bull httpmoxacukoxpointstypeLibrarykmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointstypeLibrarykml
Individual libraries
bull httpmoxacukoxpointshasOLISCodeBODkmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeBODkml
Combinations
bull httpmoxacukoxpointshasOLISCodeJES|EXE|LINkml
bull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeJES7CEXE7CLINkml
Ingredients Preparation Taking shape Proof of concept
Joining the dots (again)With a bit of JavaScript on a page we can
bull pick out an OLIS code (by its location in the HTML)bull add a link to Google Maps with Oxpoints KML using thatcode
lttableborder=1width=100cellspacing=4class=data-holdingssummary=This table contains a row for each copy held with
columns for Location Shelfmark and Statusgt[]lttr valign=topgt
lttd align=leftgtBalliolltbrgtBLL Main Libr
ltbrgtlta
href=httpmapsgooglecoukq=httpmoxacukoxpointshasOLISCodeBLL+Main+LibrkmlgtShowlibrary on a mapltagt
lttdgtlttd align=left colspan=1gt0050e 007lttdgtlttd align=left colspan=1gtAvailablelttdgtlttdgtlta
href=httpwwwliboxacuklibrariesguidesBLLhtmltarget=_newgt
ltimgsrc=httpwwwliboxacuklibrariescommoninfogifheight=18border=0alt=library guide for BLLgt
ltagtlttdgt
lttrgt[]lttablegt
Ingredients Preparation Taking shape Proof of concept
A pinch of JavaScript
Greasemonkey (Firefox extension) lets us add JavaScript topage
var bodDetails = codeTDinnerHTMLsplit(ltbrgt)bodCode = bodDetails[1]bodCode = bodCodereplace(newLines )if (bodCodematch( ))
encodedBodCode = bodCodereplace( g 252B)bodCode = bodCodereplace( g +)
if (bodCodematch(^[A-Z]3)) bodCodes[i-1] = bodCode
var oxpmaplink = lta href=httpmapsgooglecoukz=16ampq=httpmoxacukoxpointshasOLISCode + encodedBodCode + kmlgtcodeTDinnerHTML = codeTDinnerHTML + ltbrgt + oxpmaplink + Show library on a mapltagt
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install greasemonkey scriptolismapalluserjs
bull Show links working on library searchhttplibraryoxacuk
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Joining the dotsDifficulties
bull Different names - fuzzy matchingbull Different schemes of uids with notranslatorcorrespondence
bull Different concept of a unit between schemesbull Relationships between libraries (particularlyBodleianOULSetc)
Solution
bull Edit by hand (yes we can)
ltplace type=library olisCode=ASC xmlid=O_lib_ascgtltplaceNamegtAll Souls College LibraryltplaceNamegt
[]
ltplacegt
Ingredients Preparation Taking shape Proof of concept
Taking shape
bull Not really a mashup yetbull But it allows us to query Oxpoints by OLIS code
Ingredients Preparation Taking shape Proof of concept
Example queriesAll libraries
bull httpmoxacukoxpointstypeLibrarykmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointstypeLibrarykml
Individual libraries
bull httpmoxacukoxpointshasOLISCodeBODkmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeBODkml
Combinations
bull httpmoxacukoxpointshasOLISCodeJES|EXE|LINkml
bull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeJES7CEXE7CLINkml
Ingredients Preparation Taking shape Proof of concept
Joining the dots (again)With a bit of JavaScript on a page we can
bull pick out an OLIS code (by its location in the HTML)bull add a link to Google Maps with Oxpoints KML using thatcode
lttableborder=1width=100cellspacing=4class=data-holdingssummary=This table contains a row for each copy held with
columns for Location Shelfmark and Statusgt[]lttr valign=topgt
lttd align=leftgtBalliolltbrgtBLL Main Libr
ltbrgtlta
href=httpmapsgooglecoukq=httpmoxacukoxpointshasOLISCodeBLL+Main+LibrkmlgtShowlibrary on a mapltagt
lttdgtlttd align=left colspan=1gt0050e 007lttdgtlttd align=left colspan=1gtAvailablelttdgtlttdgtlta
href=httpwwwliboxacuklibrariesguidesBLLhtmltarget=_newgt
ltimgsrc=httpwwwliboxacuklibrariescommoninfogifheight=18border=0alt=library guide for BLLgt
ltagtlttdgt
lttrgt[]lttablegt
Ingredients Preparation Taking shape Proof of concept
A pinch of JavaScript
Greasemonkey (Firefox extension) lets us add JavaScript topage
var bodDetails = codeTDinnerHTMLsplit(ltbrgt)bodCode = bodDetails[1]bodCode = bodCodereplace(newLines )if (bodCodematch( ))
encodedBodCode = bodCodereplace( g 252B)bodCode = bodCodereplace( g +)
if (bodCodematch(^[A-Z]3)) bodCodes[i-1] = bodCode
var oxpmaplink = lta href=httpmapsgooglecoukz=16ampq=httpmoxacukoxpointshasOLISCode + encodedBodCode + kmlgtcodeTDinnerHTML = codeTDinnerHTML + ltbrgt + oxpmaplink + Show library on a mapltagt
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install greasemonkey scriptolismapalluserjs
bull Show links working on library searchhttplibraryoxacuk
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Taking shape
bull Not really a mashup yetbull But it allows us to query Oxpoints by OLIS code
Ingredients Preparation Taking shape Proof of concept
Example queriesAll libraries
bull httpmoxacukoxpointstypeLibrarykmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointstypeLibrarykml
Individual libraries
bull httpmoxacukoxpointshasOLISCodeBODkmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeBODkml
Combinations
bull httpmoxacukoxpointshasOLISCodeJES|EXE|LINkml
bull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeJES7CEXE7CLINkml
Ingredients Preparation Taking shape Proof of concept
Joining the dots (again)With a bit of JavaScript on a page we can
bull pick out an OLIS code (by its location in the HTML)bull add a link to Google Maps with Oxpoints KML using thatcode
lttableborder=1width=100cellspacing=4class=data-holdingssummary=This table contains a row for each copy held with
columns for Location Shelfmark and Statusgt[]lttr valign=topgt
lttd align=leftgtBalliolltbrgtBLL Main Libr
ltbrgtlta
href=httpmapsgooglecoukq=httpmoxacukoxpointshasOLISCodeBLL+Main+LibrkmlgtShowlibrary on a mapltagt
lttdgtlttd align=left colspan=1gt0050e 007lttdgtlttd align=left colspan=1gtAvailablelttdgtlttdgtlta
href=httpwwwliboxacuklibrariesguidesBLLhtmltarget=_newgt
ltimgsrc=httpwwwliboxacuklibrariescommoninfogifheight=18border=0alt=library guide for BLLgt
ltagtlttdgt
lttrgt[]lttablegt
Ingredients Preparation Taking shape Proof of concept
A pinch of JavaScript
Greasemonkey (Firefox extension) lets us add JavaScript topage
var bodDetails = codeTDinnerHTMLsplit(ltbrgt)bodCode = bodDetails[1]bodCode = bodCodereplace(newLines )if (bodCodematch( ))
encodedBodCode = bodCodereplace( g 252B)bodCode = bodCodereplace( g +)
if (bodCodematch(^[A-Z]3)) bodCodes[i-1] = bodCode
var oxpmaplink = lta href=httpmapsgooglecoukz=16ampq=httpmoxacukoxpointshasOLISCode + encodedBodCode + kmlgtcodeTDinnerHTML = codeTDinnerHTML + ltbrgt + oxpmaplink + Show library on a mapltagt
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install greasemonkey scriptolismapalluserjs
bull Show links working on library searchhttplibraryoxacuk
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Example queriesAll libraries
bull httpmoxacukoxpointstypeLibrarykmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointstypeLibrarykml
Individual libraries
bull httpmoxacukoxpointshasOLISCodeBODkmlbull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeBODkml
Combinations
bull httpmoxacukoxpointshasOLISCodeJES|EXE|LINkml
bull httpmapsgooglecoukz=17ampq=httpmoxacukoxpointshasOLISCodeJES7CEXE7CLINkml
Ingredients Preparation Taking shape Proof of concept
Joining the dots (again)With a bit of JavaScript on a page we can
bull pick out an OLIS code (by its location in the HTML)bull add a link to Google Maps with Oxpoints KML using thatcode
lttableborder=1width=100cellspacing=4class=data-holdingssummary=This table contains a row for each copy held with
columns for Location Shelfmark and Statusgt[]lttr valign=topgt
lttd align=leftgtBalliolltbrgtBLL Main Libr
ltbrgtlta
href=httpmapsgooglecoukq=httpmoxacukoxpointshasOLISCodeBLL+Main+LibrkmlgtShowlibrary on a mapltagt
lttdgtlttd align=left colspan=1gt0050e 007lttdgtlttd align=left colspan=1gtAvailablelttdgtlttdgtlta
href=httpwwwliboxacuklibrariesguidesBLLhtmltarget=_newgt
ltimgsrc=httpwwwliboxacuklibrariescommoninfogifheight=18border=0alt=library guide for BLLgt
ltagtlttdgt
lttrgt[]lttablegt
Ingredients Preparation Taking shape Proof of concept
A pinch of JavaScript
Greasemonkey (Firefox extension) lets us add JavaScript topage
var bodDetails = codeTDinnerHTMLsplit(ltbrgt)bodCode = bodDetails[1]bodCode = bodCodereplace(newLines )if (bodCodematch( ))
encodedBodCode = bodCodereplace( g 252B)bodCode = bodCodereplace( g +)
if (bodCodematch(^[A-Z]3)) bodCodes[i-1] = bodCode
var oxpmaplink = lta href=httpmapsgooglecoukz=16ampq=httpmoxacukoxpointshasOLISCode + encodedBodCode + kmlgtcodeTDinnerHTML = codeTDinnerHTML + ltbrgt + oxpmaplink + Show library on a mapltagt
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install greasemonkey scriptolismapalluserjs
bull Show links working on library searchhttplibraryoxacuk
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Joining the dots (again)With a bit of JavaScript on a page we can
bull pick out an OLIS code (by its location in the HTML)bull add a link to Google Maps with Oxpoints KML using thatcode
lttableborder=1width=100cellspacing=4class=data-holdingssummary=This table contains a row for each copy held with
columns for Location Shelfmark and Statusgt[]lttr valign=topgt
lttd align=leftgtBalliolltbrgtBLL Main Libr
ltbrgtlta
href=httpmapsgooglecoukq=httpmoxacukoxpointshasOLISCodeBLL+Main+LibrkmlgtShowlibrary on a mapltagt
lttdgtlttd align=left colspan=1gt0050e 007lttdgtlttd align=left colspan=1gtAvailablelttdgtlttdgtlta
href=httpwwwliboxacuklibrariesguidesBLLhtmltarget=_newgt
ltimgsrc=httpwwwliboxacuklibrariescommoninfogifheight=18border=0alt=library guide for BLLgt
ltagtlttdgt
lttrgt[]lttablegt
Ingredients Preparation Taking shape Proof of concept
A pinch of JavaScript
Greasemonkey (Firefox extension) lets us add JavaScript topage
var bodDetails = codeTDinnerHTMLsplit(ltbrgt)bodCode = bodDetails[1]bodCode = bodCodereplace(newLines )if (bodCodematch( ))
encodedBodCode = bodCodereplace( g 252B)bodCode = bodCodereplace( g +)
if (bodCodematch(^[A-Z]3)) bodCodes[i-1] = bodCode
var oxpmaplink = lta href=httpmapsgooglecoukz=16ampq=httpmoxacukoxpointshasOLISCode + encodedBodCode + kmlgtcodeTDinnerHTML = codeTDinnerHTML + ltbrgt + oxpmaplink + Show library on a mapltagt
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install greasemonkey scriptolismapalluserjs
bull Show links working on library searchhttplibraryoxacuk
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
A pinch of JavaScript
Greasemonkey (Firefox extension) lets us add JavaScript topage
var bodDetails = codeTDinnerHTMLsplit(ltbrgt)bodCode = bodDetails[1]bodCode = bodCodereplace(newLines )if (bodCodematch( ))
encodedBodCode = bodCodereplace( g 252B)bodCode = bodCodereplace( g +)
if (bodCodematch(^[A-Z]3)) bodCodes[i-1] = bodCode
var oxpmaplink = lta href=httpmapsgooglecoukz=16ampq=httpmoxacukoxpointshasOLISCode + encodedBodCode + kmlgtcodeTDinnerHTML = codeTDinnerHTML + ltbrgt + oxpmaplink + Show library on a mapltagt
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install greasemonkey scriptolismapalluserjs
bull Show links working on library searchhttplibraryoxacuk
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install greasemonkey scriptolismapalluserjs
bull Show links working on library searchhttplibraryoxacuk
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Adding value
What else can we do
bull Show all these libraries on the same mapbull Add a map to the page itselfbull Show information about availability on the mapbull Add user location to the map
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Beyond Greasemonkey
bull Cant use Google maps API to add a map to the pagebull Cant pass much useful information into the KML
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
External map
bull Still using JavaScriptGreasemonkey to write in linksbull but these pass info to an external mapscriptbull Easier to manipulate data and control display
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Demo
bull Greasemonkey working on library searchhttplibraryoxacuk
bull All libraries on one (external) mapbull Availability
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Where are you
Google Gears can (sort of) tell your locationIn practice there are probably better ways of doing this
bull User setschooses location(s)bull Native apps for mobile devices which use onboard GPS
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Demo
bull Install Google Gearshttpgearsgooglecom
bull Back to library searchbull You are herebull Directions
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-
Ingredients Preparation Taking shape Proof of concept
Proof of concept
Shows the general idea but doesnt include
bull Patron data (who are you amp can you borrow the book)bull Integration with book requestsbull Combining with other locationsbull
Ingredients Preparation Taking shape Proof of concept
Is all this useful
bull Maybe more so in other contextsbull Useful as a demonstrationbull Quick prototyping of ideas - easier to visualisebull Shows the value of consumable data
- Ingredients
- Preparation
- Taking shape
- Proof of concept
-