<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>blyberg.net &#187; REST</title>
	<atom:link href="http://www.blyberg.net/tag/rest/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blyberg.net</link>
	<description>A library-geek blog</description>
	<lastBuildDate>Sat, 10 Jul 2010 23:08:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>PatREST Enhancements &amp; Documentation</title>
		<link>http://www.blyberg.net/2006/08/15/patrest-enhancements-documentation/</link>
		<comments>http://www.blyberg.net/2006/08/15/patrest-enhancements-documentation/#comments</comments>
		<pubDate>Tue, 15 Aug 2006 17:13:00 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Libraries]]></category>
		<category><![CDATA[AADL]]></category>
		<category><![CDATA[Catalogs]]></category>
		<category><![CDATA[OPAC]]></category>
		<category><![CDATA[PatREST]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.blyberg.net/2006/08/15/patrest-enhancements-documentation/</guid>
		<description><![CDATA[A couple of notes regarding the status of PatREST. First, two new functions have been added to the service. One provides access to tops (or popular items) lists. The other provides access to the new materials lists. I believe these are significant-enough additions to the service that they merit the 1.1 version number. The top [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of notes regarding the status of PatREST.</p>
<p>First, two new functions have been added to the service.  One provides access to tops (or popular items) lists.  The other provides access to the new materials lists.  I believe these are significant-enough additions to the service that they merit the 1.1 version number.</p>
<p>The top items query is scalable by result size and can be paginated, just like the search results.  In addition, it can be scoped by material type: books, cd, dvd, or bocd (books on CD).  When applied to the AADL XSLT, it looks something like this:</p>
<p><a href="http://www.aadl.org/rest/top/books/10/2"><img src="http://static.flickr.com/96/216038171_5565e7d45f_m.jpg"/></a></p>
<p>The new items query is similar to the top query in that it can be scaled by material type, size and be paginated.  You can also search new items using their subject headings&#8211;useful for querying those new knitting books, <a href="http://vielmetti.typepad.com/superpatron/">Ed</a>&#8230;  It looks something like this:</p>
<p><a href="http://www.aadl.org/rest/new/books/dogs/5/1"><img src="http://static.flickr.com/77/216038170_7a4cbb8fd0_m.jpg"/></a></p>
<p>Second, and probably more importantly, I&#8217;ve <strong>finally</strong> <a href="http://www.blyberg.net/downloads/patrest_1.1_overview.pdf">drafted a specification</a> for PatREST which includes an explanation of it&#8217;s XML schema and some documentation for it&#8217;s various functions.  It&#8217;s about time, I know.  It can be found in the <a href="http://www.blyberg.net/files/">files</a> section, or downloaded <a href="http://www.blyberg.net/downloads/patrest_1.1_overview.pdf">here</a>. (PDF)</p>
<p>I&#8217;m not going to go in to too much detail about the two new functions in this post because the new documentation contains everything you need to know to get started with them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blyberg.net/2006/08/15/patrest-enhancements-documentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Major enhancements for patron-REST</title>
		<link>http://www.blyberg.net/2006/01/26/major-enhancements-for-patron-rest/</link>
		<comments>http://www.blyberg.net/2006/01/26/major-enhancements-for-patron-rest/#comments</comments>
		<pubDate>Thu, 26 Jan 2006 21:41:53 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Libraries]]></category>
		<category><![CDATA[OPAC]]></category>
		<category><![CDATA[PatREST]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.blyberg.net/2006/01/26/major-enhancements-for-patron-rest/</guid>
		<description><![CDATA[(Codenamed PatREST in my SVN) When last I wrote about this, it was little more than a working proof-of-concept, but I&#8217;ve been working on it a lot this week&#8211;partly driven by DaveyP&#8217;s experiments and Ed&#8217;s tinkering, but mostly because I&#8217;ve been planning to do this for a long time now. So, to cut to the [...]]]></description>
			<content:encoded><![CDATA[<p>(Codenamed PatREST in my SVN)</p>
<p>When last I wrote about this, it was little more than a working proof-of-concept, but I&#8217;ve been working on it a lot this week&#8211;partly driven by <a href="http://www.daveyp.com/blog/">DaveyP&#8217;s experiments</a> and <a href="http://vielmetti.typepad.com/superpatron/">Ed&#8217;s tinkering</a>, but mostly because I&#8217;ve been planning to do this for a long time now.</p>
<p>So, to cut to the chase:<br />
PatREST now provides an easy, RESTful URI to do searches on quite a few fields.  Essentially, you will plug the search key into the URI, followed by the search term.  You can also request optional paging for keyword, author searches by appending hits-per-page and page-# to the URI.  It looks like this:</p>
<p>http://www.aadl.org/rest/search/[searchkey]/[searchterm]/[hits-per-page]/[page-#]</p>
<p>The following search keys are available:</p>
<p>title<br />
author<br />
callnum<br />
keyword<br />
subject<br />
gvtdocnum<br />
stdnum (ISBN/ISSN)<br />
titlekey<br />
controlnum<br />
barcode<br />
record (Bib #)<br />
bibnum (Bib # &#8211; Same as record)<br />
itemnum</p>
<p>Go ahead and try <a href="http://www.aadl.org/rest/search/keyword/japan/10/1">this keyword search</a>.  It&#8217;ll look something like this:</p>
<p><a href="http://www.flickr.com/photos/jblyberg/91487868/"><img src="http://static.flickr.com/25/91487868_4ee1995bd3_m.jpg" /></a></p>
<p>You&#8217;ll notice that the XSLT stylesheet presents it nicely, all the data may not be displayed, but the XML is sound.  Go ahead and view source to examine the schema.  I&#8217;ve departed quite a bit from my original schema in order to provide a little bit of metadata for processing purposes.  The XSLT allows you to click on a title which will take you to another RESTful record:</p>
<p><a href="http://www.flickr.com/photos/jblyberg/91487869/"><img src="http://static.flickr.com/18/91487869_f3a271d474_m.jpg" /></a></p>
<p>You&#8217;ll notice that the URI for this record looks like <a href="http://www.aadl.org/rest/record/1035670/">/rest/record/1035670/</a> &#8230; It&#8217;s /rest/record/[bibnum]/.  The XSLT allows you to click on either the title or cover image to go to the regular OPAC record.  Again, view source for the XML schema.  This schema has changed little and you&#8217;ll notice that I&#8217;m taking advantage of OCLC&#8217;s xISBN service.</p>
<p>The real treat in all this, however, is the ability to access your personal records RESTfully.  To do this, I make use of the RSS token that is provided to every cardholder who has registered for an online account.  This is the token that authenticates RSS readers against our system.  It is a 32 character MD5 hash that looks something like &#8220;316928e0d260556eaccb6627f2ed657b&#8221;.  Accessing personal data is as easy as using the following URIs:</p>
<p>For checkouts, you would use /rest/checkouts/[token] (ie http://www.aadl.org/rest/checkouts/316928e0d260556eaccb6627f2ed657b).  You&#8217;ll then get output at looks something like:</p>
<p><a href="http://www.flickr.com/photos/jblyberg/91487870/"><img src="http://static.flickr.com/27/91487870_6a00d6c546_m.jpg" /></a></p>
<p>For holds, the URI is /rest/holds/[token].  Output looks like:</p>
<p><a href="http://www.flickr.com/photos/jblyberg/91487871/"><img src="http://static.flickr.com/36/91487871_90882d7159_m.jpg" /></a></p>
<p>Both of those results allow you to click on the bibnum and access the REST record for that item.  Again, check the XML schema with your browser (no point in putting it here).</p>
<p>Please hack away at this and send me your comments/suggestions.  You&#8217;re absolutely correct that it doesn&#8217;t adhere to any existing standard, but that&#8217;s because I didn&#8217;t want it to.</p>
<p>On a slightly less geek-oriented note&#8230;</p>
<p>I&#8217;ve gone <a href="http://www.blyberg.net/2005/11/24/talis-responds-to-bill-of-rights/">several rounds</a> with Talis&#8217;s Richard Wallis before, so I want to call your attention to a post he <a href="http://blogs.talis.com/panlibus/archives/2006/01/just_resting.html">made the other day</a> in which he suggest that a) DaveyP and I collaborate and b) I/we consider using industry standards.  I&#8217;d like to respond by saying that Dave and I have been communicating extensively.  Ed Vielmetti has been involved as well.</p>
<p>Richard writes:</p>
<p><em>I encourage John, Dave, and those that follow them to take a look at these standards like we have</em></p>
<p>I can&#8217;t speak for Dave, but I&#8217;m very familiar with these standards and so is Ed.  I think Richard is completely missing the point of this whole project which is to put a friendly, accessible, and useful development interface into the hands of <strong>patrons</strong>.  Ed offers just a small example of the type of features that existing standards don&#8217;t readily make available:</p>
<p><em>Already there is a lot more useful function in it than you can get in SRU, e.g. permalinks for card records and a sensible way to get item availability.</em></p>
<p>Bear in mind, that comment was made prior to my work with RESTful holds and checkouts, which, as far as I know, don&#8217;t even have a standard XML schema&#8211;I don&#8217;t think it&#8217;s been done before! (I&#8217;d love to be corrected on this)  This project will also evolve to the point where holds can be placed RESTfully, items renewed, fines paid.  It&#8217;ll also extend to our other features like checkout history, wifi device management, personal card catalog management.  Adding this functionality is not only going to allow the public to develop highly useful applications, but it&#8217;ll be a framework by which we ourselves can build new services in-house.  Vendor&#8217;s obviously haven&#8217;t stepped up to this, so we are&#8211;and we believe in our patrons.  They deserve this kind of access to their public library.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blyberg.net/2006/01/26/major-enhancements-for-patron-rest/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

