<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Stuart Lewis' Blog</title>
	
	<link>http://blog.stuartlewis.com</link>
	<description />
	<lastBuildDate>Sat, 04 Feb 2012 21:44:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.5/scotland/</creativeCommons:license>		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/stuartlewis" /><feedburner:info uri="stuartlewis" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Back in the UK</title>
		<link>http://feedproxy.google.com/~r/stuartlewis/~3/eJDV01KlN8A/</link>
		<comments>http://blog.stuartlewis.com/2012/02/05/back-in-the-uk/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 21:44:59 +0000</pubDate>
		<dc:creator>Stuart</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://blog.stuartlewis.com/?p=739</guid>
		<description><![CDATA[This is just a quick blog post to say that I am now back in the UK, following almost three wonderful years in Auckland, New Zealand at The University of Auckland. Having worked in England and Wales, this time I&#8217;ll be in Scotland, as the Head of Digital Library Services at the University of Edinburgh. [...]]]></description>
			<content:encoded><![CDATA[<p>This is just a quick blog post to say that I am now back in the UK, following almost three wonderful years in Auckland, New Zealand at <a href="http://www.auckland.ac.nz/">The University of Auckland</a>.</p>
<p>Having worked in England and Wales, this time I&#8217;ll be in Scotland, as the Head of Digital Library Services at the <a href="http://www.ed.ac.uk/">University of Edinburgh</a>.  This role currently encompasses acquisitions, metadata, e-resources, digital library development, information systems, repositories, and research publications.  Exciting new areas such as research data management are also on the cards.</p>
<p>I&#8217;m very much looking forward to working in the UK, and meeting up with ex collaborators, colleagues, and friends.</p>
<p>Edinburgh is of course the host venue for this year&#8217;s <a href="http://or2012.blogs.edina.ac.uk/">Open Repositories conference</a>, so I hope to see many of you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stuartlewis.com/2012/02/05/back-in-the-uk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.stuartlewis.com/2012/02/05/back-in-the-uk/</feedburner:origLink></item>
		<item>
		<title>Building a ‘blogliography’</title>
		<link>http://feedproxy.google.com/~r/stuartlewis/~3/yXDfNtjoR5M/</link>
		<comments>http://blog.stuartlewis.com/2011/12/19/building-a-blogliography/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 08:54:40 +0000</pubDate>
		<dc:creator>Stuart</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[repositories]]></category>

		<guid isPermaLink="false">http://blog.stuartlewis.com/?p=712</guid>
		<description><![CDATA[I shall shortly be moving on to pastures new from my current role at The University of Auckland Library. Before I depart, I wanted to document a few of the projects that I have worked on during my (almost) three years in Auckland, the first of which is contained in this post: a project to [...]]]></description>
			<content:encoded><![CDATA[<p>I shall shortly be moving on to pastures new from my current role at <a href="http://www.library.auckland.ac.nz/">The University of Auckland Library</a>. Before I depart, I wanted to document a few of the projects that I have worked on during my (almost) three years in Auckland, the first of which is contained in this post: a project to build a new online bibliography for the <a href="http://www.business.auckland.ac.nz/uoa/home/about/our-research/bs-research-institutes-and-centres/new-zealand-asia-institute-nzai">New Zealand Asia Institute</a>.</p>
<p>As a library, we host a lot of online collections, many of which are simple bibliographies of materials relating to a particular subject.  In this case we worked with the library&#8217;s Business and Economics subject team to build an online bibliography of materials concerning the business interactions between New Zealand and Asia.</p>
<p>Here is a list of some of the high-level requirements we were given:</p>
<ul>
<li>Small scale (a couple of thousand records)</li>
<li>Import data from an EndNote library (initial import followed by periodic updates)</li>
<li>Multilingual content (English, Chinese, Japanese, Korean)</li>
<li>Additional static content</li>
<li>Provision of RSS feeds</li>
</ul>
<p>Traditionally our library has used a product from <a href="http://www.inmagic.com/">http://www.inmagic.com/</a> to deliver this sort of site. However this time we tried something a little different&#8230; we built it using blogging software.  To be more precise, we built it using the <a href="http://wordpress.org/">WordPress</a> blogging platform (the same software as powers this blog).</p>
<p><a href="http://blog.stuartlewis.com/wp-content/uploads/2011/12/nzais.png"><img class="aligncenter size-full wp-image-716" title="nzais" src="http://blog.stuartlewis.com/wp-content/uploads/2011/12/nzais.png" alt="" width="550" height="345" /></a></p>
<p>Here are some of the reasons that we chose WordPress:</p>
<ul>
<li>WordPress sites can contain a mixtures of blog entries (in this case bibliography entries) and static content.  NZAIS has a static home page and other static content, along with lots of entries.  Each entry in the bibliography is a blog post.</li>
<li>Being a blogging platform, certain features such as word clouds and RSS feeds are part of the standard configuration.</li>
<li>Like all well-mannered systems, it defaults to UTF-8, meaning the multilingual content poses no problem.</li>
<li>WordPress supports themes.  It is very easy to choose a suitable theme, and then customise it for your specific needs (colour scheme, logo, etc).</li>
<li>The system can be extended using plugins.</li>
</ul>
<p>The last point is one that was particularly pleasurable to work with: the majority of the requirements that could not be fulfilled directly with WordPress could be delivered using a third-party free plugin.  In order to turn a traditional blog into a useful online bibliography, we used the following plugins (in alphabetical order):</p>
<ul>
<li><a href="http://mtekk.weblogs.us/code/breadcrumb-navxt/">Breadcrumb NavXT</a>:  Used to provide breadcrumb functionality to assit the user know where they are in the site</li>
<li><a href="http://sudarmuthu.com/wordpress/bulk-delete">Bulk Delete</a>:  Useful when developing to remove old content, or when performing a complete re-load of data</li>
<li><a href="http://wpgogo.com/development/custom-field-template.html">Custom Field Template</a>:  WordPress supports &#8216;metadata&#8217; through the use of &#8216;custom fields&#8217; which can be set for each post.  This plug allows that metadata to be set via a template for each post</li>
<li><a href="http://wordpress.org/extend/plugins/google-ajax-translation/">Google AJAX Translation</a>:  Allows individual entries (blog posts) to be translated on-the-fly without the page being reloaded.  Useful for translating between English / Chinese / Japanese / Korean content</li>
<li><a href="http://www.vjcatkick.com/?page_id=6575">Google Translator</a>:  Adds a translate widget to see the whole site translated into a different language</li>
<li><a href="https://core.sproutventure.com/projects/show/search-everything">Search Everything</a>:  Modified the search system to search all fields, including the custom fields</li>
<li><a href="http://wordpress.org/extend/plugins/csv-importer/">CSV importer</a>:  Data from EndNote was exported to a text file, and a short Java script used to convert it into a CSV (Comma Separated Values) file which was then imported using this plugin.  We modified this plugin to support multiple values in some fields (for example to allow multiple authors to be inserted for a single item)</li>
<li><a href="http://scribu.net/wordpress/custom-field-taxonomies">Custom Field Taxonomies</a>:  Builds controlled vocabulary functionality into custom fields / metadata</li>
</ul>
<p>The site can be viewed at <a href="http://nzais.auckland.ac.nz/">http://nzais.auckland.ac.nz/</a></p>
<p><a href="http://blog.stuartlewis.com/wp-content/uploads/2011/12/nzais2.png"><img class="aligncenter size-full wp-image-718" title="nzais2" src="http://blog.stuartlewis.com/wp-content/uploads/2011/12/nzais2.png" alt="" width="550" height="347" /></a></p>
<p>The following screenshot shows the use of metadata fields (custom fields) for an entry in the bibliography:</p>
<p><a href="http://blog.stuartlewis.com/wp-content/uploads/2011/12/nzais3.png"><img class="aligncenter size-full wp-image-719" title="nzais3" src="http://blog.stuartlewis.com/wp-content/uploads/2011/12/nzais3.png" alt="" width="550" height="561" /></a></p>
<p>[This development took place in late 2009 / early 2010.  It was a successful project and proved that WordPress is a flexible platform for delivery a site such as this.  However the technology used to power this site is about to change, not because of any problem with the site, but due to a rationalisation of platforms in the library.  With an ever increasing number of similar collections needing to be developed each year, we decided to develop a single solution for those collections that don't fit into our traditional repository offerings (DSpace research outputs repository or ExLibris DigiTool).  To this end we developed what we've called the Super Index.  More about that in another post...!]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stuartlewis.com/2011/12/19/building-a-blogliography/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.stuartlewis.com/2011/12/19/building-a-blogliography/</feedburner:origLink></item>
		<item>
		<title>The collection is dead! Long live the collection!</title>
		<link>http://feedproxy.google.com/~r/stuartlewis/~3/pk2XnA5Y-Tc/</link>
		<comments>http://blog.stuartlewis.com/2011/08/26/the-collection-is-dead-long-live-the-collection/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 08:34:32 +0000</pubDate>
		<dc:creator>Stuart</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dspace]]></category>
		<category><![CDATA[repositories]]></category>
		<category><![CDATA[solr]]></category>

		<guid isPermaLink="false">http://blog.stuartlewis.com/?p=707</guid>
		<description><![CDATA[&#8220;The collection is dead! Long live the collection!&#8221;  That summarises my current thoughts and feelings about the collection hierarchy structure in DSpace. When first installed, DSpace shows its need for a community and collection hierarchy, because without at least one community, containing at least one collection, it is impossible to even submit an item.  Therefore, [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;The collection is dead! Long live the collection!&#8221;  That summarises my current thoughts and feelings about the <a href="http://www.dspace.org/1_6_0Documentation/ch02.html#N100E0">collection hierarchy structure</a> in <a href="http://dspace.org/">DSpace</a>.</p>
<p>When first installed, DSpace shows its need for a community and collection hierarchy, because without at least one community, containing at least one collection, it is impossible to even submit an item.  Therefore, from day one, DSpace repository managers get used to creating collections, giving them names, and creating a hierarchy.  Having created a first community with its first collection, it seems silly to have just a single community and collection.  So the repository managers creates a larger hierarchy &#8211; often mimicking the organisational structure of their institution.  Often this hierarchy extends down to departments, research groups, even individuals.</p>
<p>And the repository manager feels good.  There is structure which will give people a sense of belonging, and more importantly, ownership of &#8216;their collection&#8217;.  This will help them gather content for their repository by helping the individual or research group feel that it is their space.</p>
<p>Very often of course it means that a repository has a lot of structure with empty collections.  Also it leads to other problems &#8211; what about theses?  We want them to appear in their department&#8217;s collection, but also to appear in our central library thesis collection for harvesting by a service such as <a href="http://ethos.bl.uk/">EThOS</a>.  Or what a about an article that has been co-authored by people across different departments?  Or departments that move around in the organisation.  This collection structure is starting to feel a bit inflexible and restrictive!  What started of as a useful tool that made us feel &#8216;organised&#8217;, now feels the opposite.</p>
<p>Luckily, help is now at hand!  Since version 1.7 DSpace has included the &#8216;discovery&#8217; module.  This is nothing ground-breaking as such, just a <a href="http://en.wikipedia.org/wiki/Faceted_search">faceted search</a> feature using <a href="http://lucene.apache.org/solr/">solr</a> contributed to DSpace by <a href="http://atmire.com/">atmire</a>.  The real beauty and power of faceted search comes with their ability to make &#8216;virtual collections&#8217;.  You want a collection of theses published by the faculty of science: sure &#8211; just link to the type:thesis + faculty:science facet search result page.  You want a collection for Prof. S Smith?  No problem, link to the author:s. smith faceted search result page.  Want a collection of the &#8216;recent&#8217; publications of a department?  Just link to the department:foobar + year:2011.</p>
<p>Facets give us the ability to create &#8216;views&#8217; over the data, based on properties (metadata) of items.  Maybe this is why Google and other search engines are more popular than <a href="http://www.dmoz.org/">http://www.dmoz.org/</a>?  We like to have our own collections defined instantly by a search, not be forced to traverse a hierarchy dictated by others.  Of course this does rely on quality (consistent / present / correct) metadata to ensure that items all appear in their virtual collections.  To conclude &#8211; sometimes it feels like &#8220;The collection is dead!&#8221;.  We have better ways to create structure over the repository rather than through it.</p>
<p>But wait!  I cry &#8220;Long live the collection!&#8221;.</p>
<p>Whilst in our main &#8216;institutional repository&#8217; at The University of Auckland Library (<a href="http://researchspace.auckland.ac.nz/">http://researchspace.auckland.ac.nz/</a>) we have been rationalising the number of collections we have and removing most of organisational structure, we have been making use of DSpace collections in another very useful way&#8230;</p>
<p>We&#8217;re halfway through a project known internally as the SuperIndex.  Not (just!) because it is &#8216;super&#8217;, but because we are creating a super-index of many of our disparate bibliographic and digital special collections.  We have many databases of collections all over the place, and the SuperIndex project aims to bring them all together into a single system.  This will make management of the collections more consistent, while reducing the number of systems to maintain.  DSpace is our chosen central management system.</p>
<p>This is where the collection structure is becoming very useful. Each collection of items really is a collection.  An item in a database about fisheries in New Zealand will not (or is unlikely to!) appear in any of our other special collections.  This collection structure makes it easier to manage each collection separately.  We can run <a href="http://www.dspace.org/1_7_1Documentation/Curation%20System.html">curation tasks</a> on a collection, or control who has rights to edit a collection.  The management of this repository is much wider than the institutional repository that is just administered by one team.  We will have staff in many areas editing the items.  It also allows us to create individual websites for each collection, each with their own URL structure and branding &#8211; the end user does not know that the item they are viewing is actually managed in a DSpace somewhere, and that the DSpace contains thousands of other items in different collections.</p>
<p>So the &#8216;collection&#8217; is starting to become less useful in the standard institutional repository of research outputs (which is, in a way, a single collection) but is having a new life for us in managing what could be seen as more traditional &#8216;collections&#8217; in a single DSpace repository.</p>
<p>I&#8217;d be interested to hear what you think are the strengths and weaknesses, or reasons for and against forced collection hierarchies in DSpace.</p>
<p>&#8220;The collection is dead! Long live the collection!&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stuartlewis.com/2011/08/26/the-collection-is-dead-long-live-the-collection/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://blog.stuartlewis.com/2011/08/26/the-collection-is-dead-long-live-the-collection/</feedburner:origLink></item>
		<item>
		<title>Android SWORD deposit mobile app</title>
		<link>http://feedproxy.google.com/~r/stuartlewis/~3/R-N879dlQU0/</link>
		<comments>http://blog.stuartlewis.com/2011/06/20/android-sword-deposit-mobile-app/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 07:49:16 +0000</pubDate>
		<dc:creator>Stuart</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[interoperability]]></category>
		<category><![CDATA[repositories]]></category>
		<category><![CDATA[sword]]></category>
		<category><![CDATA[swordshare]]></category>

		<guid isPermaLink="false">http://blog.stuartlewis.com/?p=699</guid>
		<description><![CDATA[As part of the Open Repositories 2011 Developers Challenge, our team submitted a few different prototypes that formed our vision of &#8216;The Future of Repositories&#8217;.  Our whole entry centered around the theme of &#8216;Raas&#8217;, or &#8216;Repository as a Service&#8217;.  The notion of RaaS included the ability for the Repository become a commodity which could be [...]]]></description>
			<content:encoded><![CDATA[<p>As part of the <a href="http://devcsi.ukoln.ac.uk/blog/dev-challenge-or11/">Open Repositories 2011 Developers Challenge</a>, our team submitted a few different prototypes that formed our vision of &#8216;The Future of Repositories&#8217;.  Our whole entry centered around the theme of &#8216;Raas&#8217;, or &#8216;Repository as a Service&#8217;.  The notion of RaaS included the ability for the Repository become a commodity which could be switched in and out of our infrastructure.  In order for this to happen we required interoperability at multiple levels &#8211; we demonstrated two: ingest (using <a href="http://swordapp.org/">SWORD</a>) and discovery (using <a href="http://lucene.apache.org/solr/">Solr</a>).</p>
<p>One of the prototypes was a new deposit application using SWORD.  It was written for the <a href="http://www.android.com/">Android</a> mobile operating system, and was designed to deposit photographs into repositories.  The use case for this is for social scientists who want to capture photographs straight into trusted storage &#8211; a repository.  One of the benefits of taking photographs with mobile phones is that they are usually now geo-tagged using the in-built GPS functionality to stamp the photo with the location where it was taken.  Of course the modern smartphone is a great data collection device, and could be used to capture many different kids of data, ready for deposit.  The notion of &#8216;<a href="http://en.wikipedia.org/wiki/Citizen_science">citizen science</a>&#8216; could come in to play here with a large set of distributed data collection devices in the pockets of millions of cell phone users.</p>
<p>Android has a nice &#8216;Share&#8217; system, where applications are able to share files with one another.  If you take a photo or look at one in the photo gallery application, you should be able to find the &#8216;Share&#8217; option.  From here you can share the photo with applications that know how to consume photos, such as posting to Facebook, sending as email attachements, or adding to tweets on Twitter.  Using our new application called &#8216;SWORD Share&#8217;, you can now deposit the photos into a repository!</p>
<p><img class="alignleft" src="http://chart.apis.google.com/chart?cht=qr&amp;chs=150x150&amp;chl=https://market.android.com/details?id=org.skylightui.swordshare" alt="" width="150" height="150" />If you have an Android phone, launch the marketplace application, and search for &#8216;sword share&#8217;.  Alternatively visit <a href="https://market.android.com/details?id=org.skylightui.swordshare&amp;feature=search_result">https://market.android.com/details?id=org.skylightui.swordshare&amp;feature=search_result</a> or scan the QR code.</p>
<p>When you launch the application you&#8217;ll be prompted to enter your SWORD server details: Author name, username, password, and the deposit URL.  If you don&#8217;t have easy access to a repository, you could try depositing to the <a href="http://demo.dspace.org/">DSpace Demo Server</a>.  Use the following details: Name: Your name, Username: dspacedemo+admin@gmail.com, Password: dspace, Deposit URL: http://demo.dspace.org/sword/deposit/10673/39403</p>
<p>You will then be able to &#8216;share&#8217; a photo you have taken, and a username and password, and deposit it to the repository.  Once the deposit has finished, you&#8217;ll be given the URL of the deposited item.  Just one thing to note if you use the demo.dspace.org system: It looks like the handle server isn&#8217;t currently running on that server, therefore if you receive a URL back such as http://hdl.handle.net/10673/{12345}, to see your item, instead visit http://demo.dspace.org/jspui/handle/10673/{12345}.</p>
<p>I&#8217;d be interested to hear about your ideas for the application, and if it worked OK for you!</p>
<p><a href="http://blog.stuartlewis.com/wp-content/uploads/2011/06/SC20110620-193140.png"><img class="alignnone size-medium wp-image-702" title="Deposit screen" src="http://blog.stuartlewis.com/wp-content/uploads/2011/06/SC20110620-193140-180x300.png" alt="" width="180" height="300" /></a></p>
<p>Of course the code is open source, and housed in <a href="https://github.com/skylightui/swordshare">github</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stuartlewis.com/2011/06/20/android-sword-deposit-mobile-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.stuartlewis.com/2011/06/20/android-sword-deposit-mobile-app/</feedburner:origLink></item>
		<item>
		<title>SWORD PHP Library – version 1.0 finally released!</title>
		<link>http://feedproxy.google.com/~r/stuartlewis/~3/Q4Zs01KTOuQ/</link>
		<comments>http://blog.stuartlewis.com/2011/04/21/sword-php-library-version-1-0-finally-released/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 08:43:42 +0000</pubDate>
		<dc:creator>Stuart</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[easydeposit]]></category>
		<category><![CDATA[sword]]></category>

		<guid isPermaLink="false">http://blog.stuartlewis.com/?p=695</guid>
		<description><![CDATA[After over 2.5 years of development and refinement, I have finally released version 1.0 of the SWORD PHP library! The library has been relatively stable for quite some time now, and is firmly embedded in tools such as EasyDeposit and OJS. The other reason that I wanted to get it released (after many earlier 0.x [...]]]></description>
			<content:encoded><![CDATA[<p>After over 2.5 years of development and refinement, I have finally released version 1.0 of the <a href="https://github.com/stuartlewis/swordapp-php-library/tree/swordapp-php-library-1.0">SWORD PHP library</a>! The library has been relatively stable for quite some time now, and is firmly embedded in tools such as <a href="http://easydeposit.swordapp.org/">EasyDeposit</a> and <a href="http://pkp.sfu.ca/?q=ojs">OJS</a>.</p>
<p>The other reason that I wanted to get it released (after many earlier 0.x version releases) is that the <a href="http://swordapp.org/">SWORD v2</a> development work is now starting, and therefore my attention needs to focus on that for a while.  There is now a github repository to host that:</p>
<ul>
<li><a href="https://github.com/stuartlewis/swordappv2-php-library">https://github.com/stuartlewis/swordappv2-php-library</a></li>
</ul>
<p>I owe a big thank you to all the people who have contributed or used the library over the years, because of the feedback and patches, the code is now stable and works well.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stuartlewis.com/2011/04/21/sword-php-library-version-1-0-finally-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.stuartlewis.com/2011/04/21/sword-php-library-version-1-0-finally-released/</feedburner:origLink></item>
		<item>
		<title>EasyDeposit now supports Shibboleth</title>
		<link>http://feedproxy.google.com/~r/stuartlewis/~3/8TfytxcxP10/</link>
		<comments>http://blog.stuartlewis.com/2011/03/21/easydeposit-now-supports-shibboleth/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 06:45:15 +0000</pubDate>
		<dc:creator>Stuart</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[easydeposit]]></category>
		<category><![CDATA[shibboleth]]></category>
		<category><![CDATA[sword]]></category>

		<guid isPermaLink="false">http://blog.stuartlewis.com/?p=689</guid>
		<description><![CDATA[Just a quick note to say that the latest release of EasyDeposit now supports Shibboleth authentication. Or to be precise, it supports any form of authentication where the user&#8217;s details are passed via HTTP headers / environment variables. This includes other SSO (Single Sign-On) systems such as CoSign. To use, select the &#8216;ssologin&#8217; step as [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick note to say that the latest release of <a href="http://easydeposit.swordapp.org/">EasyDeposit</a> now supports <a href="http://shibboleth.internet2.edu/">Shibboleth</a> authentication.  Or to be precise, it supports any form of authentication where the user&#8217;s details are passed via HTTP headers / environment variables.  This includes other SSO (Single Sign-On) systems such as <a href="http://cosign.sourceforge.net/">CoSign</a>.</p>
<p>To use, select the &#8216;ssologin&#8217; step as the first step.  Edit the settings to state which headers to look at, and it should all work.  Of course you&#8217;ll need to configure your web server and single sign-on system to protect your EasyDeposit installation directory.</p>
<p><a href="http://blog.stuartlewis.com/wp-content/uploads/2011/03/ssologin.jpg"><img class="aligncenter size-full wp-image-690" title="ssologin" src="http://blog.stuartlewis.com/wp-content/uploads/2011/03/ssologin.jpg" alt="" width="550" height="507" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stuartlewis.com/2011/03/21/easydeposit-now-supports-shibboleth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.stuartlewis.com/2011/03/21/easydeposit-now-supports-shibboleth/</feedburner:origLink></item>
		<item>
		<title>Display a stack trace in the android debugger</title>
		<link>http://feedproxy.google.com/~r/stuartlewis/~3/Hcn_pJT5RvI/</link>
		<comments>http://blog.stuartlewis.com/2011/02/19/display-a-stack-trace-in-the-android-debugger/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 18:47:48 +0000</pubDate>
		<dc:creator>Stuart</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://blog.stuartlewis.com/?p=681</guid>
		<description><![CDATA[I&#8217;ve found that when developing an application for android, it is not obvious how to display a stack trace in the debugger in order to assist with finding the cause of a problem. If you don&#8217;t catch the exception, the stack trace will display OK. However often you want to catch the exception, but when [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve found that when developing an application for android, it is not obvious how to display a stack trace in the debugger in order to assist with finding the cause of a problem.  If you don&#8217;t catch the exception, the stack trace will display OK.  However often you want to catch the exception, but when debugging you want to find out what caused it by logging it to the debugger.</p>
<p>In normal java, you might use e.printStackTrace, but this won&#8217;t work without the use of log redirecting in the <a href="http://developer.android.com/guide/developing/tools/adb.html">adb</a> as it is normally sent to /dev/null</p>
<p>I&#8217;ve written a small utility class to do this:</p>
<pre class="brush: java; title: ; notranslate">
package com.example;

import android.util.Log;

/**
 * A class to display a traditional Java stack trace in the android debugger
 *
 * @author Stuart Lewis (stuart@stuartlewis.com)
 */
public class StackTraceLogger {

    /**
     * Display a stack trace
     *
     * @param e The Exception
     * @param tag The tag to use in the debugger
     */
    public static void getStackTraceString(Exception e, String tag) {
        Log.e(tag, e.toString());
        for (StackTraceElement ste : e.getStackTrace()) {
           Log.e(tag, ste.toString());
        }
    }
}
</pre>
<p>To make use of this, in your catch use: </p>
<p>StackTraceLogger.getStackTraceString(e, TAG);</p>
<p>(where &#8216;e&#8217; is the Exception, and TAG is your logging TAG).  I hope this is useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stuartlewis.com/2011/02/19/display-a-stack-trace-in-the-android-debugger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.stuartlewis.com/2011/02/19/display-a-stack-trace-in-the-android-debugger/</feedburner:origLink></item>
		<item>
		<title>Scrolling Text with an Arduino and Nokia 5110 screen</title>
		<link>http://feedproxy.google.com/~r/stuartlewis/~3/JwhYq_N1iEg/</link>
		<comments>http://blog.stuartlewis.com/2011/02/12/scrolling-text-with-an-arduino-and-nokia-5110-screen/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 01:34:09 +0000</pubDate>
		<dc:creator>Stuart</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[arduino]]></category>

		<guid isPermaLink="false">http://blog.stuartlewis.com/?p=670</guid>
		<description><![CDATA[A while ago I purchased a nice little Nokia 5110 screen from MindKits.co.nz (or Sparkfun). It comes complete with a little PCB and a built-in PCD8544 controller.  It took  me a while looking at some different demos on the web to get it working &#8211; but once you&#8217;ve got it worked out, it is very [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago I purchased a nice little <a href="http://www.mindkits.co.nz/store/led-lcds/graphic-lcd-84x48-nokia-5110">Nokia 5110 screen</a> from <a href="http://www.mindkits.co.nz/">MindKits.co.nz</a> (or <a href="http://www.sparkfun.com/products/10168">Sparkfun</a>). It comes complete with a little PCB and a built-in PCD8544 controller.  It took  me a while looking at some different demos on the web to get it working &#8211; but once you&#8217;ve got it worked out, it is very easy.</p>
<p>It has 8 pins, connect these as follows (or adjust the code below for the correct arduino pins):</p>
<ol>
<li>VCC (3v arduino output)</li>
<li>GND &#8211; Not needed, but if you do some sites say to connect via a small capacitor</li>
<li>SCE &#8211; Pin 7</li>
<li>RST &#8211; Pin 6</li>
<li>D/C &#8211; Pin 5</li>
<li>DN &#8211; Pin 4</li>
<li>SCLK &#8211; Pin 3</li>
<li>LED (backlight) &#8211; No needed, but if you do, remember to use a current limiting resistor!</li>
</ol>
<p>I took one of the example pieces of code, and improved it with a scroll routine.  Call the &#8216;scroll(&#8220;Message&#8221;)&#8217; function in the main loop, and each time the loop repeats, it will scroll the message on one more character, and when needed, it starts looping again.</p>
<p>Here is a video of it working, and below that is the code:<br />
<iframe title="YouTube video player" src="http://www.youtube.com/embed/QLJBeodFBFo" frameborder="0" width="540" height="320"></iframe></p>
<pre class="brush: plain; title: ; notranslate">
/*
Scrolling text example code
Modified from: http://www.arduino.cc/playground/Code/PCD8544
*/

// The pins to use on the arduino
#define PIN_SCE   7
#define PIN_RESET 6
#define PIN_DC    5
#define PIN_SDIN  4
#define PIN_SCLK  3

// COnfiguration for the LCD
#define LCD_C     LOW
#define LCD_D     HIGH
#define LCD_CMD   0

// Size of the LCD
#define LCD_X     84
#define LCD_Y     48

int scrollPosition = -10;

static const byte ASCII[][5] =
{
 {0x00, 0x00, 0x00, 0x00, 0x00} // 20
,{0x00, 0x00, 0x5f, 0x00, 0x00} // 21 !
,{0x00, 0x07, 0x00, 0x07, 0x00} // 22 &quot;
,{0x14, 0x7f, 0x14, 0x7f, 0x14} // 23 #
,{0x24, 0x2a, 0x7f, 0x2a, 0x12} // 24 $
,{0x23, 0x13, 0x08, 0x64, 0x62} // 25 %
,{0x36, 0x49, 0x55, 0x22, 0x50} // 26 &amp;
,{0x00, 0x05, 0x03, 0x00, 0x00} // 27 '
,{0x00, 0x1c, 0x22, 0x41, 0x00} // 28 (
,{0x00, 0x41, 0x22, 0x1c, 0x00} // 29 )
,{0x14, 0x08, 0x3e, 0x08, 0x14} // 2a *
,{0x08, 0x08, 0x3e, 0x08, 0x08} // 2b +
,{0x00, 0x50, 0x30, 0x00, 0x00} // 2c ,
,{0x08, 0x08, 0x08, 0x08, 0x08} // 2d -
,{0x00, 0x60, 0x60, 0x00, 0x00} // 2e .
,{0x20, 0x10, 0x08, 0x04, 0x02} // 2f /
,{0x3e, 0x51, 0x49, 0x45, 0x3e} // 30 0
,{0x00, 0x42, 0x7f, 0x40, 0x00} // 31 1
,{0x42, 0x61, 0x51, 0x49, 0x46} // 32 2
,{0x21, 0x41, 0x45, 0x4b, 0x31} // 33 3
,{0x18, 0x14, 0x12, 0x7f, 0x10} // 34 4
,{0x27, 0x45, 0x45, 0x45, 0x39} // 35 5
,{0x3c, 0x4a, 0x49, 0x49, 0x30} // 36 6
,{0x01, 0x71, 0x09, 0x05, 0x03} // 37 7
,{0x36, 0x49, 0x49, 0x49, 0x36} // 38 8
,{0x06, 0x49, 0x49, 0x29, 0x1e} // 39 9
,{0x00, 0x36, 0x36, 0x00, 0x00} // 3a :
,{0x00, 0x56, 0x36, 0x00, 0x00} // 3b ;
,{0x08, 0x14, 0x22, 0x41, 0x00} // 3c &lt;
,{0x14, 0x14, 0x14, 0x14, 0x14} // 3d =
,{0x00, 0x41, 0x22, 0x14, 0x08} // 3e &gt;
,{0x02, 0x01, 0x51, 0x09, 0x06} // 3f ?
,{0x32, 0x49, 0x79, 0x41, 0x3e} // 40 @
,{0x7e, 0x11, 0x11, 0x11, 0x7e} // 41 A
,{0x7f, 0x49, 0x49, 0x49, 0x36} // 42 B
,{0x3e, 0x41, 0x41, 0x41, 0x22} // 43 C
,{0x7f, 0x41, 0x41, 0x22, 0x1c} // 44 D
,{0x7f, 0x49, 0x49, 0x49, 0x41} // 45 E
,{0x7f, 0x09, 0x09, 0x09, 0x01} // 46 F
,{0x3e, 0x41, 0x49, 0x49, 0x7a} // 47 G
,{0x7f, 0x08, 0x08, 0x08, 0x7f} // 48 H
,{0x00, 0x41, 0x7f, 0x41, 0x00} // 49 I
,{0x20, 0x40, 0x41, 0x3f, 0x01} // 4a J
,{0x7f, 0x08, 0x14, 0x22, 0x41} // 4b K
,{0x7f, 0x40, 0x40, 0x40, 0x40} // 4c L
,{0x7f, 0x02, 0x0c, 0x02, 0x7f} // 4d M
,{0x7f, 0x04, 0x08, 0x10, 0x7f} // 4e N
,{0x3e, 0x41, 0x41, 0x41, 0x3e} // 4f O
,{0x7f, 0x09, 0x09, 0x09, 0x06} // 50 P
,{0x3e, 0x41, 0x51, 0x21, 0x5e} // 51 Q
,{0x7f, 0x09, 0x19, 0x29, 0x46} // 52 R
,{0x46, 0x49, 0x49, 0x49, 0x31} // 53 S
,{0x01, 0x01, 0x7f, 0x01, 0x01} // 54 T
,{0x3f, 0x40, 0x40, 0x40, 0x3f} // 55 U
,{0x1f, 0x20, 0x40, 0x20, 0x1f} // 56 V
,{0x3f, 0x40, 0x38, 0x40, 0x3f} // 57 W
,{0x63, 0x14, 0x08, 0x14, 0x63} // 58 X
,{0x07, 0x08, 0x70, 0x08, 0x07} // 59 Y
,{0x61, 0x51, 0x49, 0x45, 0x43} // 5a Z
,{0x00, 0x7f, 0x41, 0x41, 0x00} // 5b [
,{0x02, 0x04, 0x08, 0x10, 0x20} // 5c ¥
,{0x00, 0x41, 0x41, 0x7f, 0x00} // 5d ]
,{0x04, 0x02, 0x01, 0x02, 0x04} // 5e ^
,{0x40, 0x40, 0x40, 0x40, 0x40} // 5f _
,{0x00, 0x01, 0x02, 0x04, 0x00} // 60 `
,{0x20, 0x54, 0x54, 0x54, 0x78} // 61 a
,{0x7f, 0x48, 0x44, 0x44, 0x38} // 62 b
,{0x38, 0x44, 0x44, 0x44, 0x20} // 63 c
,{0x38, 0x44, 0x44, 0x48, 0x7f} // 64 d
,{0x38, 0x54, 0x54, 0x54, 0x18} // 65 e
,{0x08, 0x7e, 0x09, 0x01, 0x02} // 66 f
,{0x0c, 0x52, 0x52, 0x52, 0x3e} // 67 g
,{0x7f, 0x08, 0x04, 0x04, 0x78} // 68 h
,{0x00, 0x44, 0x7d, 0x40, 0x00} // 69 i
,{0x20, 0x40, 0x44, 0x3d, 0x00} // 6a j
,{0x7f, 0x10, 0x28, 0x44, 0x00} // 6b k
,{0x00, 0x41, 0x7f, 0x40, 0x00} // 6c l
,{0x7c, 0x04, 0x18, 0x04, 0x78} // 6d m
,{0x7c, 0x08, 0x04, 0x04, 0x78} // 6e n
,{0x38, 0x44, 0x44, 0x44, 0x38} // 6f o
,{0x7c, 0x14, 0x14, 0x14, 0x08} // 70 p
,{0x08, 0x14, 0x14, 0x18, 0x7c} // 71 q
,{0x7c, 0x08, 0x04, 0x04, 0x08} // 72 r
,{0x48, 0x54, 0x54, 0x54, 0x20} // 73 s
,{0x04, 0x3f, 0x44, 0x40, 0x20} // 74 t
,{0x3c, 0x40, 0x40, 0x20, 0x7c} // 75 u
,{0x1c, 0x20, 0x40, 0x20, 0x1c} // 76 v
,{0x3c, 0x40, 0x30, 0x40, 0x3c} // 77 w
,{0x44, 0x28, 0x10, 0x28, 0x44} // 78 x
,{0x0c, 0x50, 0x50, 0x50, 0x3c} // 79 y
,{0x44, 0x64, 0x54, 0x4c, 0x44} // 7a z
,{0x00, 0x08, 0x36, 0x41, 0x00} // 7b {
,{0x00, 0x00, 0x7f, 0x00, 0x00} // 7c |
,{0x00, 0x41, 0x36, 0x08, 0x00} // 7d }
,{0x10, 0x08, 0x08, 0x10, 0x08} // 7e ←
,{0x00, 0x06, 0x09, 0x09, 0x06} // 7f →
};

void LcdCharacter(char character)
{
  LcdWrite(LCD_D, 0x00);
  for (int index = 0; index &lt; 5; index++)
  {
    LcdWrite(LCD_D, ASCII[character - 0x20][index]);
  }
  LcdWrite(LCD_D, 0x00);
}

void LcdClear(void)
{
  for (int index = 0; index &lt; LCD_X * LCD_Y / 8; index++)
  {
    LcdWrite(LCD_D, 0x00);
  }
}

void LcdInitialise(void)
{
  pinMode(PIN_SCE,   OUTPUT);
  pinMode(PIN_RESET, OUTPUT);
  pinMode(PIN_DC,    OUTPUT);
  pinMode(PIN_SDIN,  OUTPUT);
  pinMode(PIN_SCLK,  OUTPUT);

  digitalWrite(PIN_RESET, LOW);
  digitalWrite(PIN_RESET, HIGH);

  LcdWrite(LCD_CMD, 0x21);  // LCD Extended Commands.
  LcdWrite(LCD_CMD, 0xBf);  // Set LCD Vop (Contrast). //B1
  LcdWrite(LCD_CMD, 0x04);  // Set Temp coefficent. //0x04
  LcdWrite(LCD_CMD, 0x14);  // LCD bias mode 1:48. //0x13
  LcdWrite(LCD_CMD, 0x0C);  // LCD in normal mode. 0x0d for inverse
  LcdWrite(LCD_C, 0x20);
  LcdWrite(LCD_C, 0x0C);
}

void LcdString(char *characters)
{
  while (*characters)
  {
    LcdCharacter(*characters++);
  }
}

void LcdWrite(byte dc, byte data)
{
  digitalWrite(PIN_DC, dc);
  digitalWrite(PIN_SCE, LOW);
  shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST, data);
  digitalWrite(PIN_SCE, HIGH);
}

/**
 * gotoXY routine to position cursor
 * x - range: 0 to 84
 * y - range: 0 to 5
 */
void gotoXY(int x, int y)
{
  LcdWrite( 0, 0x80 | x);  // Column.
  LcdWrite( 0, 0x40 | y);  // Row.
}

void drawBox(void)
{
  int j;
  for(j = 0; j &lt; 84; j++) // top
  {
    gotoXY(j, 0);
    LcdWrite(1, 0x01);
  }

  for(j = 0; j &lt; 84; j++) //Bottom
  {
    gotoXY(j, 5);
    LcdWrite(1, 0x80);
  }

  for(j = 0; j &lt; 6; j++) // Right
  {
    gotoXY(83, j);
    LcdWrite(1, 0xff);
  }

  for(j = 0; j &lt; 6; j++) // Left
  {
    gotoXY(0, j);
    LcdWrite(1, 0xff);
  }
}

void Scroll(String message)
{
  for (int i = scrollPosition; i &lt; scrollPosition + 11; i++)
  {
    if ((i &gt;= message.length()) || (i &lt; 0))
    {
      LcdCharacter(' ');
    }
    else
    {
      LcdCharacter(message.charAt(i));
    }
  }
  scrollPosition++;
  if ((scrollPosition &gt;= message.length()) &amp;&amp; (scrollPosition &gt; 0))
  {
    scrollPosition = -10;
  }
}

void setup(void)
{
  LcdInitialise();
  LcdClear();
  drawBox();

  gotoXY(7,1);
  LcdString(&quot;Nokia 5110&quot;);
  gotoXY(4,2);
  LcdString(&quot;Scroll Demo&quot;);
}

void loop(void)
{
  gotoXY(4,4);
  Scroll(&quot;Scrolling Message from MindKits.co.nz / blog.stuartlewis.com&quot;);
  delay(200);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.stuartlewis.com/2011/02/12/scrolling-text-with-an-arduino-and-nokia-5110-screen/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://blog.stuartlewis.com/2011/02/12/scrolling-text-with-an-arduino-and-nokia-5110-screen/</feedburner:origLink></item>
		<item>
		<title>Life used to be so simple / unconfigurable</title>
		<link>http://feedproxy.google.com/~r/stuartlewis/~3/J19rdZ600fU/</link>
		<comments>http://blog.stuartlewis.com/2011/01/28/life-used-to-be-so-simple-unconfigurable/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 06:23:40 +0000</pubDate>
		<dc:creator>Stuart</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dspace]]></category>
		<category><![CDATA[repositories]]></category>

		<guid isPermaLink="false">http://blog.stuartlewis.com/?p=655</guid>
		<description><![CDATA[I had a spare hour this afternoon, so I thought I&#8217;d take a quick look at how dspace.cfg has changed over time. Anyone who has had the pleasure of looking after a DSpace server will know about dspace.cfg. It is the main configuration file for DSpace where many of the configurable options reside. These vary [...]]]></description>
			<content:encoded><![CDATA[<p>I had a spare hour this afternoon, so I thought I&#8217;d take a quick look at how dspace.cfg has changed over time.  Anyone who has had the pleasure of looking after a <a href="http://dspace.org/">DSpace</a> server will know about dspace.cfg.  It is the main configuration file for DSpace where many of the configurable options reside.  These vary from core settings such as the name of your database server or mail server, to minor tweaks that make differences to your repository that nobody would ever notice!</p>
<p>DSpace 1.7 has just been released, and as it stands, dspace.cfg is a whopping 2268 lines long, containing over 200 required or preset configuration options, and a further 250+ optional parameters.  That&#8217;s quite a configuration file!</p>
<p>(It&#8217;s not so bad though &#8211; to get a new system up and running requires less than 5 settings to be edited to match your local environment.  The rest are there for a rainy day.)</p>
<p>But&#8230; how has it grown over time?</p>
<ul>
<li>Version 1.0: 31 required / preset, 2 optional</li>
<li>Version 1.1: 30 required / preset, 5 optional (-1, +3)</li>
<li>Version 1.2: 34 required / preset, 9 optional (+4, +4)</li>
<li>Version 1.3: 55 required / preset, 32 optional (+21, +23)</li>
<li>Version 1.4: 101 required / preset, 58 optional (+46, +26)</li>
<li>Version 1.5 : 157 required / preset, 104 optional (+56, +46)</li>
<li>Version 1.6: 195 required / preset, 227 optional (+38, +123)</li>
<li>Version 1.7: 215 required / preset, 257 optional (+20, +30)</li>
</ul>
<p>Or if you want to see it as a chart:</p>
<p><a href="http://blog.stuartlewis.com/wp-content/uploads/2011/01/dspacecfg.jpg"><img class="aligncenter size-full wp-image-657" title="dspace.cfg" src="http://blog.stuartlewis.com/wp-content/uploads/2011/01/dspacecfg.jpg" alt="" width="550" height="336" /></a><em><small>(N.B.: The gaps in between each release do not always reflect the amount of time or code changes in that version, but as a subversion repository as a whole.  The darker area are the number of required / preset configuration options, and the lighter shaded area the optional settings.  The number of optional settings is a rough calculation, looking in the configuration file for any line that starts with a &#8216;#&#8217; (a comment) and contains and equals sign.)</small></em></p>
<p>That&#8217;s obviously quite a change &#8211; from humble beginnings.  I think everyone agrees that something needs to be done to help the system administrator / repository manager navigate and understand the plethora of configuration options.  However there are many different options / preferences / views about how this is best tackled: multiple configuration files, configuration stored in the database, configuration managed via spring services, DSpace installers, etc. One will have to win&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stuartlewis.com/2011/01/28/life-used-to-be-so-simple-unconfigurable/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.stuartlewis.com/2011/01/28/life-used-to-be-so-simple-unconfigurable/</feedburner:origLink></item>
		<item>
		<title>Recent writing</title>
		<link>http://feedproxy.google.com/~r/stuartlewis/~3/_9etxNMrBE4/</link>
		<comments>http://blog.stuartlewis.com/2011/01/27/recent-writing/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 07:12:41 +0000</pubDate>
		<dc:creator>Stuart</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[sword]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://blog.stuartlewis.com/?p=644</guid>
		<description><![CDATA[This blog has been pretty quiet over the past few months.  There are a few reasons for that! First, I&#8217;ve been working in my spare time as the Community Manager for the new JISC-funded &#8216;SWORD v2&#8216; project.  The role is partially project-manager (in terms of paperwork, project plans, etc), but mostly community management (managing email [...]]]></description>
			<content:encoded><![CDATA[<p>This blog has been pretty quiet over the past few months.  There are a few reasons for that!</p>
<p>First, I&#8217;ve been working in my spare time as the Community Manager for the new <a href="http://www.jisc.ac.uk/">JISC</a>-funded &#8216;<a href="http://swordapp.org/2010/10/swordv2-project-receives-funding-from-jisc/">SWORD v2</a>&#8216; project.  The role is partially project-manager (in terms of paperwork, project plans, etc), but mostly <a href="http://en.wikipedia.org/wiki/Online_community_manager">community management</a> (managing <a href="http://www.mail-archive.com/sword-app-techadvisorypanel@lists.sourceforge.net/">email lists</a>, creating a <a href="http://swordapp.org/2011/01/sword-technical-advisory-panel/">panel of experts</a>, maintaining a <a href="http://swordapp.org/">web site</a>, writing <a href="http://swordapp.org/tag/swordv2/">blog posts</a>, creating a <a href="http://en.wikipedia.org/wiki/SWORD_(protocol)">wikipedia entry</a>, sending <a href="http://twitter.com/swordapp">twitter updates</a> etc).</p>
<p>In addition, I was commissioned to write a couple of pieces for <a href="http://www.ibm.com/developerworks/">IBM&#8217;s &#8216;DeveloperWorks&#8217; web site</a>:</p>
<ul>
<li><a href="http://www.ibm.com/developerworks/industry/library/ind-edustand3/"><strong>Technical standards in education, Part 3: Open repositories for scholarly communication</strong></a><br />
<em>Enhancing access to research: </em>Universities and research institutions use open repositories             to enhance how they manage the outputs of their research activities, and make             that research available to a worldwide audience. This article outlines the             history and challenges of scholarly communication in today&#8217;s open environment.             It describes some of the different standards and technical challenges relating             to collecting, storing, preserving, transferring, and providing access to             research using open repositories.</li>
<li><strong><a href="http://www.ibm.com/developerworks/industry/library/ind-edustand4/">Technical standards in education, Part 4: Interoperable resource deposit using SWORD</a><br />
</strong><em>Using the SWORD protocol to deposit content into heterogeneous             repositories:<em> </em></em>Open repositories are becoming a key component of the scholarly             communication landscape as they allow cutting edge research to reach wider             audiences. For open repositories to work effectively, they must make use of             common standards to interoperate. A repository ingests new content, either             through its own user interface or through a web service. The Simple             Web-service Offering Repository Deposit (SWORD) protocol is the             standard by which most open repositories allow remote deposit. This article             describes the SWORD protocol, why it was developed, possible use cases,             and an overview of how it works.</li>
</ul>
<p>These two articles are part of a series &#8216;<a href="https://www.ibm.com/developerworks/mydeveloperworks/bookmarks/html?tag=educational_standards&amp;base=http://www.ibm.com/developerworks/library/&amp;dwapp=Technical%20library&amp;lang=en">Technical standards in education</a>&#8216;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stuartlewis.com/2011/01/27/recent-writing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.stuartlewis.com/2011/01/27/recent-writing/</feedburner:origLink></item>
	</channel>
</rss>

