<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Metadata, GCM, and You</title>
	<atom:link href="http://gcmwalker.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://gcmwalker.wordpress.com</link>
	<description>An Individual Study for the Goodwill Computer Museum</description>
	<lastBuildDate>Tue, 15 Jun 2010 20:39:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='gcmwalker.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Metadata, GCM, and You</title>
		<link>http://gcmwalker.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://gcmwalker.wordpress.com/osd.xml" title="Metadata, GCM, and You" />
	<atom:link rel='hub' href='http://gcmwalker.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Migrating Data from MySQL</title>
		<link>http://gcmwalker.wordpress.com/2010/04/12/migrating-data-from-mysql/</link>
		<comments>http://gcmwalker.wordpress.com/2010/04/12/migrating-data-from-mysql/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 08:37:42 +0000</pubDate>
		<dc:creator>gcmwalker</dc:creator>
				<category><![CDATA[fedora]]></category>
		<category><![CDATA[ingestion]]></category>
		<category><![CDATA[repository]]></category>

		<guid isPermaLink="false">http://gcmwalker.wordpress.com/?p=92</guid>
		<description><![CDATA[This is a simple PHP script to write data from a CSV file into a new FOXML file for ingest into the repository.  The process has been straightforward thus far. MySQL provides a quick way to export data from a table into a makeshift CSV file, and PHP&#8217;s fgetcsv function helps parse this file into [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=92&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is a simple PHP script to write data from a CSV file into a new FOXML file for ingest into the repository.  The process has been straightforward thus far. MySQL provides a quick way to export data from a table into a makeshift CSV file, and PHP&#8217;s <strong>fgetcsv</strong> function helps parse this file into a series of arrays which can be stepped through, value by value. This script has parsed the ~1000 rows of tabular data from the Hardware table into FOXML files. These files have been ingested into Fedora through the batch ingest tool available on the Java administration client.</p>
<p>Having this amount of records present in the repository has helped clarify how much functionality the base instance of Fedora possesses. The default search tool is fairly capable, and runs through several prominent Dublin Core fields specified in the FOXML file. Except for some notable absences, such as model number (for which there is no analogous DC term), the hardware records are as searchable and discoverable as they are on the MySQL/PHP interface.  The major deficiency thus far is the lack of services associated with the RELS-EXT datastreams defined in the FOXML files. Associated these records with images and other parts is key, so this will continue to need to be developed.</p>
<p>Still, I have to say it feels good to migrate some plain CSV data into something a little more marked-up and meaningful!</p>
<pre class="brush: php; wrap-lines: false;">
&lt;?php

/**
 * Hardware CSV-to-FOXML script
 *
 * @author		Walker Sampson
 */

$row = 1;

if (($handle = fopen(&quot;hardware.csv&quot;, &quot;r&quot;)) !== FALSE) {
    while (($data = fgetcsv($handle, &quot;,&quot;)) !== FALSE) {

        // Replace special characters with HTML escape strings
        foreach($data as &amp;$string) {
        	$string = htmlspecialchars($string);
        }

    	// count through the CSV array
    	$num = count($data);

        // Take old HardwareID value and use as record number
        $recordNumber = $data[0];

        // Create xml file based according row number
        $fh = fopen(&quot;/Users/user/Sites/testXML/&quot; . $recordNumber . &quot;.xml&quot;, 'w') or die(&quot;can't open file&quot;);

        // Write header info
        fwrite($fh, &quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;UTF-8\&quot;?&gt;&quot; . &quot;\n&quot;);
        fwrite($fh, &quot;&lt;foxml:digitalObject VERSION=\&quot;1.1\&quot; PID=\&quot;changeme:h&quot; . $recordNumber . &quot;\&quot; xmlns:foxml=\&quot;info:fedora/fedora-system:def/foxml#\&quot; xmlns:xsi=\&quot;http://www.w3.org/2001/XMLSchema-instance\&quot; xsi:schemaLocation=\&quot;info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd\&quot;&gt;&quot; . &quot;\n&quot;);

		// Write Fedora object properties
		fwrite($fh, &quot;&lt;foxml:objectProperties&gt;&quot; . &quot;\n&quot;);
    	fwrite($fh, &quot;&lt;foxml:property NAME=\&quot;info:fedora/fedora-system:def/model#state\&quot; VALUE=\&quot;A\&quot;/&gt;&quot; . &quot;\n&quot;);
    	fwrite($fh, &quot;&lt;foxml:property NAME=\&quot;info:fedora/fedora-system:def/model#label\&quot; VALUE=\&quot;FOXML Hardware Record for h&quot; . $recordNumber . &quot;\&quot;/&gt;&quot; . &quot;\n&quot;);
    	fwrite($fh, &quot;&lt;foxml:property NAME=\&quot;info:fedora/fedora-system:def/model#ownerId\&quot; VALUE=\&quot;fedoraAdmin\&quot;/&gt;&quot; . &quot;\n&quot;);
        fwrite($fh, &quot;&lt;/foxml:objectProperties&gt;&quot; . &quot;\n&quot;);

        // Write the DC datastream
        fwrite($fh, &quot;&lt;foxml:datastream ID=\&quot;DC\&quot; STATE=\&quot;A\&quot; CONTROL_GROUP=\&quot;X\&quot; VERSIONABLE=\&quot;true\&quot;&gt;&quot; . &quot;\n&quot;);
    	fwrite($fh, &quot;&lt;foxml:datastreamVersion FORMAT_URI=\&quot;http://www.openarchives.org/OAI/2.0/oai_dc/\&quot; ID=\&quot;DC.0\&quot; MIMETYPE=\&quot;text/xml\&quot; LABEL=\&quot;Dublin Core Record for h&quot; . $recordNumber . &quot;\&quot;&gt;&quot; . &quot;\n&quot;);
        fwrite($fh, &quot;&lt;foxml:xmlContent&gt;&quot; . &quot;\n&quot;);

        // TODO: confirm this line is alright
        fwrite($fh, &quot;&lt;oai_dc:dc xmlns:oai_dc=\&quot;http://www.openarchives.org/OAI/2.0/oai_dc/\&quot; xmlns:dcterms=\&quot;http://purl.org/dc/terms/\&quot; xmlns:gcm=\&quot;http://xx.xx.xx.xx/terms/\&quot; xmlns:xsi=\&quot;http://www.w3.org/2001/XMLSchema-instance\&quot;&gt;&quot; . &quot;\n&quot;);

        echo &quot;&lt;p&gt; Wrote record number $row with $num fields &lt;br /&gt;&lt;/p&gt;\n&quot;;
        $row++;

            // Write certain array values into the new DC datastream of the FOXML file
       	    fwrite($fh, &quot;&lt;dcterms:type xsi:type=\&quot;dcterms:DCMIType\&quot;&gt;PhysicalObject&lt;/dcterms:type&gt;&quot; . &quot;\n&quot;);

       		// If it was set to 'system' before, it is marked as a system now
       		if (strcmp($data[2], &quot;system&quot;) == 0 || strcmp($data[2], &quot;System&quot;) == 0) {
       			fwrite($fh, &quot;&lt;gcm:system&gt;Y&lt;/gcm:system&gt;&quot; . &quot;\n&quot;);
       		} else {
       			fwrite($fh, &quot;&lt;gcm:system&gt;N&lt;/gcm:system&gt;&quot; . &quot;\n&quot;);
       		}

       		// Do not need this since Fedora applies its own upon ingest
       		// fwrite($fh, &quot;&lt;dcterms:identifier&gt;h&quot;   . $recordNumber . &quot;&lt;/dcterms:identifier&gt;&quot; . &quot;\n&quot;);

       		// 'Title' is taken from the former 'make' field
       		fwrite($fh, &quot;&lt;dcterms:title&gt;&quot;         . $data[4]     . &quot;&lt;/dcterms:title&gt;&quot;      . &quot;\n&quot;);
       	    // From the former 'manufacturer' field. Ideally, this value will be reaplced by a RELS-EXT relationship to some Agent object (a company, e.g.)
       	    fwrite($fh, &quot;&lt;dcterms:creator&gt;&quot;       . $data[3]     . &quot;&lt;/dcterms:creator&gt;&quot;    . &quot;\n&quot;);
       	    fwrite($fh, &quot;&lt;dcterms:alternative&gt;&lt;/dcterms:alternative&gt;&quot;. &quot;\n&quot;);
       		// TODO: lots of scrubbing to normalize all the entries we did on the fly to the values of the 'easydeposit_metadata_hardwarecat' array in config/easydeposit.php
       		fwrite($fh, &quot;&lt;dcterms:type&gt;&quot;          . $data[2]     . &quot;&lt;/dcterms:type&gt;&quot;       . &quot;\n&quot;);
       		fwrite($fh, &quot;&lt;dcterms:identifier&gt;&quot;    . $data[6]     . &quot;&lt;/dcterms:identifier&gt;&quot; . &quot;\n&quot;);
       		fwrite($fh, &quot;&lt;gcm:model&gt;&quot;             . $data[5]     . &quot;&lt;/gcm:model&gt;&quot;          . &quot;\n&quot;);
       		fwrite($fh, &quot;&lt;dcterms:created&gt;&quot;       . $data[7]     . &quot;&lt;/dcterms:created&gt;&quot;    . &quot;\n&quot;);
		    fwrite($fh, &quot;&lt;dcterms:temporal xsi:type=\&quot;dcterms:Period\&quot;&gt; name=\&quot;Manufacture span\&quot;; start=0000-00-00; end=0000-00-00;&lt;/dcterms:temporal&gt;&quot; . &quot;\n&quot;);
			fwrite($fh, &quot;&lt;gcm:retail&gt;&quot;            . $data[8]     . &quot;&lt;/gcm:retail&gt;&quot;         . &quot;\n&quot;);
		    fwrite($fh, &quot;&lt;dcterms:format&gt;&lt;/dcterms:format&gt;&quot;                                . &quot;\n&quot;);
 			fwrite($fh, &quot;&lt;dcterms:provenance&gt;&quot;    . $data[12]    . &quot;&lt;/dcterms:provenance&gt;&quot; . &quot;\n&quot;);

 			// all the Hardware record are &quot;Gift&quot; if it is filled in at all
 			if (strcmp($data[14], &quot;Gift&quot;) == 0) {
 				fwrite($fh, &quot;&lt;dcterms:accrualMethod xsi:type=\&quot;dcterms:Accrual\&quot;&gt;Donation&lt;/dcterms:accrualMethod&gt;&quot; . &quot;\n&quot;);
 			} else {
 				fwrite($fh, &quot;&lt;dcterms:accrualMethod xsi:type=\&quot;dcterms:MethodOfAccrual\&quot;&gt;&lt;/dcterms:accrualMethod&gt;&quot; . &quot;\n&quot;);
 			}

 			// fwrite($fh, &quot;&lt;dcterms:accrualPolicy xsi:type=\&quot;dcterms:URI\&quot;&gt;&quot; . someValue . &quot;&lt;/dcterms:accrualPolicy&gt;&quot; . &quot;\n&quot;);
 			fwrite($fh, &quot;&lt;dcterms:dateSubmitted&gt;&quot; . $data[24]    . &quot;&lt;/dcterms:dateSubmitted&gt;&quot; . &quot;\n&quot;);
 			fwrite($fh, &quot;&lt;dcterms:dateAccepted&gt;&quot;  . $data[27]    . &quot;&lt;/dcterms:dateAccepted&gt;&quot;  . &quot;\n&quot;);
			fwrite($fh, &quot;&lt;gcm:disposition&gt;&quot;       . $data[15]    . &quot;&lt;/gcm:disposition&gt;&quot;       . &quot;\n&quot;);
		    fwrite($fh, &quot;&lt;gcm:dispositionDate&gt;&lt;/gcm:dispositionDate&gt;&quot;                         . &quot;\n&quot;);
		    fwrite($fh, &quot;&lt;dcterms:medium&gt;&lt;/dcterms:medium&gt;&quot;                                   . &quot;\n&quot;);
  			fwrite($fh, &quot;&lt;gcm:restoration&gt;&quot;       . $data[25]    . &quot;&lt;/gcm:restoration&gt;&quot;       . &quot;\n&quot;);
  			fwrite($fh, &quot;&lt;gcm:functioning&gt;&quot;       . $data[19]    . &quot;&lt;/gcm:functioning&gt;&quot;       . &quot;\n&quot;);
  			fwrite($fh, &quot;&lt;gcm:functioningDate&gt;&quot;   . $data[20]    . &quot;&lt;/gcm:functioningDate&gt;&quot;   . &quot;\n&quot;);
  			fwrite($fh, &quot;&lt;gcm:storage&gt;&quot;           . $data[23]    . &quot; at &quot;
  											      . $data[22]    . &quot;&lt;/gcm:storage&gt;&quot;           . &quot;\n&quot;);
			fwrite($fh, &quot;&lt;gcm:partNumber&gt;&lt;/gcm:partNumber&quot;&gt;                                   . &quot;\n&quot;);
			fwrite($fh, &quot;&lt;gcm:otherNumber&gt;&lt;/gcm:otherNumber&quot;&gt;                                 . &quot;\n&quot;);

  			fwrite($fh, &quot;&lt;dcterms:description&gt;Functioning: &quot; . $data[21] . &quot;&lt;/dcterms:description&gt;&quot; . &quot;\n&quot;);
  			fwrite($fh, &quot;&lt;dcterms:description&gt;Technical: &quot;   . $data[10] . &quot;&lt;/dcterms:description&gt;&quot; . &quot;\n&quot;);
  		    fwrite($fh, &quot;&lt;dcterms:description&gt;Appearance: &lt;/dcterms:description&gt;&quot;                   . &quot;\n&quot;);
  			fwrite($fh, &quot;&lt;dcterms:description&gt;Condition: &quot;   . $data[17] . &quot;&lt;/dcterms:description&gt;&quot; . &quot;\n&quot;);

 		fwrite($fh, &quot;&lt;/oai_dc:dc&gt;&quot; . &quot;\n&quot;);
      	fwrite($fh, &quot;&lt;/foxml:xmlContent&gt;&quot; . &quot;\n&quot;);
      	fwrite($fh, &quot;&lt;/foxml:datastreamVersion&gt;&quot; . &quot;\n&quot;);
      	fwrite($fh, &quot;&lt;/foxml:datastream&gt;&quot; . &quot;\n&quot;);

        // Write the RELS-EXT datastream to point to collection:hardware
        fwrite($fh, &quot;&lt;foxml:datastream ID=\&quot;RELS-EXT\&quot; STATE=\&quot;A\&quot; CONTROL_GROUP=\&quot;X\&quot; VERSIONABLE=\&quot;true\&quot;&gt;&quot; . &quot;\n&quot;);
        fwrite($fh, &quot;&lt;foxml:datastreamVersion ID=\&quot;RELS-EXT.0\&quot; LABEL=\&quot;Relationships to other objects\&quot; MIMETYPE=\&quot;text/xml\&quot;&gt;&quot; . &quot;\n&quot;);
        fwrite($fh, &quot;&lt;foxml:xmlContent&gt;&quot; . &quot;\n&quot;);
        	fwrite($fh, &quot;&lt;rdf:RDF xmlns:rdf=\&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#\&quot;&gt;&quot; . &quot;\n&quot;);
        	fwrite($fh, &quot;&lt;rdf:Description rdf:about=\&quot;info:fedora/changeme:h&quot; . $recordNumber . &quot;\&quot;&gt;&quot; . &quot;\n&quot;);
        	fwrite($fh, &quot;&lt;rel:isMemberOf xmlns:rel=\&quot;info:fedora/fedora-system:def/relations-external#\&quot; rdf:resource=\&quot;info:fedora/collection:hardware\&quot;&gt;&lt;/rel:isMemberOf&gt;&quot; . &quot;\n&quot;);
        	fwrite($fh, &quot;&lt;/rdf:Description&gt;&quot; . &quot;\n&quot;);
        	fwrite($fh, &quot;&lt;/rdf:RDF&gt;&quot; . &quot;\n&quot;);
        fwrite($fh, &quot;&lt;/foxml:xmlContent&gt;&quot; . &quot;\n&quot;);
      	fwrite($fh, &quot;&lt;/foxml:datastreamVersion&gt;&quot; . &quot;\n&quot;);
      	fwrite($fh, &quot;&lt;/foxml:datastream&gt;&quot; . &quot;\n&quot;);

        // Write to close the root element
        fwrite($fh, &quot;&lt;/foxml:digitalObject&gt;&quot;);

        fclose($fh); 

    } // while

    fclose($handle);

} // if
?&gt;
</pre>
<p><strong>Note</strong>: This script could use some cleaning up I know. I assume no one will really ever need it but once.</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcmwalker.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcmwalker.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcmwalker.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcmwalker.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcmwalker.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcmwalker.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcmwalker.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcmwalker.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcmwalker.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcmwalker.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcmwalker.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcmwalker.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcmwalker.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcmwalker.wordpress.com/92/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=92&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcmwalker.wordpress.com/2010/04/12/migrating-data-from-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/600f523b45659d84c32aaf58a950bb09?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcmwalker</media:title>
		</media:content>
	</item>
		<item>
		<title>EasyDeposit Work</title>
		<link>http://gcmwalker.wordpress.com/2010/03/26/easydeposit-interface/</link>
		<comments>http://gcmwalker.wordpress.com/2010/03/26/easydeposit-interface/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 19:24:01 +0000</pubDate>
		<dc:creator>gcmwalker</dc:creator>
				<category><![CDATA[contentModel]]></category>
		<category><![CDATA[easyDeposit]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[ingestion]]></category>
		<category><![CDATA[sword]]></category>

		<guid isPermaLink="false">http://gcmwalker.wordpress.com/?p=77</guid>
		<description><![CDATA[EasyDeposit looks more and more promising as a straightforward way to manage the deposit interface for Fedora. I have written content models for the main categories of materials type (hardware, software, etc.). These content model objects also contain the &#60;rel:isCollection&#62;true&#60;/rel:isCollection&#62; attribute elaborated on here, so they can function as &#8220;collections&#8221; in Fedora. Submitting test objects [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=77&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>EasyDeposit looks more and more promising as a straightforward way to manage the deposit interface for Fedora. I have written content models for the main categories of materials type (hardware, software, etc.). These content model objects also contain the<em> </em></p>
<pre>&lt;rel:isCollection&gt;true&lt;/rel:isCollection&gt;</pre>
<p>attribute elaborated on <a title="Collections in Fedora" href="http://www.fedora-commons.org/confluence/pages/viewpage.action?pageId=17530955">here</a>, so they can function as &#8220;collections&#8221; in Fedora. Submitting test objects into these collections correctly gives them a RELS-EXT datastream stating they are a member of this collection, i.e.:</p>
<pre>&lt;rel:isMemberOf rdf:resource="gcm-cModel:hardware" /&gt;.</pre>
<p>This is a good start I hope.</p>
<p>From this point two key issues stand out. The first is that EasyDeposit defaults to zipping submissions. This is appropriate when the submission is the actual data meant to be preserved, as is the case with a software submission, but is not appropriate when the submission is simply metadata. In this case a simple FOXML file is all that needs to be submitted. I am sure this can be changed somewhere.</p>
<p>The second is that a key feature of the repository is mapping relationships between pieces of hardware and software. Thus, a submitter needs to be able to specify such a relationship, ideally in the submission process. There needs to be a step where the user can pick from a list of relationships and previously submitted target resources. For example, some record <strong>isPartOf</strong> of <em>x </em>and <em>y</em> or <strong>hasPart</strong> <em>a </em>and <em>b</em>. Generating a list of possible relationships should be straightforward, but it is likely the user will simply have to specify manually what the target resource is.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcmwalker.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcmwalker.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcmwalker.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcmwalker.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcmwalker.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcmwalker.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcmwalker.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcmwalker.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcmwalker.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcmwalker.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcmwalker.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcmwalker.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcmwalker.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcmwalker.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=77&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcmwalker.wordpress.com/2010/03/26/easydeposit-interface/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/600f523b45659d84c32aaf58a950bb09?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcmwalker</media:title>
		</media:content>
	</item>
		<item>
		<title>Using SWORD for Deposit</title>
		<link>http://gcmwalker.wordpress.com/2010/03/03/using-sword-for-deposit/</link>
		<comments>http://gcmwalker.wordpress.com/2010/03/03/using-sword-for-deposit/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 04:32:08 +0000</pubDate>
		<dc:creator>gcmwalker</dc:creator>
				<category><![CDATA[easyDeposit]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[ingestion]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[sword]]></category>

		<guid isPermaLink="false">http://gcmwalker.wordpress.com/?p=72</guid>
		<description><![CDATA[I&#8217;ve been looking for suitable front-ends for Fedora. The default installation comes with both a Java administrator client and a newer (though less full-featured) web administration tool. Developers are currently trying to transition over to the web client, adding functionality with each point release. Neither of these clients are suitable as comprehensive front-ends for Fedora [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=72&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been looking for suitable front-ends for Fedora. The default installation comes with both a Java administrator client and a newer (though less full-featured) web administration tool. Developers are currently trying to transition over to the web client, adding functionality with each point release. Neither of these clients are suitable as comprehensive front-ends for Fedora however.</p>
<p>I identified a deposit interface as the foremost component for the front-end, and quickly went looking to the <a title="SWORD" href="http://www.swordapp.org/">SWORD APP</a> for a solution. SWORD (Simple web-service offering repository deposit) is a profile of the Atom Publishing Protocol (APP), a successful syndication specification for items on the web. SWORD retools the protocol a tiny bit and emphasizes the request and deposit functions over functions like delete or update. APP is a HTTP-based protocol, so of course SWORD functions over the web. The idea is that a simple protocol like this will find widespread use and acceptance, bolstering the awareness and bulk of repositories by simplifying the deposit process, all while keeping it as a remote function. For instance, there&#8217;s SWORD Facebook app and a (sample) <a title="OfficeSWORD" href="http://www.codeplex.com/OfficeSWORD">SWORD plug-in for Microsoft Office</a>. Ideally from either of these platforms you can send your work right away to any number of receiving repositories.</p>
<p>I have setup SWORD with Fedora. It runs as a web application inside Tomcat. After a few kinks everything seems to be ironed out, and it&#8217;s a little more clear how SWORD could fit into the repository as a whole. SWORD is best at depositing content, naturally, and it&#8217;s best if that content is pre-processed. The out-of-the-box demonstration client isn&#8217;t going to provide a way add metadata to your deposit.</p>
<p><a title="EasyDeposit" href="http://wiki.github.com/stuartlewis/EasyDeposit/">EasyDeposit</a>, written by <a title="Stuart Lewis blog" href="http://blog.stuartlewis.com/">Stuart Lewis</a>, looks very promising in this area. EasyDeposit is a PHP front-end to SWORD, and allows the user to go through several steps prior to delivering the deposit. It allows the administrator to adjust, add, delete, and create steps, tailoring the process to the organization. For our purposes, we would add steps to receive metadata information about hardware, bibliographic materials, software and so on. I&#8217;ve implemented EasyDeposit on our test instance and it does safely deposit content along with some default metadata fields. Concerning the steps already present, configuration is straightforward, requiring modification of .php files. It should be easy to add in collections, or content models that define metadata and behavior requirements, and present them in these steps. Unfortunately (for me), EasyDeposit is presently at 0.1 (although it just got support for the <a title="CrossRef" href="http://www.crossref.org/">CrossRef API</a>), and documentation is not all there. This doesn&#8217;t put EasyDeposit completely out of the running per se, as the interface looks great, and the idea of customizing a template is pretty attractive.</p>
<p>More broadly, SWORD will not serve as an entire front-end solution, and the question becomes whether one wants to join a SWORD interface like EasyDeposit with other Fedora-compliant components like searching and disseminating. Alternatives to this approach are projects like <a title="Muradora" href="http://www.muradora.org/muradora">Muradora</a> and <a title="Islandora" href="http://islandora.ca/">Islandora</a> that attempt to provide more full-featured front-end. I plan to explore these options and get a better idea of the possibilities for full implementation.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcmwalker.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcmwalker.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcmwalker.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcmwalker.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcmwalker.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcmwalker.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcmwalker.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcmwalker.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcmwalker.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcmwalker.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcmwalker.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcmwalker.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcmwalker.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcmwalker.wordpress.com/72/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=72&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcmwalker.wordpress.com/2010/03/03/using-sword-for-deposit/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/600f523b45659d84c32aaf58a950bb09?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcmwalker</media:title>
		</media:content>
	</item>
		<item>
		<title>Ingesting a Content Model</title>
		<link>http://gcmwalker.wordpress.com/2010/02/11/ingesting-a-content-model/</link>
		<comments>http://gcmwalker.wordpress.com/2010/02/11/ingesting-a-content-model/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 04:55:06 +0000</pubDate>
		<dc:creator>gcmwalker</dc:creator>
				<category><![CDATA[contentModel]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[ingestion]]></category>

		<guid isPermaLink="false">http://gcmwalker.wordpress.com/?p=54</guid>
		<description><![CDATA[I wanted to briefly post a Content Model for the repository. This is the &#8220;Common Metadata&#8221; Content Model, and it has been adapted from the Hydra Project. A digital object can be associated with a content model before, during or after ingestion. The content model in turn can point to a Service Definition object, which [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=54&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I wanted to briefly post a Content Model for the repository. This is the &#8220;Common Metadata&#8221; Content Model, and it has been adapted from the <a title="The Hydra Project" href="http://www.fedora-commons.org/confluence/display/hydra/The+Hydra+Project">Hydra Project</a>. A digital object can be associated with a content model before, during or after ingestion. The content model in turn can point to a Service Definition object, which defines certain services for the digital object. Those service are in turn specifically defined in a Service Deployment object. The SDep object defines these services with the <a title="WSDL" href="http://en.wikipedia.org/wiki/Web_Services_Description_Language">Web Services Description Language</a> (WSDL). WSDL is an XML format for specifically detailing a web service. Documentation for Fedora 3 states that &#8220;Notably, Fedora currently only supports performing disseminations via HTTP GET.&#8221; This should be fine for our purposes, and it should make our .wsdl file pretty straightforward.</p>
<p>This is certainly a lot of layers involved in making Fedora really <em>do </em>something, but the modularity is key when you need to make changes on your server. If the port designations for your server have changed, you only need to change a few .wsdl files. If you need to assign new services to a new type of digital object, just add those service definitions to your content model. At least, I hope it&#8217;s that simple.</p>
<pre class="brush: xml; wrap-lines: false;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;foxml:digitalObject VERSION=&quot;1.1&quot; PID=&quot;gcm-cModel:commonMetadata&quot;
xmlns:foxml=&quot;info:fedora/fedora-system:def/foxml#&quot;
xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
xsi:schemaLocation=&quot;info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd&quot;&gt;

&lt;foxml:objectProperties&gt;
&lt;foxml:property NAME=&quot;info:fedora/fedora-system:def/model#state&quot; VALUE=&quot;Active&quot;/&gt;
&lt;foxml:property NAME=&quot;info:fedora/fedora-system:def/model#label&quot; VALUE=&quot;Common metadata model&quot;/&gt;
&lt;foxml:property NAME=&quot;info:fedora/fedora-system:def/model#ownerId&quot; VALUE=&quot;fedoraAdmin&quot;/&gt;
&lt;/foxml:objectProperties&gt;

&lt;foxml:datastream ID=&quot;RELS-EXT&quot; STATE=&quot;A&quot; CONTROL_GROUP=&quot;X&quot; VERSIONABLE=&quot;true&quot;&gt;
&lt;foxml:datastreamVersion ID=&quot;RELS-EXT.0&quot; LABEL=&quot;External relations&quot; MIMETYPE=&quot;text/xml&quot; SIZE=&quot;448&quot;&gt;
&lt;foxml:xmlContent&gt;
&lt;rdf:RDF xmlns:fedora-model=&quot;info:fedora/fedora-system:def/model#&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
  &lt;rdf:Description rdf:about=&quot;info:fedora/gcm-cModel:commonMetadata&quot;&gt;
    &lt;fedora-model:hasModel rdf:resource=&quot;info:fedora/fedora-system:ContentModel-3.0&quot;&gt;&lt;/fedora-model:hasModel&gt;

    &lt;!--
    A key line here. This says that objects associated with this Content Model will have this service. In this case, since this is a &quot;Common Metadata&quot; Content Model, the service it points to is &quot;gcm-sDef:commonMetadata.&quot;
    --&gt;

        &lt;fedora-model:hasService rdf:resource=&quot;info:fedora/gcm-sDef:commonMetadata&quot;&gt;&lt;/fedora-model:hasService&gt;

    &lt;/rdf:Description&gt;
&lt;/rdf:RDF&gt;
&lt;/foxml:xmlContent&gt;
&lt;/foxml:datastreamVersion&gt;
&lt;/foxml:datastream&gt;

&lt;foxml:datastream ID=&quot;DS-COMPOSITE-MODEL&quot; STATE=&quot;A&quot; CONTROL_GROUP=&quot;X&quot; VERSIONABLE=&quot;true&quot;&gt;
&lt;foxml:datastreamVersion ID=&quot;DS-COMPOSITE-MODEL.0&quot; LABEL=&quot;DS composite model&quot; MIMETYPE=&quot;text/xml&quot; SIZE=&quot;780&quot;&gt;
&lt;foxml:xmlContent&gt;
&lt;dsCompositeModel xmlns=&quot;info:fedora/fedora-system:def/dsCompositeModel#&quot;&gt;
  &lt;dsTypeModel ID=&quot;DC&quot;&gt;
    &lt;form MIME=&quot;text/xml&quot;&gt;&lt;/form&gt;
  &lt;/dsTypeModel&gt;
  &lt;dsTypeModel ID=&quot;RELS-EXT&quot;&gt;
    &lt;form MIME=&quot;text/xml&quot;&gt;&lt;/form&gt;
  &lt;/dsTypeModel&gt;
  &lt;dsTypeModel ID=&quot;descMetadata&quot;&gt;
    &lt;form MIME=&quot;text/xml&quot;&gt;&lt;/form&gt;
  &lt;/dsTypeModel&gt;
&lt;/dsCompositeModel&gt;
&lt;/foxml:xmlContent&gt;
&lt;/foxml:datastreamVersion&gt;
&lt;/foxml:datastream&gt;

&lt;/foxml:digitalObject&gt;
</pre>
<p><span style="font-family:Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;line-height:19px;white-space:normal;font-size:13px;">This content model points to one service call (</span>info:fedora/gcm-sDef:commonMetadata). This service definition object will (through a SDep) deliver metadata common to all the objects in the repository: title, type (from the DCMI vocabulary), type (from our own categories), creation date and general description.</p>
<p>Finally, this content model is missing two compulsory datastreams, a basic Dublin Core datastream and an auditing one. These are added by Fedora automatically when the object is ingested.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcmwalker.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcmwalker.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcmwalker.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcmwalker.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcmwalker.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcmwalker.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcmwalker.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcmwalker.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcmwalker.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcmwalker.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcmwalker.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcmwalker.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcmwalker.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcmwalker.wordpress.com/54/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=54&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcmwalker.wordpress.com/2010/02/11/ingesting-a-content-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/600f523b45659d84c32aaf58a950bb09?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcmwalker</media:title>
		</media:content>
	</item>
		<item>
		<title>Instance of Fedora 3.3 Up</title>
		<link>http://gcmwalker.wordpress.com/2010/01/28/instance-of-fedora-3-3-up/</link>
		<comments>http://gcmwalker.wordpress.com/2010/01/28/instance-of-fedora-3-3-up/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 23:45:37 +0000</pubDate>
		<dc:creator>gcmwalker</dc:creator>
				<category><![CDATA[fedora]]></category>
		<category><![CDATA[repository]]></category>

		<guid isPermaLink="false">http://gcmwalker.wordpress.com/?p=47</guid>
		<description><![CDATA[Whew. That was intense. A bare bones installation of Fedora 3.3 is up and running on the GCM server. Address is http://10.10.24.35:8080/fedora if you&#8217;re in Goodwill&#8217;s network, authentication required. Installation was actually relatively painless, and took about 1/30 the time I spent setting up a default install of DSpace last year. I&#8217;m not sure why [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=47&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Whew. That was intense.</p>
<p>A bare bones installation of <a title="Fedora 3.3 Documentation" href="http://www.fedora-commons.org/confluence/display/FCR30/Fedora+Repository+3.3+Documentation">Fedora 3.3</a> is up and running on the GCM server. Address is <a title="GCM Fedora" href="http://10.10.24.35:8080/fedora">http://10.10.24.35:8080/fedora</a> if you&#8217;re in Goodwill&#8217;s network, authentication required. Installation was actually relatively painless, and took about 1/30 the time I spent setting up a default install of DSpace last year. I&#8217;m not sure why this is, DSpace is suppose to be the more plug and playable repository software. A key difference here: there is absolutely nothing you can do with Fedora right now; with DSpace you could start building communities and collections from the start.</p>
<p>Fedora is using our regular old MySQL instance to store its information. This will work fine. The next step will be to set up some basic services and become familiar with <a title="FOXML at Fedora Commons" href="http://fedora-commons.org/confluence/display/FCR30/Introduction+to+FOXML">FOXML</a>, the XML format Fedora uses to describe its digital objects. From there we can begin creating our schema and doing some simple test runs. When this is going smoothly enough, we can think more about putting in hooks into the Semantic Web (such as it stands) by pointing to elements in Dublin Core, <a title="Friend of a Friend" href="http://www.foaf-project.org/">Friend of a Friend</a>, or other ontologies.</p>
<p>One final prerequisite that does need to get up as soon as possible is regular backup of the server. Our present MySQL database is mailed weekly to a couple different computers, so that data is fairly secure. But the drive running our server has no redundancy, so we&#8217;re not as secure as we should be.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcmwalker.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcmwalker.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcmwalker.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcmwalker.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcmwalker.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcmwalker.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcmwalker.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcmwalker.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcmwalker.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcmwalker.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcmwalker.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcmwalker.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcmwalker.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcmwalker.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=47&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcmwalker.wordpress.com/2010/01/28/instance-of-fedora-3-3-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/600f523b45659d84c32aaf58a950bb09?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcmwalker</media:title>
		</media:content>
	</item>
		<item>
		<title>Notes on the Open Archival Information System (OAIS)</title>
		<link>http://gcmwalker.wordpress.com/2009/09/28/notes-on-the-open-archival-information-system-oais/</link>
		<comments>http://gcmwalker.wordpress.com/2009/09/28/notes-on-the-open-archival-information-system-oais/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 16:49:12 +0000</pubDate>
		<dc:creator>gcmwalker</dc:creator>
				<category><![CDATA[OAIS]]></category>
		<category><![CDATA[preservation]]></category>
		<category><![CDATA[repository]]></category>

		<guid isPermaLink="false">http://gcmwalker.wordpress.com/?p=37</guid>
		<description><![CDATA[Back in 2002 Consultative Committee for Space Data Systems made a recommendation to the ISO for an Open Archival Information System. The recommendation has found broad acceptance and varying levels of compliance are usually elaborated upon in the digital repository software packages like DSpace. Since we want our archive to have a future as a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=37&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Back in 2002 Consultative Committee for Space Data Systems made a recommendation to the ISO for an Open Archival Information System. The recommendation has found broad acceptance and varying levels of compliance are usually elaborated upon in the digital repository software packages like DSpace. Since we want our archive to have a future as a <em>federated</em> or <em>cooperating</em> (OAIS terms) archive, and since the terminologies and concepts created in this document are widespread, I decided to take some notes on the recommendation as they relate to potential metadata elements we&#8217;ll employ.</p>
<p>The recommendation mostly concerns itself with the long term preservation of digital objects, although the framework incorporates metadata for physical objects as well. Broadly, OAIS defines an <strong>Information Object </strong>as a <strong>Data Object</strong> coupled with its <strong>Representation Information</strong>. The Representation Information allows a person to understand how the bits in the Data Object are to be interpreted. An example would be a TIFF file (Data Object) coupled with an ASCII document (Representation Information) detailing the headers, its compression method, etc., like here: <a href="http://www.digitalpreservation.gov/formats/fdd/fdd000022.shtml">TIFF description at Digital Preservation (The Library of Congress)</a>. Of course, one might also want Representation Information for the ASCII file, to explain how characters are interpreted in that format. OAIS terms this phenomenon recursive Representation Information and one might eventually accrue a <strong>Representation Network</strong> of such digital objects. One stops when the <strong>Knowledge Base</strong> of your <strong>Designated Community</strong> has the requisite knowledge to understand your top-most piece of Representation Information.</p>
<p>OAIS defines two types of Representation Information: <strong>Structure</strong> and <strong>Semantic</strong>. Structure Information describes the data format applied to the bit sequence to derive more meaningful values like characters, pixels, numbers, etc. Semantic Information describes the social meaning behind these higher values (for example that the text characters are English).</p>
<p>OAIS discourages using software that can access and use Data Objects as a replacement for comprehensive Representation Information. Although that would serve the end user well enough for a time, the software itself naturally poses its own obsolescence problem. Of course, the digital media we would like to preserve is mostly software itself. We may have datasets, images, scans, etc., but the majority of digital assets we hold are complete software packages. This includes operating systems, office suites, computer games, console games (on cartridges) and so on. Retrieving Representation Information for all these types of software will be a considerable and ongoing task, as most software will consist multiple file types.</p>
<p><span id="more-37"></span>On a side note, some research (or risk assessment) will need to be done as to what conditions will preservation copies and fair use copies. The Digital Millennium Copyright Act can be exceptionally restrictive with this. This issue falls into a broader topic concerning what control we have (and if it is sufficient control) for Content Information we receive for which we do not own the intellectual property rights. A Submission Agreement can iron out these details in the case of a donor, but materials coming from recycling is another issue to investigate.</p>
<p>Along with the Data Object and Representation Information, which together form the <strong>Content Information</strong>, OAIS specifies <strong>Preservation Description Information </strong>to ensure the comprehensibility of the former. OAIS lists four type of PDI, each one give us something to consider in regards to all our holding types (software, hardware and documents):</p>
<ul>
<li>Provenance: custody information and processing history. Custody information is something we might want to really strive to extract from donors since it constitutes some of the history of personal and professional computing that we are trying to preserve. Other fields: revision history, license holder, registration, copyright.</li>
<li>Context: how the Content Information relates to information outside itself. This would be critical and quite formal if we were producing datasets, but as it stands this field seems open to a great deal of interpretation. Possible information could be use and purpose of the software, chip, computer, etc., conditions of use (where it was used, by who, etc.), and relations it may have with other materials we hold. Also manufacturing information, help files, user guides, the language of the package.</li>
<li>Reference: one or more unique identifiers. This should be contingent on our repository software and metadata set, and could include values like name, author/originator, version number or serial number.</li>
<li>Fixity: protection of the Content Information from undocumented alteration. Checksums, CRC, etc. It&#8217;s preferable to perform these operations for each file of a piece of software when we are not simply creating disk images of the media.</li>
</ul>
<p>Wrapping around all this is the <strong>Packaging Information</strong>, which explains, identifies and relates the Content Information and PDI. I believe this is where we would store critical information on media-dependent attributes for our software such as tape block sizes, CD-ROM volume information, floppy block sizes and various filesystem information. This is vital information that needs to be preserved at every step, since it constitutes the history of information storage, the conditions of the initial write and so on. Along with a disk image there should be concrete information on these aspects of the original media. In addition if we have provided another compression/packaging layer on top of this, that information would be located here. For example if we had compressed our Content Information and PDI into a tarball, the Packaging Information would explain the .tar format.</p>
<p>The Content Information and PDI constitute the <strong>Archival Information Package </strong>(AIP), which should contain all needed information to allow Long Term Preservation. OAIS also specifies <strong>Archival Information Collections</strong>, which we may use in the case of donor collections.</p>
<p>OAIS also details four migration types we will want to be aware of:</p>
<ul>
<li>Refreshment: simply copying a media instance from its original media to a new, identical piece of media. This would be when a floppy is getting old, looking old, etc., or when we are transferring data to a new hard drive (as routine backup or not). None of the infrastructure that points to AIPs needs to change, and all bits are preserved.</li>
<li>Replication: a transfer to a new media type where the Packaging Information, Content Information and PDI are exactly preserved. The infrastructure may need to be adjusted to point to a new location.</li>
<li>Repackaging: There are bits changed in the Packaging Information as a result of a transfer because new files and directories were created (though they may share the same structure and names of their originals).</li>
<li>Transformation: Bits are changed in the Content Information or PDI; the information content is preserved (supposedly).</li>
</ul>
<p>Providing that we use disk images, and do not attempt to move a software&#8217;s individual files and directory structure to new media &#8220;by hand&#8221;, we should be able to stay in the safe realms of Refreshment and Replication.</p>
<p>The recommendation covers a great deal more in submission protocols, dissemination, management, policy and materials control, but I what&#8217;s covered here I feel is most relevant to keep in mind when designing the metadata schema for our holdings.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcmwalker.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcmwalker.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcmwalker.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcmwalker.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcmwalker.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcmwalker.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcmwalker.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcmwalker.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcmwalker.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcmwalker.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcmwalker.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcmwalker.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcmwalker.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcmwalker.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=37&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcmwalker.wordpress.com/2009/09/28/notes-on-the-open-archival-information-system-oais/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/600f523b45659d84c32aaf58a950bb09?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcmwalker</media:title>
		</media:content>
	</item>
		<item>
		<title>Interview Notes</title>
		<link>http://gcmwalker.wordpress.com/2009/09/09/interview-notes/</link>
		<comments>http://gcmwalker.wordpress.com/2009/09/09/interview-notes/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 20:36:23 +0000</pubDate>
		<dc:creator>gcmwalker</dc:creator>
				<category><![CDATA[audiences]]></category>
		<category><![CDATA[repository]]></category>

		<guid isPermaLink="false">http://gcmwalker.wordpress.com/?p=27</guid>
		<description><![CDATA[Future use of GCM&#8217;s digital archive can be divided into internal and external realms. Internally the archive will serve as a database of holdings. Inventory reports, audits, and storage organization are likely to be the primary purposes for internal reference. Since the museum is seeking accreditation by the American Association of Museums, the archive&#8217;s metadata [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=27&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Future use of GCM&#8217;s digital archive can be divided into internal and external realms. Internally the archive will serve as a database of holdings. Inventory reports, audits, and storage organization are likely to be the primary purposes for internal reference. Since the museum is seeking accreditation by the <a href="http://www.aam-us.org/index.cfm">American Association of Museums</a>, the archive&#8217;s metadata should accomadate this goal. An area of the accreditation that falls into the scope of the database aspect of the archive is specified in AAM&#8217;s <a href="http://www.aam-us.org/museumresources/accred/upload/Collections%20Stewardship%20ACE%20%282005%29.pdf">Commission’s Expectations Regarding Collections Stewardship</a> [.pdf] document, which requires: </p>
<blockquote><p>a system of documentation, records management, and inventory is in effect to describe each object and its acquisition (permanent or temporary), current condition and location, and movement into, out of, and within the museum</p></blockquote>
<p>Note that an &#8220;object&#8221; is here defined as &#8220;materials used to communicate and motivate learning and instruments for carrying out the museum’s stated purpose,&#8221; so the database should track accessioned and non-accessioned materials. The latter is termed &#8220;ephemera&#8221; in our present database. </p>
<p>In the external realm, one foresees museum members and researchers availing themselves of an online GCM digital archive. This might be for general interest or for a specific project or research topic. Possible documents of interest would be detailed photos of machines and software, manufacturing information such as the number of machines produced in a certain model line and original price points, design documents (both institutional and individual) for machines and software, and manual texts. Where possible one will want to link to official specifications of software and hardware (filesystem specifications, manufacturer&#8217;s notes, etc.). </p>
<p>It&#8217;s not foreseen that internal components of hardware will receive extensive metadata as a priority. In this category are motherboards, sounds cards, network cards, hard drive, disk drives, etc. In the case of complete computer systems information on the internal components is readily available elsewhere. This leaves little reason to tear down the system and verify internal components unless doing so yielded particularly valuable information. In the case of incomplete or non-standard computer systems (systems custom-built, upgraded or downgraded) documentation of internal components might occur where those components deviate from the manufacturer&#8217;s norm. </p>
<p>Russ discussed some of the difficulty in labeling a manufacturer&#8217;s different model lines of hardware. For instance the silicon rails on chips can differ by millimeters or nanometers. When a manufacturer is able to tighten the distance between rails, a new model or version of a chip may go into production. Such a change is recorded by the manufacturer, but it may be quite difficult for the museum to measure this and thus record that piece of manufacturing data. The issue of what manufacturing specifications should be recorded into the the museum&#8217;s database is a key issue that will need to be resolved.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcmwalker.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcmwalker.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcmwalker.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcmwalker.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcmwalker.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcmwalker.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcmwalker.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcmwalker.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcmwalker.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcmwalker.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcmwalker.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcmwalker.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcmwalker.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcmwalker.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=27&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcmwalker.wordpress.com/2009/09/09/interview-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/600f523b45659d84c32aaf58a950bb09?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcmwalker</media:title>
		</media:content>
	</item>
		<item>
		<title>PAWN and Producers</title>
		<link>http://gcmwalker.wordpress.com/2009/09/05/pawn-and-producers/</link>
		<comments>http://gcmwalker.wordpress.com/2009/09/05/pawn-and-producers/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 21:31:40 +0000</pubDate>
		<dc:creator>gcmwalker</dc:creator>
				<category><![CDATA[annotation]]></category>
		<category><![CDATA[ingestion]]></category>
		<category><![CDATA[repository]]></category>

		<guid isPermaLink="false">http://gcmwalker.wordpress.com/?p=10</guid>
		<description><![CDATA[The Producer-Archive Workflow Network (PAWN) is a platform for handling the ingestion of artifacts into a long term digital repository like Fedora of DSpace. As such it focuses on the Producer-Archive interaction portion described in the Open Archival Information Systems [pdf]. It strives for flexibility in accommodating different producer-archive relationships, most likely found in a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=10&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The <a href="https://wiki.umiacs.umd.edu/adapt/index.php/PAWN:Main">Producer-Archive Workflow Network</a> (PAWN) is a platform for handling the ingestion of artifacts into a long term digital repository like Fedora of DSpace. As such it focuses on the Producer-Archive interaction portion described in the <a href="http://public.ccsds.org/publications/archive/650x0b1.pdf">Open Archival Information Systems</a> [pdf]. It strives for flexibility in accommodating different producer-archive relationships, most likely found in a distributed system. For example an archivist or repository manager may use PAWN to handle disparate types of data or package producers (manufacturers, individual scholars, students, etc.) who are all going to have different metadata to fill out before submitting the package for ingestion, and for which the processing may be different in regards to individual metadata elements. PAWN is part of a larger tool set being developed by <a href="https://wiki.umiacs.umd.edu/adapt/index.php/Main_Page">ADAPT</a> (An Approach to Digital Archiving and Preservation Technology).</p>
<p>PAWN seems most applicable in a distributed repository that sees submissions from a variety of different producers. It&#8217;s unlikely the Goodwill Computer Museum would need such flexibility for its own repository. That repository will be fairly centralized, only maintaining multiple clients in the building (and perhaps a few remotely in time). Our producers will always be staff or trained volunteers. But the project does highlight that the museum will be seeing submissions from at least two different &#8216;producers&#8217;: the recycling department, individual donations, and perhaps institutional donations.</p>
<p>The recycling department &#8216;producer&#8217; effectively makes the real producer anonymous. The only exception would be provenance information found on or in the artifact itself (stickers, names in books, disk storage, etc.). Despite the presence of such information, I can&#8217;t imagine the museum would be able to use it, as very likely it is outside of the recycling departments&#8217; right to disburse such information.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcmwalker.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcmwalker.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcmwalker.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcmwalker.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcmwalker.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcmwalker.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcmwalker.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcmwalker.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcmwalker.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcmwalker.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcmwalker.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcmwalker.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcmwalker.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcmwalker.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=10&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcmwalker.wordpress.com/2009/09/05/pawn-and-producers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/600f523b45659d84c32aaf58a950bb09?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcmwalker</media:title>
		</media:content>
	</item>
		<item>
		<title>Mechanisms: An Annotation</title>
		<link>http://gcmwalker.wordpress.com/2009/09/05/mechanisms-an-annotation/</link>
		<comments>http://gcmwalker.wordpress.com/2009/09/05/mechanisms-an-annotation/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 21:16:00 +0000</pubDate>
		<dc:creator>gcmwalker</dc:creator>
				<category><![CDATA[annotation]]></category>
		<category><![CDATA[preservation]]></category>

		<guid isPermaLink="false">http://gcmwalker.wordpress.com/?p=3</guid>
		<description><![CDATA[Kirschenbaum, M. (2008). Mechanisms: New media and the forensic imagination. Cambridge: MIT Press. Matthew Kirschenbaum, Associate Professor of English and Associate Director at the Maryland Institute for Technology in the Humanities (MITH), here examines digital media in the context of traditional textual studies and bibliography. Kirschenbaum presents to the reader forensic techniques for data recovery [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=3&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Kirschenbaum, M. (2008). <em>Mechanisms: New media and the forensic imagination</em>. Cambridge: MIT Press.</p>
<p>Matthew Kirschenbaum, Associate Professor of English and Associate Director at the <a title="Maryland Institute for Technology in the Humanities" href="http://mith.umd.edu/" target="_self">Maryland Institute for Technology in the Humanities</a> (MITH), here examines digital media in the context of traditional textual studies and bibliography. Kirschenbaum presents to the reader forensic techniques for data recovery and investigation that reveal how digital media, typically assigned attributes like ephemeralness, repeatability and variability (what he terms a traditional &#8220;screen essentialism&#8221; attitude about digital media), actually fulfills traditional bibliographic requirements of individualism, provenance and inscription.</p>
<p>Central to understanding these qualities of new digital media is an understanding of the affordances and technical mechanics of the dominant storage device for the last twenty or so years: the magnetic hard disk drive. Kirschenbaum reveals how data inscription on these devices (the magnetic fluxes inscribed on the drive&#8217;s multiple platters) can identify past events and previous inscriptions in a discrete spatial territory, much like the clues traditionally found textual scholars. The author makes a distinction between this <em>forensic materiality</em> and the more familiar <em>formal materiality</em> of digital media: its carefully controlled and highly engineered behavior we see on the screen. The author elaborates on how software engineering and extensive error checking at every level of the computer works to migrate magnetic fluxes to actual human-readable documents on the screen. Even at the formal materiality level many bibliographic and textual details are overlooked for lack of close inspection: multiple versions, multiple operating environments, actual textual differences between works, etc.</p>
<p>Three case studies illuminate these topics: a forensic and textual analysis of a <em><a title="Wikipedia: Mystery House" href="http://en.wikipedia.org/wiki/Mystery_House" target="_self">Mystery House</a> </em>disk image, a bibliographic and historic look at the multiple versions of <em><a title="Wikipedia: Afternoon, A Story" href="http://en.wikipedia.org/wiki/Afternoon,_a_story" target="_self">Afternoon: A Story</a> </em>by Michael Joyce, and a look at the social and textual transmissions of William Gibson&#8217;s &#8220;<a title="The Agrippa Files" href="http://agrippa.english.ucsb.edu/" target="_self">Agrippa</a>.&#8221;</p>
<p>Kirschenbaum&#8217;s central argument is that traditional characterizations of electronic texts and media (fluid, repeatable, identical, ephemeral) is insufficient for bibliographic, preservationist, and textual purposes, and that the media itself, upon closer examination, supports none of these characterizations.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcmwalker.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcmwalker.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcmwalker.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcmwalker.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcmwalker.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcmwalker.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcmwalker.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcmwalker.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcmwalker.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcmwalker.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcmwalker.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcmwalker.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcmwalker.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcmwalker.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcmwalker.wordpress.com&amp;blog=9343491&amp;post=3&amp;subd=gcmwalker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcmwalker.wordpress.com/2009/09/05/mechanisms-an-annotation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/600f523b45659d84c32aaf58a950bb09?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcmwalker</media:title>
		</media:content>
	</item>
	</channel>
</rss>
