<?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>discontents &#187; userscript</title>
	<atom:link href="http://discontents.com.au/tag/userscript/feed" rel="self" type="application/rss+xml" />
	<link>http://discontents.com.au</link>
	<description>working for the triumph of content over form, ideas over control, people over systems</description>
	<lastBuildDate>Wed, 21 Jul 2010 23:24:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Doing it yourself</title>
		<link>http://discontents.com.au/shoebox/archives-shoebox/doing-it-yourself</link>
		<comments>http://discontents.com.au/shoebox/archives-shoebox/doing-it-yourself#comments</comments>
		<pubDate>Tue, 22 Dec 2009 11:21:31 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[archives]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[recordsearch]]></category>
		<category><![CDATA[userscript]]></category>

		<guid isPermaLink="false">http://discontents.com.au/?p=738</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Doing+it+yourself&amp;rft.aulast=Sherratt&amp;rft.aufirst=Tim&amp;rft.subject=archives&amp;rft.subject=hacks&amp;rft.source=discontents&amp;rft.date=2009-12-22&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://discontents.com.au/shoebox/archives-shoebox/doing-it-yourself&amp;rft.language=English"></span>

I was doing some research using the National Archives of Australia&#8217;s RecordSearch database the other day and became frustrated that there is no way of seeing how many pages are in a digitised file without clicking on the &#8216;Display digital copy&#8217; link. So I fixed it.
As a userscript it&#8217;s hardly worthy of a blog post. [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Doing+it+yourself&amp;rft.aulast=Sherratt&amp;rft.aufirst=Tim&amp;rft.subject=archives&amp;rft.subject=hacks&amp;rft.source=discontents&amp;rft.date=2009-12-22&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://discontents.com.au/shoebox/archives-shoebox/doing-it-yourself&amp;rft.language=English"></span>
<abbr class="unapi-id" title="http://discontents.com.au/?p=738"><!-- &nbsp; --></abbr>
<p>I was doing some research using the National Archives of Australia&#8217;s <a href="http://naa.gov.au/collection/recordsearch/index.aspx">RecordSearch</a> database the other day and became frustrated that there is no way of seeing how many pages are in a digitised file without clicking on the &#8216;Display digital copy&#8217; link. So <a href="http://userscripts.org/scripts/show/64722">I fixed it</a>.</p>
<p>As a userscript it&#8217;s hardly worthy of a blog post. All it does it find out how many pages are in the file and insert the number in the link text. It&#8217;s very simple. But I think it&#8217;s also a useful illustration of the changing balance of power between archives and their users.</p>
<p>William E Landis argued that archivists were &#8216;guilty as a profession of fetishising the outputs of our descriptive systems&#8217;. The design of finding aids have often been determined not by the needs of users but by a desire to faithfully represent the underlying archival architecture. But now users don&#8217;t have to just take what they&#8217;re given.</p>
<p>Technologies such as <a href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey</a> are useful for sketching out alternatives. For organisations with IT systems that inhibit experimentation, Greasemonkey (or <a href="https://jetpack.mozillalabs.com/">Mozilla&#8217;s Jetpack</a>) provides a way of playing with interfaces without touching any of the underlying code. My rewrite of the way RecordSearch <a href="http://discontents.com.au/shoebox/archives-shoebox/archives-in-3d">displays digitised files</a> is an example of this.</p>
<p>But no one interface is ever going to meet the needs of all archive users. Fortunately, there are a growing number of ways in which archives can work in partnership with their users to help <em>them</em> create the interfaces they want and need.</p>
<p>Archives are starting to expose their data directly using APIs and linked open data. This gives users the power to create whole new applications. But I still think there&#8217;ll be a place for the little tweak – a simple hack that meets some small but specific need. I can imagine communities of interest building and sharing a range of tools, hacks, applications and interfaces specifically tailored to their research habits.</p>
<p>So if you don&#8217;t like it, fix it.</p>
]]></content:encoded>
			<wfw:commentRss>http://discontents.com.au/shoebox/archives-shoebox/doing-it-yourself/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Harvesting context #1: Flickr comments</title>
		<link>http://discontents.com.au/shoebox/archives-shoebox/harvesting-context-1</link>
		<comments>http://discontents.com.au/shoebox/archives-shoebox/harvesting-context-1#comments</comments>
		<pubDate>Sun, 23 Aug 2009 23:57:52 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[archives]]></category>
		<category><![CDATA[experiments]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[finding aids]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[userscript]]></category>

		<guid isPermaLink="false">http://discontents.com.au/?p=670</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Harvesting+context+%231%3A+Flickr+comments&amp;rft.aulast=Sherratt&amp;rft.aufirst=Tim&amp;rft.subject=archives&amp;rft.subject=experiments&amp;rft.source=discontents&amp;rft.date=2009-08-24&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://discontents.com.au/shoebox/archives-shoebox/harvesting-context-1&amp;rft.language=English"></span>

