<?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>LiquidFoot &#187; gem</title>
	<atom:link href="http://www.liquidfoot.com/tag/gem/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.liquidfoot.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Mon, 02 Jan 2012 22:56:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Zotero + Ruby == Fun!</title>
		<link>http://www.liquidfoot.com/2010/04/17/zotero-ruby-fun/</link>
		<comments>http://www.liquidfoot.com/2010/04/17/zotero-ruby-fun/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 16:36:10 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[zotero]]></category>
		<guid isPermaLink="false">http://www.liquidfoot.com/?p=345</guid>
		<description><![CDATA[Last week I was on a panel at the Organization of American Historian&#8217;s Annual Meeting up in DC with some folks from CHNM. One of the really cool thing that I&#8217;ve noticed is every time I&#8217;m around those folks, I get ideas&#8230;which can be dangerous. I had been meaning to poke at the Zotero API [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I was on a panel at the Organization of American Historian&#8217;s Annual Meeting up in DC with some folks from <a href="http://chnm.gmu.edu/">CHNM</a>. One of the really cool thing that I&#8217;ve noticed is every time I&#8217;m around those folks, I get ideas&#8230;which can be dangerous. I had been meaning to poke at the Zotero API for a while and after talking with <a href="http://twitter.com/tjowens/">@tjowens</a>, <a href="http://twitter.com/joegilbert">@joegilbert</a>, and <a href="http://twitter.com/clioweb">@clioweb</a> over some falafels, I started putting some ideas together on the train home.</p>
<p>Over the last couple of years, I&#8217;ve been working on-and-off on improving the <a href="http://deca.swem.wm.edu/">Database of Early Chesapeake Architecture</a>. I&#8217;d recently gotten the data (again) from Swem Library and had been working on pushing it to a more open framework (it was ColdFusion + MSSQL; now Rails + Postgresql). What I wanted to be able to add in is an extensible method of citation for the various buildings and sites used (check out the <a href="http://deca.heroku.com">work-in-progress</a>). At the time, I tried to use RefWorks (with very little success) to handle the citations, but with the improvements to Zotero (and it&#8217;s Group ability), I thought I&#8217;d go down this road and test if this is a viable method of citation management.</p>
<p>I first took a look at Jeremy&#8217;s <a href="http://github.com/clioweb/phpZotero">phpZotero code</a>. The first thing I noticed is that there&#8217;s a pretty funky way that you have to construct URLs for the &#8220;API&#8221; (I think the Zotero API is more of an RSS decorator than an API, but hopefully they&#8217;re working on that). Essentially you construct a URL requests to the Zotero API server with a user ID. Unfortunately, most people don&#8217;t know their user_id, so the PHP code goes and looks this up on a different server, parses out the user_id, then constructs an HTTP request for RSS data from the API server. I kind of brace a bit at the thought of every request needing to go to two servers (multiple points of failure, speed, etc.). When I started creating a ruby wrapper for these calls, I made the object use the user_id (Integer) and not the user_name (String). Knowing folks might not know their user_id, I whipped up a quick Sinatra app on heroku to look up Zotero User ids: <a href="http://zotero-id-finder.heroku.com/">zotero-id-finder</a> (source on <a href="http://github.com/waynegraham/Zotero-ID-Finder">github</a>).</p>
<p>Next, I needed something to not have to use Nokogiri all the time to grab info off the Zotero server. I made a basic Gem to wrap these requests named <a href="http://rubygems.org/gems/rzotero">rzotero</a>. This is really helpful, but what I really wanted to do is add citations to ActiveRecord models a la acts_as_taggable. To that end, I started mocking up <a href="http://github.com/waynegraham/acts_as_citable">acts_as_citable</a> which will allow you to add in citations identifiers to be used with rzotero plugin to record and display items in a collection in ActiveRecord contexts.</p>
<p>As a warning, all of these are in a pre-alpha-ish state and may (badly) break your code (especially since it&#8217;s lightly tested right now). As things progress, I&#8217;ll have more posts here, and over on the <a href="http://www.scholarslab.org">Scholars&#8217; Lab site</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liquidfoot.com/2010/04/17/zotero-ruby-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