Instead of idly waiting for visitors to stumble over their holdings on some lonely information by-way,  archives are starting to push their content out into the bustling metropolis of the social web. They are going where the people are. Photographic collections, in particular, are gaining new lives and new audiences thanks to Flickr.
But that&#8217;s only [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Harvesting+context+%231%3A+Flickr+comments&amp;rft.aulast=Sherratt&amp;rft.aufirst=Tim&amp;rft.subject=archives&amp;rft.subject=experiments&amp;rft.source=discontents&amp;rft.date=2009-08-24&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://discontents.com.au/shoebox/archives-shoebox/harvesting-context-1&amp;rft.language=English"></span>
<abbr class="unapi-id" title="http://discontents.com.au/?p=670"><!-- &nbsp; --></abbr>
<p>Instead of idly waiting for visitors to stumble over their holdings on some lonely information by-way,  archives are starting to push their content out into the bustling metropolis of the social web. They are going where the people are. Photographic collections, in particular, are gaining new lives and new audiences thanks to Flickr.</p>
<p>But that&#8217;s only part of the story. Released into the wild, these photos are slowly picking up the habits of the locals. They are making friends, building connections, even speaking with new accents and dialects. Commented, tagged, organised, linked – they are building new contexts for themselves outside of the cloying control of archival descriptive systems.</p>
<p>Unfortunately it seems there is often a chasm between the old lives of the photos, documented in databases and finding aids, and their new post-institutional careers. This is a pity because the new contexts they are gathering can help us both understand and find them. What can we do to overcome this divide? How could finding aids harvest and display the user-generated content that aggregates around collection items living in the outside world?</p>
<p>The good news is that the tools to start doing this already exist – Flickr has a <a href="http://www.flickr.com/services/api/">powerful API</a> that makes it easy to extract photo metadata. Time for a bit of experimenting&#8230;<span id="more-670"></span></p>
<p>The first result is a <a href="http://userscripts.org/scripts/show/56135">userscript that displays Flickr comments</a> in a number of collection databases. Just <a href="http://userscripts.org/about/installing">install it</a> and then try it out:</p>
<ul>
<li>National Archives of Australia Photosearch &#8211; <a href="http://naa12.naa.gov.au/scripts/SearchOld.asp?O=PSI&amp;Number=7802286">try it!</a></li>
<li>State Records NSW Photo Investigator &#8211; <a href="http://investigator.records.nsw.gov.au/asp/photosearch/photo.asp?4481_a026_000090">try it!</a></li>
<li>National Archives and Records Administration ARC &#8211; <a href="http://arcweb.archives.gov/arc/action/ExternalIdSearch?id=522882">try it!</a></li>
</ul>
<div id="attachment_697" class="wp-caption aligncenter" style="width: 310px"><a href="http://discontents.com.au/wp-content/uploads/2009/08/photosearch.png"><img class="size-medium wp-image-697" title="Flickr comments in PhotoSearch" src="http://discontents.com.au/wp-content/uploads/2009/08/photosearch-300x199.png" alt="Flickr comments in PhotoSearch" width="300" height="199" /></a><p class="wp-caption-text">Flickr comments in PhotoSearch</p></div>
<p>Gory details follow&#8230;</p>
<p>So to begin with I thought I&#8217;d just harvest comments from Flickr and display them within existing collection interfaces. As before (<a href="http://discontents.com.au/shoebox/archives-shoebox/archives-in-3d">here</a> and <a href="http://discontents.com.au/shoebox/archives-shoebox/moa-buttons-galore">here</a>), <a href="https://addons.mozilla.org/firefox/addon/748">Greasemonkey</a> was my tool of choice for hacking finding aids. The plan was to trigger a Greasemonkey script when you arrive at a photo in a collection database, the script would then:</p>
<ul>
<li>extract a unique identifier for the photo that could be used to find it in Flickr</li>
<li>send off a request through the Flickr API to see if the photo was there</li>
<li>if so, then fire off another request to retrieve any comments</li>
<li>format the comments and insert them at a suitable point in the DOM of the database page</li>
</ul>
<p>Easy! Obviously for the script to work there needed to be a way of connecting entries in the database with photos on Flickr. In practice this means that the photos need to be described at item level, and that a unique identifier needs to be used somewhere in the description of the photo both on Flickr and in the collection database.</p>
<p>Any archive that meets these criteria is a candidate for inclusion. Only three pieces of information are necessary:</p>
<ul>
<li>the institution&#8217;s Flickr id</li>
<li>an expression to extract the identifier from the database page</li>
<li>an expression to identify the point on the database page at which the comments should be inserted</li>
</ul>
<p>The expressions could use XPath or regular expressions – whatever it takes to find the desired elements. I&#8217;m using <a href="http://jquery.com/">JQuery</a>, so that makes selecting elements a lot easier. For example, NARA ARC includes the item identifier in a div with the class &#8216;arcID&#8217;, so I just select that element using JQuery and then use regex matching to pull out the number:</p>
<p><pre class="brush: javascript">this.identifier = $(&#039;.arcID&#039;).text().match(/ARC Identifier (\d+)/i)[1];</pre></p>
<p>To start with I&#8217;ve included the databases of three institutions:</p>
<ul>
<li>the National Archives of Australia&#8217;s <a href="http://naa.gov.au/collection/photosearch/index.aspx">PhotoSearch</a> database</li>
<li>State Records of NSW&#8217;s <a href="http://investigator.records.nsw.gov.au/asp/photosearch/introduction.htm">Photo Investigator</a></li>
<li>the US National Archives and Records Administration&#8217;s <a href="http://www.archives.gov/research/arc/">Archival Research Catalog</a></li>
</ul>
<p>This is the code to save the settings for each institution:</p>
<p><pre class="brush: javascript">&lt;br /&gt;
if (document.location.href.match(/naa.gov.au\/scripts\/PhotoSearchItemDetail.asp/i)) {&lt;br /&gt;
this.name = &#039;NAA&#039;;&lt;br /&gt;
this.identifier = document.location.href.match(/M=0&amp;#038;B=(\d+)/)[1];&lt;br /&gt;
this.flickrId = &#039;24849862@N08&#039;;&lt;br /&gt;
this.position = &#039;table:last&#039;;&lt;br /&gt;
} else if (document.location.href.match(/records.nsw.gov.au\/asp\/photosearch\/photo\.asp\?/i)) {&lt;br /&gt;
this.name = &#039;StateRecordsNSW&#039;;&lt;br /&gt;
this.identifier = document.location.href.match(/photo\.asp\?([\d\w_]+)/i)[1];&lt;br /&gt;
this.flickrId = &#039;27331537@N06&#039;;&lt;br /&gt;
this.position = &#039;table:first&#039;;&lt;br /&gt;
} else if (document.location.href.match(/arcweb.archives.gov\/arc\/action\/ShowFullRecord|arcweb.archives.gov\/arc\/action\/ExternalIdSearch/i)) {&lt;br /&gt;
this.name = &#039;NARA&#039;;&lt;br /&gt;
this.identifier = $(&#039;.arcID&#039;).text().match(/ARC Identifier (\d+)/i)[1];&lt;br /&gt;
this.flickrId = &#039;35740357@N03&#039;;&lt;br /&gt;
this.position = &#039;.genPad:first&#039;;&lt;br /&gt;
}&lt;br /&gt;
</pre></p>
<p>From there it&#8217;s just a matter of building the calls to the API using Greasemonkey&#8217;s built-in  GM_xmlhttpRequest method. Once the comments are retrieved, they&#8217;re given some basic formatting and inserted at the point in the DOM identified by the siteDetails.position property. Once again, JQuery greatly simplifies all the DOM manipulation. If there are no comments then a suitable message is inserted together with a link to the photo in Flickr. Finally some CSS is added to prettify it all a little bit.</p>
<p>You can <a href="http://userscripts.org/scripts/review/56135">view the full code</a> on the Userscripts site.</p>
<p>Of course, it would be good to have this sort of stuff happening on the server side. In fact, with a few small modifications, this script could just be dropped into the code of any of the collection databases I&#8217;ve used. But in the meantime, Greasemonkey gives us a chance to play around with some of the possibilities – to start thinking about what finding aids might be like.</p>
<p>So what&#8217;s next? I&#8217;d like to do some playing around with tags and locations, perhaps using them to suggest related photos. I&#8217;ve also just realised that Flickr machine tags allow semantic markup&#8230; hmmm&#8230;</p>
<p>If you have any suggestions for databases to add to this script – let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://discontents.com.au/shoebox/archives-shoebox/harvesting-context-1/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>MoA buttons galore</title>
		<link>http://discontents.com.au/shoebox/archives-shoebox/moa-buttons-galore</link>
		<comments>http://discontents.com.au/shoebox/archives-shoebox/moa-buttons-galore#comments</comments>
		<pubDate>Fri, 30 Jan 2009 06:41:40 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[archives]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[bookmarklet]]></category>
		<category><![CDATA[buttons]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[Mapping our Anzacs]]></category>
		<category><![CDATA[recordsearch]]></category>
		<category><![CDATA[userscript]]></category>

		<guid isPermaLink="false">http://discontents.com.au/?p=626</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=MoA+buttons+galore&amp;rft.aulast=Sherratt&amp;rft.aufirst=Tim&amp;rft.subject=archives&amp;rft.subject=hacks&amp;rft.source=discontents&amp;rft.date=2009-01-30&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://discontents.com.au/shoebox/archives-shoebox/moa-buttons-galore&amp;rft.language=English"></span>

Mapping our Anzacs, in case you don&#8217;t know, provides a Google map interface to the 375,000+ WWI service records held by the National Archives of Australia. Amongst other other things, you can add scrapbook posts to individual entries and create tributes. It&#8217;s meant to encourage exploration, so go on&#8230; explore!
If you&#8217;ll do, you&#8217;ll notice that [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=MoA+buttons+galore&amp;rft.aulast=Sherratt&amp;rft.aufirst=Tim&amp;rft.subject=archives&amp;rft.subject=hacks&amp;rft.source=discontents&amp;rft.date=2009-01-30&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://discontents.com.au/shoebox/archives-shoebox/moa-buttons-galore&amp;rft.language=English"></span>
<abbr class="unapi-id" title="http://discontents.com.au/?p=626"><!-- &nbsp; --></abbr>
<p><a href="http://mappingouranzacs.naa.gov.au/">Mapping our Anzacs</a>, in case you don&#8217;t know, provides a Google map interface to the 375,000+ WWI service records held by the National Archives of Australia. Amongst other other things, you can add <a href="http://our-anzacs.tumblr.com/">scrapbook posts</a> to individual entries and create tributes. It&#8217;s meant to encourage exploration, so go on&#8230; explore!</p>
<p>If you&#8217;ll do, you&#8217;ll notice that there are direct links into the National Archives&#8217; database <a href="http://naa.gov.au/collection/recordsearch/index.aspx">RecordSearch</a>. However, there are currently no links going to other way. Why does this matter? Well perhaps you&#8217;d like to use NameSearch to find an individual record, but then add a scrapbook post in Mapping our Anzacs. Up until now you had to find them all over again. But not any more&#8230;</p>
<p>Introducing our new range of &#8216;View in Mapping our Anzacs&#8217; buttons:</p>
<ul>
<li>For the discerning Firefox devotee we have a <a href="http://userscripts.org/scripts/show/41314">Greasemonkey userscript</a> which adds a button to the RecordSearch item details page.</li>
<li>For fashion-challenged IE user we have a bookmarklet. Just right click on this link – <a href="javascript:if%20(document.location.href.match(/ItemDetail.asp/i)){var%20matches=document.body.innerHTML.match(/SeriesDetail.asp\?M=0\&amp;amp;B=([\d\w\/]+)/i);series=matches[1];var%20matches=document.body.innerHTML.match(/Barcode\<\/B>\<BR\>(\d+)\</i);barcode=matches[1];if%20(series=='B2455'){window.location='http://mappingouranzacs.naa.gov.au/details-permalink.aspx?barcode_no='+barcode;}}">View in Mapping our Anzacs</a> – and save it as a favourite in your &#8216;Links&#8217; folder (you may need to enable the &#8216;Links&#8217; toolbar first by checking Tools > Toolbars > Links.)</li>
</ul>
<p>Yes, it&#8217;s true&#8230; you could use the Bookmarklet with Firefox (just drag it to your bookmarks toolbar), but Greasemonkey is so much more chic.</p>
<p>Once you&#8217;re fully button-enabled just head into RecordSearch, find an item in series B2455 (the WWI service records) and click! Hurrah! You will be instantly transported to Mapping our Anzacs.</p>
<p>You can test out your new button by heading here:</p>
<ul>
<li><a href="http://www.aa.gov.au/cgi-bin/Search?O=I&#038;Number=3445411">B2455, WRAGGE C L E</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://discontents.com.au/shoebox/archives-shoebox/moa-buttons-galore/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
