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

<channel>
	<title>Scholars&#039; Lab</title>
	<atom:link href="http://www.scholarslab.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.scholarslab.org</link>
	<description>Works in Progress</description>
	<lastBuildDate>Wed, 22 Feb 2012 20:05:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How do you display TEI documents online?</title>
		<link>http://www.scholarslab.org/digital-humanities/how-do-you-display-tei-documents-online/</link>
		<comments>http://www.scholarslab.org/digital-humanities/how-do-you-display-tei-documents-online/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 20:05:23 +0000</pubDate>
		<dc:creator>Carin Yavorcik</dc:creator>
				<category><![CDATA[Digital Humanities]]></category>
		<category><![CDATA[TEI]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3707</guid>
		<description><![CDATA[As you can see from Zane’s post a few days ago, we’ve been hard at work on our update to TEIDisplay here at UT-Austin. While he’s been working to jive the plugin with the newest version of Omeka, I’ve been thinking more about how this tool will be used. While I’ve studied TEI and used it in&#8230;. <a href="http://www.scholarslab.org/digital-humanities/how-do-you-display-tei-documents-online/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>As you can see from <a href="http://www.scholarslab.org/tei/commentary-on-migrating-an-omeka-site/">Zane’s post a few days ago</a>, we’ve been hard at work on our update to <a href="http://omeka.org/codex/Plugins/TeiDisplay">TEIDisplay</a> here at UT-Austin. While he’s been working to jive the plugin with the newest version of Omeka, I’ve been thinking more about how this tool will be used. While I’ve studied TEI and used it in a few distinct scenarios, I’m still a newcomer to the world of digital humanities. In order to make the best product possible, we need more feedback from our potential users – you! I’ve put up a post over at <a href="http://digitalhumanities.org/answers/">DH Answers</a> to learn more about what TEI display tools (if any) people are using, and what features are most important. <a href="http://digitalhumanities.org/answers/topic/how-do-you-display-tei-documents-online?replies=1#post-1525">Please join the conversation by giving us your feedback!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/digital-humanities/how-do-you-display-tei-documents-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Models are Done!</title>
		<link>http://www.scholarslab.org/praxis-program/the-models-are-done/</link>
		<comments>http://www.scholarslab.org/praxis-program/the-models-are-done/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 19:23:49 +0000</pubDate>
		<dc:creator>Annie Swafford</dc:creator>
				<category><![CDATA[Praxis Program]]></category>
		<category><![CDATA[Coffee Script]]></category>
		<category><![CDATA[Praxis]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3699</guid>
		<description><![CDATA[Great news! All parts of our data model are now in Rails!  We used the Ruby gem Devise for the user model, and Prism now has user account capabilities (and the links for &#8220;sign in,&#8221; &#8220;sign out,&#8221; and &#8220;sign up&#8221; on the homepage)! The documents are also in the system and each has its own&#8230;. <a href="http://www.scholarslab.org/praxis-program/the-models-are-done/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>Great news! All parts of our data model are now in Rails!  We used the Ruby gem Devise for the user model, and Prism now has user account capabilities (and the links for &#8220;sign in,&#8221; &#8220;sign out,&#8221; and &#8220;sign up&#8221; on the homepage)! The documents are also in the system and each has its own page, and we have also created the Markings, Facets, and Prism models so we&#8217;re now set up to start building the highlighting functionality.  All of our tests pass, and apparently 98% of our code has tests written for it (thanks to Wayne for incorporating the Ruby gem Simplecov to give us this information), so we&#8217;re in good shape.  After Eric&#8217;s <a href="http://praxis.scholarslab.org/topics/intro-to-javascript/">helpful Coffee Scripting session</a>, I&#8217;ve been watching lots of screencasts to make sure I feel comfortable writing Coffee Script myself. At this point, I know how to convert Javascript to Coffee Script, but I&#8217;m not adept at writing it myself from scratch.  I&#8217;ve been brainstorming algorithms for the highlighting recently, and I hope to start trying to program them over the next week.  I&#8217;ll write about my foray into <a href="http://www.scholarslab.org/slab-code/teaching-coffeescript/">Coffee Scripting land</a> next week!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/praxis-program/the-models-are-done/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teaching CoffeeScript</title>
		<link>http://www.scholarslab.org/slab-code/teaching-coffeescript/</link>
		<comments>http://www.scholarslab.org/slab-code/teaching-coffeescript/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 14:02:47 +0000</pubDate>
		<dc:creator>Wayne Graham</dc:creator>
				<category><![CDATA[Praxis Program]]></category>
		<category><![CDATA[SLab Code]]></category>
		<category><![CDATA[CoffeeScript]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Praxis]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3664</guid>
		<description><![CDATA[As the Prism project has progressed, one of the technologies we kept pushing off teaching was JavaScript. We knew this is one of the core languages that they would need to learn to actually work with the browser, but kept trying to determine the best way to actually introduce JavaScript in a way that would&#8230;. <a href="http://www.scholarslab.org/slab-code/teaching-coffeescript/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>As the Prism project has progressed, one of the technologies we kept pushing off teaching was JavaScript. We knew this is one of the core languages that they would need to learn to actually work with the browser, but kept trying to determine the best way to actually introduce JavaScript in a way that would minimize bugs, and not discourage their development efforts. We had been working with the group as a whole introducing them to object oriented thinking with Ruby, but  recognized a huge context switch between writing in Ruby&#8217;s (and Rails) <a href="http://en.wikipedia.org/wiki/Object-oriented_programming">object oriented</a> programming style to JavaScript&#8217;s <a href="http://en.wikipedia.org/wiki/Prototype-based_programming">prototype-based</a> style.</p>
<p>One of the other issues we discussed was how to best teach &#8220;good&#8221; practices with JavaScript. The language constructs can get you in to a lot of hot water pretty quickly. You may have seen this, but a classic example of this is in the difference in the side Doug Crockford&#8217;s <em>JavaScript: The Good Parts</em> and David Flanagan&#8217;s <em>JavaScript: The Definitive Guide</em>.</p>
<p><img class="alignnone" title="JavaScript the Good Parts vs JavaScript the Definitive Guide" src="http://img.anongallery.org/img/2/0/javascript-the-good-parts-the-definitive-guide.jpg" alt="" width="600" height="450" /></p>
<p>This is a bit of an absurd comparison, but it does highlight that there is a big discrepancy in what JavaScript is capable of and what it is actually good at. There are just some things that JavaScript implements in a weird way. A crazy example of this is something like the following:</p>
<pre class="brush: jscript; title: ; notranslate">

console.log(++[[]][+[]]+[+[]])
</pre>
<p>If you guessed this expression evaluates to 10, you are correct.</p>
<p>There are a variety of other pain points that are common in JavaScript applications; case sensitivity, hard line breaks (they are interpreted as as line-ending semi-colons), extra commas (<a href="http://www.enterprisedojo.com/2010/12/19/beware-the-trailing-comma-of-death/">IE has fits</a>), global scope creep (e.g. <a href="http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting">hoisting</a>), and issues with <a href="http://www.alistapart.com/articles/getoutbindingsituations">binding</a> (e.g. a missing the this modifier). If you have developed much with JavaScript, you have most likely been bitten by several of these issues (hopefully not at the same time).</p>
<p>As we started planning the project out, we noticed that <a href="https://twitter.com/#!/dhh">@dhh</a> added support for <a href="http://coffeescript.org/">CoffeeScript</a> in the version of Rails (3.1+) we were targeting for the Praxis program. As part of the <a href="http://guides.rubyonrails.org/asset_pipeline.html">Asset Pipeline</a>, Rails will automatically convert CoffeeScript to JavaScript, allowing you to write in a format that is closer to Ruby (with some pesky Python whitespace) that compiles to &#8220;good&#8221; JavaScript. Quite honestly, I wasn&#8217;t sure what to make of CoffeeScript when I first started looking at it. Unlike <a href="http://sass-lang.com/">SASS</a> which immediately changed the way I write CSS, I couldn&#8217;t imagine taking nearly a decade&#8217;s worth of knowledge for developing JavaScript for this crazy scripting language that just compiles down to what I&#8217;ve been writing, and I wasn&#8217;t alone with the other developers in the R&amp;D group.</p>
<p>So what exactly was the turning point? Well, quite honestly after working with it a bit, I have to admit it has some nice features, but perhaps the biggest draw is the fact that it doesn&#8217;t require a big context switch in different modes of development. The other big draw is that the JavaScript that is generated is a better quality (<a href="http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth">uses the module pattern</a>), has <a href="http://coffeescript.org/#splats">splats</a>, <a href="http://coffeescript.org/#loops">comprehensions</a>, takes care of scoping, the fat arrow (=&gt;) can evaluate the &#8216;<a href="http://www.digital-web.com/articles/scope_in_javascript/">this</a>&#8216; keyword properly for function binding, and the <a href="http://coffeescript.org/#operators">existential operator</a>. There has been a lot of hype behind this, and Sam Stephenson (37Signals) made a great argument for using the language at the Future of Web Apps in London (2011).</p>
<p><iframe src="http://player.vimeo.com/video/35258313?title=0&amp;byline=0&amp;portrait=0" frameborder="0" width="400" height="300"></iframe></p>
<p><a href="http://vimeo.com/35258313">Better JS with CoffeeScript &#8211; Sam Stephenson (37signals)</a> from <a href="http://vimeo.com/user10059996">Louise Morgan</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Eric has walked the group through an <a href="http://praxis.scholarslab.org/topics/intro-to-javascript/">introduction to JavaScript and CoffeeScript</a>, and they seemed receptive to the idea of a language that compiles to JavaScript. So far, nothing has been written for the project in CoffeeScript, but I&#8217;m cautiously optimistic that the JavaScript that will drive most of the interactions will be a bit less buggy (and faster to develop) than it would had we targeted JavaScript for this project.</p>
<p>If you need even more incentive to take a look at CoffeeScript, be sure to take a look at Gary Bernhardt&#8217;s lightening talk from <a href="http://codemash.org/">CodeMash</a> 2012 entitled <a href="https://www.destroyallsoftware.com/talks/wat">Wat</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/slab-code/teaching-coffeescript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Commentary on Migrating an Omeka Site</title>
		<link>http://www.scholarslab.org/tei/commentary-on-migrating-an-omeka-site/</link>
		<comments>http://www.scholarslab.org/tei/commentary-on-migrating-an-omeka-site/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 23:00:18 +0000</pubDate>
		<dc:creator>zschwarzlose</dc:creator>
				<category><![CDATA[TEI]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[omeka]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[TEIDisplay]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3690</guid>
		<description><![CDATA[This week, for the TEIDisplay project, I migrated an existing Omeka installation to another server for Carin and me to use as our development sandbox. (We could have also locally installed an Omeka collection on our computers, but I wanted to make sure we were always wading through the same river.) I found some good&#8230;. <a href="http://www.scholarslab.org/tei/commentary-on-migrating-an-omeka-site/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>This week, for the TEIDisplay project, I migrated an existing Omeka installation to another server for Carin and me to use as our development sandbox. (We could have also locally installed an Omeka collection on our computers, but I wanted to make sure we were always wading through the same river.)</p>
<p>I found some good documentation on <a href="http://omeka.org/codex/Moving_to_Another_Server" target="_blank">moving installations of Omeka</a> between servers, but I wanted to add some commentary to these instructions. Institutions might use these instructions and commentary when they wish to upgrade servers or change hosts for their Omeka sites.</p>
<p><strong>First, install a new version of Omeka on your new server.</strong><br />
Carin and I needed to complete this step so we were sure we were using the latest version of Omeka. The <a href="http://omeka.org/codex/Installation" target="_blank">steps for installing Omeka</a> are well documented. I should note that several web hosting companies offer one-click installations of Omeka. This might a preferable option for information professionals lacking technical expertise.</p>
<p><strong>Second, export your existing database file.</strong><br />
In a moment, we&#8217;re going to copy all of your files from your old server to your new server. Intuitively, you might think that the database file storing your collections would be moved along with those files. Unfortunately, that is not the case. <a href="http://omeka.org/codex/Backing_up_an_Omeka_Database" target="_blank">Export your database file using these instructions.</a></p>
<p><span style="text-decoration: underline">Please note: these instructions don&#8217;t remind you that you need to update the host, user name, password, and database name fields in the database file before importing it into your new server. Make these changes.</span></p>
<p><strong>Third, import your modified database into your new database on the new server.</strong><br />
You can import these database commands from phpMyAdmin or the command line. It is important to note that if you don&#8217;t change some of the information described above, your tables will still get created. Things will appear to be happening. This is not the case.Your database will not be able to talk to your new server.</p>
<p><strong>Fourth, copy all of your files from your previous installation to a hard drive.</strong><br />
Get the FTP information for your old server (host name, user, and password.) Use an FTP program to copy these files. Preserve your file structure. Highlight your entire file directory for the site and copy it while preserving the file structure. Moving the files might take some time. (6 hours in my case!) Much of this time is taken by the archival quality image files. Don&#8217;t worry.</p>
<p>If your FTP program stops working in the middle of the transfer, don&#8217;t worry. You might have just disconnected from the Internet for a second. Alternately, some hosting companies throttle your connection if you&#8217;re taking up too much bandwidth. Just reconnect to your FTP program and restart the transfer where you started.</p>
<p><strong>Fifth, copy the files on your hard drive to your new server.</strong><br />
Get the FTP information for your old server (host name, user, and password.) Highlight the entire file directory for the old site (stored on your hard drive) and copy it to the new site. Be sure to overwrite existing files and folders.</p>
<p>You now have made a copy of an Omeka installation on a new server. Your user names and passwords will be the same as for the previous installation.</p>
<p>Aside from reactivating plug ins and themes, the most prevalent problem I saw in this process were servers write-protecting the database file. This means that the file db.ini in the root directory will remain the default file despite you trying to overwrite it. There are many ways to fix this problem, but you can just delete the default db.ini file from your root directory and then transfer the db.ini from your hard drive.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/tei/commentary-on-migrating-an-omeka-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All Hail the Workplan!: Accountability and Collaborative Research</title>
		<link>http://www.scholarslab.org/digital-humanities/all-hail-the-workplan-accountability-and-collaborative-research/</link>
		<comments>http://www.scholarslab.org/digital-humanities/all-hail-the-workplan-accountability-and-collaborative-research/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 18:22:59 +0000</pubDate>
		<dc:creator>bnl2ja</dc:creator>
				<category><![CDATA[Digital Humanities]]></category>
		<category><![CDATA[Grad Fellows]]></category>
		<category><![CDATA[Praxis Program]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[project-management]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3670</guid>
		<description><![CDATA[In our first official meeting as Project Managers, Sarah and I drew a line on the whiteboard that had two distinct endpoints &#8211; a start and a finish. The start point was that day&#8217;s date, January 17th, and the endpoint would be whatever date we could get the group to agree on for Prism&#8217;s launch.&#8230;. <a href="http://www.scholarslab.org/digital-humanities/all-hail-the-workplan-accountability-and-collaborative-research/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>In our first official meeting as Project Managers, Sarah and I drew a line on the whiteboard that had two distinct endpoints &#8211; a start and a finish. The start point was that day&#8217;s date, January 17th, and the endpoint would be whatever date we could get the group to agree on for Prism&#8217;s launch. After briefing the group in <a href="http://praxis.scholarslab.org/topics/project-management/">our project management crash course</a> on the elements of a good workplan, I grabbed a marker, Sarah opened a Google doc, and the great experiment began. We worked backwards from the official release of Prism into the world, setting hard dates for the feature freeze and soft launch, and then drew in key points for each aspect of the project (when the highlighting function will be coded, when the pages will be designed, etc.). And so the workplan was born. The process took something like 90 minutes, but it might have been the most productive 90 minutes I&#8217;ve experienced in Praxis so far.</p>
<p>Though Sarah and I have both freely admitted to our fetishization of deadlines, hard-and-fast deadlines seem to be rare in graduate school. It is not uncommon to ask for, and usually receive, extensions on research papers, even theses (though that involves quite a bit more hoop-jumping), and everyone knows at least one perpetually-dissertating Ph.D. I also don&#8217;t know many graduate students who can set rigid deadlines for themselves and adhere to them without fail.  I don&#8217;t mean to speak judgmentally of my own ilk, but as a species, humanities graduate students seem to be more comfortable with deadlines of a very flexible nature, and for good reason. Our research is often difficult to demarcate into stages, and hours of work are not easy to estimate because the material we examine is rarely quantitative.</p>
<p>I say all this to preface my surprise at the ease in which the Praxis team was collectively able to create and agree on a workplan, as well as at the relief most team members expressed once tasks were clearly assigned to dates on the whiteboard and to people in GitHub, which is what we&#8217;ll be using for workflow management. The readings on project management repeatedly emphasized the value of allowing those responsible for certain aspects of the project to set their own deadlines, and so far Sarah and I have been the only ones to push back a deadline we&#8217;ve set (for writing the About page prose, no less, which you would think would be easy for English grad students). The team has consistently met their deadlines and each specialized group has met to set even more specific goals for their work. Prism is coming along, at warp speed!</p>
<p>I&#8217;m beginning to see the efficacy of group workplans outside of Praxis, too, and this coincides with <a href="http://www.scholarslab.org/digital-humanities/project-management-and-graduate-training/">my earlier post</a> about the possibilities for collaborative work available to graduate students who seek them. I am currently one of two representatives for Master&#8217;s students on the Graduate English Students Association board, and we&#8217;ve organized a thesis work group in response to a request at last semester&#8217;s department town hall meeting. I expected the group to be very lax, meeting biweekly to check in and sound off, but the group quickly decided to meet weekly, share work frequently, and set rigid deadlines; our task for this week&#8217;s meeting is to devise a thesis syllabus, a workplan for thesis research for the semester. I was not expecting this level of enthusiasm for deadlines and accountability from a room full of second-year MAs -  many of whom are distracted by job-hunting or, like me, the medieval torture chamber that is Ph.D. program admissions -  but even outside of DH projects, it seems that graduate students <em>want</em>  to work collaboratively because being accountable to a group, the joys and shames of having to report your successes and your failures to peers, can be a very powerful motivator.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/digital-humanities/all-hail-the-workplan-accountability-and-collaborative-research/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Update to TEIDisplay for Omeka</title>
		<link>http://www.scholarslab.org/digital-humanities/an-update-to-teidisplay-for-omeka/</link>
		<comments>http://www.scholarslab.org/digital-humanities/an-update-to-teidisplay-for-omeka/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 16:38:08 +0000</pubDate>
		<dc:creator>Carin Yavorcik</dc:creator>
				<category><![CDATA[Digital Humanities]]></category>
		<category><![CDATA[TEI]]></category>
		<category><![CDATA[omeka]]></category>
		<category><![CDATA[TEIDisplay]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3623</guid>
		<description><![CDATA[This spring, my colleague Zane Schwarzlose and I are working on an update to the TEIDisplay plugin for Omeka, developed by Ethan Gruber at the Scholars’ Lab. While it’s a great tool, it was developed as part of previous versions of Omeka. Even then, it was at times difficult to use, and some TEI elements&#8230;. <a href="http://www.scholarslab.org/digital-humanities/an-update-to-teidisplay-for-omeka/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>This spring, my colleague Zane Schwarzlose and I are working on an update to the TEIDisplay plugin for Omeka, developed by Ethan Gruber at the Scholars’ Lab. While it’s a great tool, it was developed as part of previous versions of Omeka. Even then, it was at times difficult to use, and some TEI elements did not render correctly. We’re hoping to update the plugin and iron out some of those bugs as we progress.</p>
<p>My first experience using the plugin was last year for an <a href="http://blogs.ischool.utexas.edu/f2011dh/">Introduction to Digital Humanities</a> course at UT-Austin’s School of Information taught by Tanya Clement (also our advisor for this project &#8212; she goes into more detail about the project background <a href="https://www.scholarslab.org/announcements/collaborative-mentoring-at-ut-and-uva-co-developing-an-updated-teidisplay-for-omeka/">here</a>). Dr. Clement asked us to create an Omeka exhibit for a set of correspondences, including images of the original letters as well as TEI documents of marked-up content. It sounds simple enough, but there was a lot of frustrated graduate student Facebook posting going on in the days before the project was due as people ran into unexpected technical difficulties.</p>
<p>Overall, there seem to be two main problems with the plugin. For the majority of the documents, we couldn’t get them to format at all – the entire body of text would wind up in one large paragraph in miniscule font at the top of the page. In a few other cases, the document would format enough to be readable, but it wouldn’t pick up the finer details of the TEI tags. For example, &lt;p&gt; tags would result in paragraph breaks, but &lt;sic&gt; and &lt;corr&gt; elements wouldn’t display– so something like “&lt;choice&gt;&lt;sic&gt;sndstorms &lt;/sic&gt;&lt;corr&gt;sandstorms &lt;/corr&gt;&lt;/choice&gt;” would show up as “sndstormssandstorms” in the body of the text. Though this seems like a relatively easy XSLT fix, we imagine other fixes (even possibly this one) may not be so straightforward.</p>
<p>Throughout the project, Zane and I will be documenting our work here at the Scholars’ Lab blog. At the end of the semester, we hope to provide not only an update to the plugin, but also user documentation, including use case scenarios and templates.</p>
<p>We’re going to be seeking input over the next few weeks on how this plugin would work in an ideal world, and we need your help! Look for a more formal survey soon, but in the meantime, let us know your thoughts in the comments – what are you looking for in a simple, out-of-the-box TEI display tool?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/digital-humanities/an-update-to-teidisplay-for-omeka/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>teaching prism how to speak spanish and french</title>
		<link>http://www.scholarslab.org/praxis-program/teaching-prism-how-to-speak-spanish-and-french/</link>
		<comments>http://www.scholarslab.org/praxis-program/teaching-prism-how-to-speak-spanish-and-french/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 15:48:10 +0000</pubDate>
		<dc:creator>elotroalex</dc:creator>
				<category><![CDATA[Praxis Program]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[internationalization]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3651</guid>
		<description><![CDATA[Well, it looks like me and Annie will go on different development branches for a few weeks. I have been assigned the noble task of teaching Prism how to speak Spanish and French. The goal is to give the tool the largest possible reach on day one. Internationalization has always been one of my hot-button&#8230;. <a href="http://www.scholarslab.org/praxis-program/teaching-prism-how-to-speak-spanish-and-french/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>Well, it looks like me and Annie will go on different development branches for a few weeks. I have been assigned the noble task of teaching Prism how to speak Spanish and French. The goal is to give the tool the largest possible reach on day one. Internationalization has always been one of my hot-button issues for a while, given that I hail from and engage with the global south, where <a href="http://www.insidehighered.com/blogs/globalisation-digital-humanities-uneven-promise" target="_blank">the digital divide and the digital humanities divide</a> is more visible.    </p>
<p>So far the tool I&#8217;m working with is the <a href="http://guides.rubyonrails.org/i18n.html" title="i18n guide" target="_blank">I18n</a> gem which comes bundled with rails. The tool will make it easy for us to translate the interface. I18n so far seems very straightforward. I am creating YAML documents for each language. The YAML documents assign keys or placeholder names (kind of like variables) to all the strings that need to be translated in the views. Instead of writing strings directly in the views, we will write the placeholders. Depending on the <em>locale</em> that is selected, the placeholders will fetch the appropriate strings from the YAML files. Pretty simple! [crosses fingers nervously]. Besides the ability to abstract strings from their context, I18n also takes care of date and currency formats. Not that we will need the latter, though it&#8217;s nice to know we could make it all about the <em>pesos</em> if we wanted to.</p>
<p>Adding sample texts in French and Spanish remains a decision for the future, given our time constraints. I&#8217;m working as fast as I can to develop the i18n functionality, so that we do have time, but there is no guarantee. Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/praxis-program/teaching-prism-how-to-speak-spanish-and-french/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Collaborative mentoring at UT &amp; UVa: co-developing an updated TEIDisplay for Omeka</title>
		<link>http://www.scholarslab.org/announcements/collaborative-mentoring-at-ut-and-uva-co-developing-an-updated-teidisplay-for-omeka/</link>
		<comments>http://www.scholarslab.org/announcements/collaborative-mentoring-at-ut-and-uva-co-developing-an-updated-teidisplay-for-omeka/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 15:43:04 +0000</pubDate>
		<dc:creator>tclement</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Digital Humanities]]></category>
		<category><![CDATA[TEI]]></category>
		<category><![CDATA[omeka]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3635</guid>
		<description><![CDATA[In partial answer to Bethany&#8216;s charge in her recent ProfHacker piece &#8220;it starts on day one,&#8221; I&#8217;m very excited to introduce a cross-institutional effort  between the Scholars&#8217; Lab and the School of Information at UT-Austin to mentor two UT graduate students in the iSchool as they work to develop a DH tool for the DH community. The&#8230;. <a href="http://www.scholarslab.org/announcements/collaborative-mentoring-at-ut-and-uva-co-developing-an-updated-teidisplay-for-omeka/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>In partial answer to <a href="http://www.scholarslab.org/author/bethany/">Bethany</a>&#8216;s charge in her recent ProfHacker piece &#8220;<a title="it starts on day one" href="http://chronicle.com/blogs/profhacker/it-starts-on-day-one/37893" target="_blank">it starts on day one</a>,&#8221; I&#8217;m very excited to introduce a cross-institutional effort  between the Scholars&#8217; Lab and the School of Information at UT-Austin to mentor two UT graduate students in the iSchool as they work to develop a DH tool for the DH community. The project will have two corresponding parts based on the background and interest of the students. <a href="http://www.scholarslab.org/author/zschwarzlose/">Zane Schwarzlose</a>, whose background includes extensive experience in developing with PhP and JavaScript will work to enhance <a href="https://github.com/scholarslab/TeiDisplay">TEIDisplay</a>, an Omeka plugin originally written by Ethan Gruber at the Scholars&#8217; Lab, that allows users to upload and display searchable <a href="http://www.tei-c.org/">TEI texts</a> within the <a href="http://omeka.org">Omeka</a> environment. <a href="http://www.scholarslab.org/author/cyavorcik/">Carin Yavorcik</a>, an emerging archivist, will create TEI templates as well as user documentation so that the new tool will be useful not only to the many cultural institutions that Omeka serves but also to instructors who are looking for an environment within which they can teach the integral ways in which a TEI text can function as a cross-platform representation of text.</p>
<p>The collaboration makes sense on many levels, but here are two that surface readily:</p>
<ol>
<li>These are complex technologies that function in a complex social and cultural system. We can meet the development needs because we represent institutions with different institutional missions, different (though like-minded) communities, with different resources.</li>
<li> Our students, who will seek jobs in which they work collaboratively in different institutional missions, from the perspective of different (though like-minded) communities, with different resources, must be prepared to meet these challenges within a network of a the wider DH community.</li>
</ol>
<p>If we believe in a basic DH tenet that making is a theoretically framed activity that helps deepen our understanding of our cultural artifacts and our modes of knowledge production, we must instill, as Bethany so aptly articulates, &#8221;a can-do, maker’s ethos&#8221; in students who will feel &#8220;<em>empowered to build and re-build</em> the systems in which they and future students will operate.&#8221; To further this cause, we must also instill a second basic DH tenet in our community of scholars, makers, and teachers: we must pool our resources, both technical and academic, and develop our technologies (such as the TEI and Omeka) and mentor our students, together.</p>
<p>Both Carin and Zane will blog regularly in this space as the project develops. Onward ho, ya&#8217;ll.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/announcements/collaborative-mentoring-at-ut-and-uva-co-developing-an-updated-teidisplay-for-omeka/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Done is the engine of more.</title>
		<link>http://www.scholarslab.org/digital-humanities/done-is-the-engine-of-more-2/</link>
		<comments>http://www.scholarslab.org/digital-humanities/done-is-the-engine-of-more-2/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 07:22:43 +0000</pubDate>
		<dc:creator>sas3ca</dc:creator>
				<category><![CDATA[Digital Humanities]]></category>
		<category><![CDATA[Praxis Program]]></category>
		<category><![CDATA[internationalization]]></category>
		<category><![CDATA[praxis program]]></category>
		<category><![CDATA[Prism]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3613</guid>
		<description><![CDATA[(My title is not mine! It is lovingly borrowed from Bre Pettis and Kio Stark&#8217;s &#8220;Cult of Done Manifesto&#8221;) I love lists almost as much as I love agendas and program management in general. Here is a status update in list form for you, Dear Reader. And Team, please feel free to expand/clarify/correct the following:&#8230;. <a href="http://www.scholarslab.org/digital-humanities/done-is-the-engine-of-more-2/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>(My title is not mine! It is lovingly borrowed from Bre Pettis and Kio Stark&#8217;s <a href="http://www.brepettis.com/blog/2009/3/3/the-cult-of-done-manifesto.html" target="_blank">&#8220;Cult of Done Manifesto&#8221;</a>)</p>
<p>I love lists almost as much as I love agendas and program management in general. Here is a status update in list form for you, Dear Reader. And Team, please feel free to expand/clarify/correct the following:</p>
<p>1. We have finalized the texts we&#8217;re going to be uploading into Prism for first-round users. Today, some of us tested a few of the suggested &#8220;highlighting&#8221; categories with help from our low-tech friends: transparencies, markers, and photocopies. Ed, Brooke, Annie, and I will be reviewing and revising categories over the next few days, and the entire Praxis team is invited to test our new suggestions this coming week.</p>
<p style="text-align: center"><a title="slab6 by praxis11-12, on Flickr" href="http://www.flickr.com/photos/72018725@N07/6798750351/"><img src="http://farm8.staticflickr.com/7142/6798750351_8941df7f90.jpg" alt="slab6" width="500" height="375" /></a></p>
<p>2. The development team met their latest milestone goal: authentication and authorization for the Prism site is a go! User accounts! Ding!</p>
<p style="text-align: center"><a title="slab8 by praxis11-12, on Flickr" href="http://www.flickr.com/photos/72018725@N07/6798750829/"><img src="http://farm8.staticflickr.com/7027/6798750829_65e43bbd43.jpg" alt="slab8" width="400" height="265" /></a></p>
<p>3.<a href="http://www.scholarslab.org/praxis-program/final-prism-wireframes/" target="_blank"> As Lindsay notes</a>, the wireframes (and thus, for the most part, the user story), are finalized. Design wizzes (plural of wiz?) Ed and Lindsay have been rocking out on the front-end work: Ed continues to wow us with his aesthetic brilliance (see his<a href="http://www.scholarslab.org/digital-humanities/teasing-the-blogosphere/" target="_blank"> &#8220;striptease&#8221; post</a> of Jan 26), while Lindsay works on making the dream a reality via CSS/HTML.</p>
<p>4. We&#8217;ve been inspired by the recent trend toward internationalizing Ruby on Rails applications, and have nominated the most Continental of our Fellows, Alex, to the position of Internationalization Expert(-to-be). I&#8217;m sure you&#8217;ll be hearing more from him about this exciting new development in the near future.</p>
<p>5. Finally, on a more personal note: I continue to enjoy how much time I get to spend with my colleagues while we work toward a common goal. Collaborative ventures certainly pose some challenges that would be non-issues in individual project contexts, but I think we&#8217;re all benefiting from learning how to work not only with digital tools but also with one another. The Fellows&#8217; lounge was busy busy busy today&#8211;and that&#8217;s the way we like it!</p>
<p style="text-align: center"><a title="slab7 by praxis11-12, on Flickr" href="http://www.flickr.com/photos/72018725@N07/6798750557/"><img src="http://farm8.staticflickr.com/7170/6798750557_5c239e0802.jpg" alt="slab7" width="500" height="375" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/digital-humanities/done-is-the-engine-of-more-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Final&#8221; Prism Wireframes</title>
		<link>http://www.scholarslab.org/praxis-program/final-prism-wireframes/</link>
		<comments>http://www.scholarslab.org/praxis-program/final-prism-wireframes/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 12:22:45 +0000</pubDate>
		<dc:creator>Lindsay</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Praxis Program]]></category>
		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3576</guid>
		<description><![CDATA[Despite whatever I might have said in previous blog posts, coding was quite a challenge for me and not something I could see myself devoting sustained attention to, so I was pleased to find some inkling of intuition about graphic design. My days of designing my high school newspaper on antiquated Adobe software suddenly became&#8230;. <a href="http://www.scholarslab.org/praxis-program/final-prism-wireframes/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>Despite whatever I might have said in previous blog posts, coding was quite a challenge for me and not something I could see myself devoting sustained attention to, so I was pleased to find some inkling of intuition about graphic design. My days of designing my high school newspaper on antiquated Adobe software suddenly became relevant, and all the time I waste perusing Fab.com and looking for affordable mid-century housewares on Craigslist can now be called “design research.” With lots of help from Jeremy and the internets, a Prism homepage is in development, complete with a header and footer and floated text and working links. Of course we’ll need to do a lot more than that to get this thing looking nearly as good as some of Ed’s designs in Adobe Illustrator, but I finally have some sense of what it will take, and with so many others on the Praxis team interested in design, it all seems possible.</p>
<p>Since I’m so new to HTML and CSS, I have no shame about asking for help with the smallest issues (like italicizing text) or with far-reaching errors (the whole page is the body?!), but I also have no shame about celebrating the smallest successes (rounded corners!). In addition to a few meetings with Jeremy, Ed’s great ideas and Illustrator skills and Annie and David’s HTML knowledge have helped me make progress. People are probably going to start sending me “Let me Google that for You” links pretty soon, but at least right now, I’m feeling warm and fuzzy and collaborative. On Monday morning, Brooke, Sarah, Jeremy, Ed, and I worked through the wireframes for Prism one more time. We had some drafts from the end of last semester, but some decisions about how the tool will work have affected how the site will look, so we revisited our wireframes and got them in good enough shape to present to the whole team on Tuesday. This picture shows what we came up with. It doesn’t look like much, but I think we all feel pretty accomplished now that we have a “clean” and simple form to design on.</p>
<p><img src="https://lh5.googleusercontent.com/-DIJdjJ0oVO0/TyCxvmcebKI/AAAAAAAABLI/sO8a6Xs9bnA/s640/wireframes.jpg" width="90%"></p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/praxis-program/final-prism-wireframes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teasing the Blogosphere</title>
		<link>http://www.scholarslab.org/digital-humanities/teasing-the-blogosphere/</link>
		<comments>http://www.scholarslab.org/digital-humanities/teasing-the-blogosphere/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 12:21:44 +0000</pubDate>
		<dc:creator>edward.triplett</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Digital Humanities]]></category>
		<category><![CDATA[Praxis Program]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3537</guid>
		<description><![CDATA[Describing visual work in a blog without being able to reveal the images is more than challenging: it&#8217;s boring. After we discussed this issue in our most recent Praxis meeting, the group suggested I post a Prism striptease. Linked below is a teasingly cropped and subtly altered image of the logo we decided on last&#8230;. <a href="http://www.scholarslab.org/digital-humanities/teasing-the-blogosphere/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>Describing visual work in a blog without being able to reveal the images is more than challenging: it&#8217;s boring. After we discussed this issue in our most recent Praxis meeting, the group suggested I post a Prism striptease. Linked below is a teasingly cropped and subtly altered image of the logo we decided on last week.<br />
<br />
<a href="http://www.flickr.com/photos/28122639@N05/6761706485/" title="logo-ish by curleylarrymoe, on Flickr"><img src="http://farm8.staticflickr.com/7156/6761706485_4915ce8725.jpg" width="277" height="200" alt="logo-ish"></a><br />
<br />
The other images show some renders of a 3D model I created to use as inspiration for the site&#8217;s color palette. The model is of a &#8220;deck prism&#8221; which was used to filter light from above the deck of a ship into the cabins below. The refracted colors that emerge when light passes through the prism can be seen in online images, but the digital model offered a lot more control.<br />
<br />
<a href="http://www.flickr.com/photos/28122639@N05/6761706471/" title="deck+prism7 by curleylarrymoe, on Flickr"><img src="http://farm8.staticflickr.com/7008/6761706471_f431e1339f_m.jpg" width="240" height="180" alt="deck+prism7"></a><br />
<br />
<a href="http://www.flickr.com/photos/28122639@N05/6761706447/" title="deck+prism5 by curleylarrymoe, on Flickr"><img src="http://farm8.staticflickr.com/7016/6761706447_3e9824a05d_m.jpg" width="240" height="180" alt="deck+prism5"></a><br />
</p>
<p><object type="application/x-shockwave-flash" width="500" height="334" data="http://www.flickr.com/apps/video/stewart.swf?v=109786" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&#038;photo_secret=f6170a5428&#038;photo_id=6761716871&#038;flickr_show_info_box=true"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=109786"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=109786" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&#038;photo_secret=f6170a5428&#038;photo_id=6761716871&#038;flickr_show_info_box=true" height="334" width="500"></embed></object></p>
<p>The above video shows the visual options offered by the model of the deck prism.<br />
<br />
While the deck prism is recognizable as an object, its clarity and sharp lines make it a good source of abstract imagery for the site. The model also allowed me to experiment with reflections of the texts we chose as our three highlighting samples. The text was simply applied to a plane directly below the prism in the 3D scene, and the reflections changed on the fly based on the camera position. You can see part of the first line from &#8220;The Raven&#8221; reflected in one of the images below.<br />
<br />
<a href="http://www.flickr.com/photos/28122639@N05/6762343843/" title="Highlighter Palette by curleylarrymoe, on Flickr"><img src="http://farm8.staticflickr.com/7148/6762343843_545f6f5d52.jpg" width="225" height="461" alt="Highlighter Palette"></a><br />
<br />
Finally, the last image shows the highlighter &#8220;palette&#8221; that we used for our wireframe. The boxes are mostly just placeholders, but the colors represent some of the options that came out of the deck prism, and I think the categories we chose for Edgar Allan Poe&#8221;s &#8220;The Raven&#8221; could elicit a thought provoking response from a crowd.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/digital-humanities/teasing-the-blogosphere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>seeking a Senior Research Specialist for SCI</title>
		<link>http://www.scholarslab.org/announcements/sci-opening/</link>
		<comments>http://www.scholarslab.org/announcements/sci-opening/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 16:19:34 +0000</pubDate>
		<dc:creator>Bethany Nowviskie</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[staffing]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3526</guid>
		<description><![CDATA[I&#8217;m pleased to share a formal job posting for an 18-month research-and-writing position with the Scholarly Communication Institute. The posting is limited to current employees of the Unversity of Virginia for four business days, after which it will open more broadly.* It&#8217;s a short-term position, but an excellent opportunity to work with SCI leadership and&#8230;. <a href="http://www.scholarslab.org/announcements/sci-opening/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pleased to share a formal job posting for an 18-month research-and-writing position with the Scholarly Communication Institute. The posting is limited to current employees of the Unversity of Virginia for four business days, after which it will open more broadly.*  It&#8217;s a short-term position, but an excellent opportunity to work with <a href="http://uvasci.org/">SCI</a> leadership and representatives of the following groups: the Scholars&#8217; Lab <a href="http://praxis.scholarslab.org/">Praxis Program</a>, <a href="http://chcinetwork.org/">CHCI</a>, <a href="http://digitalhumanities.org/centernet">centerNet</a>, <a href="http://pressforward.org/">PressForward</a>, the <a href="http://mla.org">Modern Language Association</a>, the <a href="http://scalar.usc.edu/anvc/?page_id=2">Alliance for Networking Visual Culture</a>, the <a href="http://www.acls.org/">ACLS</a>, <a href="http://clir.org">CLIR</a>, and more. The timeframe for our decision is very short, so interested applicants should not delay!</p>
<p><strong>*UPDATE: The position is now open to all qualified candidates.</strong><br />
Please note new URL below!</p>
<blockquote><p><strong>Senior Research Specialist, SCI</strong></p>
<p>The <a href="http://lib.virginia.edu/scholarslab">Scholars&#8217; Lab</a> at the University of Virginia Library <a href="http://jobs.virginia.edu/applicants/Central?quickFind=66407">seeks a senior research specialist</a> for a full-time, 18-month position with the <a href="http://uvasci.org/">Scholarly Communication Institute</a> (SCI).  The ideal candidate will have: excellent research, writing, and organizational skills; familiarity with humanities scholarship at the graduate level; and an interest in experimental approaches to digital authoring and publication or the education of emerging scholars and knowledge workers. Some travel is required, and there is a possibility of a work-from-home arrangement for a professional and thoroughly reliable candidate.</p>
<p>Reporting to UVa Library&#8217;s <a href="http://www.uvasci.org/about-us/steering-committee/bethany-nowviskie/">director of digital research and scholarship</a>, the SCI research specialist will:</p>
<ul>
<li>help design, execute, and analyze a broad-based, anonymous survey of humanities professionals (together with the perceptions of their employers) to examine graduate-level preparation for so-called &#8220;<a href="http://mediacommons.futureofthebook.org/alt-ac/">alternative academic</a>&#8221; careers (20%);</li>
<li>attend and provide research support for three meetings and regular conference calls on new-model publishing and authoring environments, in order to take notes and help compile proceedings and recommendations (15%);</li>
<li>attend and provide research support for two to three meetings centering on the reform of methodological training in the humanities, involving major humanities consortia, professional associations, and funders, to take notes and help compile proceedings and recommendations (15%);</li>
<li>assist in research and organizational tasks related to the development and day-to-day operations of the <a href="http://praxis.scholarslab.org/">Praxis Program</a> at the University of Virginia Library, including the hosting of a gathering to foster inter-institutional collaboration on similar initiatives (20%);</li>
<li>and perform other research and writing tasks as needed by SCI principals (10%).</li>
</ul>
<p>The SCI research specialist will join a <a href="http://scholarslab.org">vibrant and dedicated community</a> of faculty and staff at the Scholars&#8217; Lab, and as such will be eligible for the self-directed &#8220;20% time&#8221; that all team members are granted to pursue professional development and their own (often collaborative) R&#038;D projects.  This is a <a href="http://uvasci.org/current-work">grant-funded position</a> with a salary of approximately $50k per annum and full benefits as a member of the managerial and professional staff of the University of Virginia. The position begins no later than March 1st, 2012 and extends no later than August 31st, 2013.</p>
<p><strong>Experience and Education:</strong> Master&#8217;s degree or higher in fields related to humanities scholarship or information science. Demonstrated ability as a writer and researcher. Project management experience or experience with survey design and analysis desirable.</p></blockquote>
<p>Please <a href="http://jobs.virginia.edu/applicants/Central?quickFind=66487">APPLY ONLINE</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/announcements/sci-opening/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building and Texts</title>
		<link>http://www.scholarslab.org/praxis-program/building-and-texts/</link>
		<comments>http://www.scholarslab.org/praxis-program/building-and-texts/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 19:03:04 +0000</pubDate>
		<dc:creator>Annie Swafford</dc:creator>
				<category><![CDATA[Praxis Program]]></category>
		<category><![CDATA[Praxis]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3519</guid>
		<description><![CDATA[Alex and I finally have something to show for all our work! We built the document model for Prism that allows us to add new texts to the database!  It even passes the tests we built!  We&#8217;re putting the finishing touches on it now, but we should easily make our deadline of this afternoon, so&#8230;. <a href="http://www.scholarslab.org/praxis-program/building-and-texts/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>Alex and I finally have something to show for all our work! We built the document model for Prism that allows us to add new texts to the database!  It even passes the tests we built!  We&#8217;re putting the finishing touches on it now, but we should easily make our deadline of this afternoon, so we can successfully pass it on to the design team.  It&#8217;s exciting that we&#8217;re actually able to put together our rails and ruby knowledge and produce tangible results.  This gives us hope that we will be able to continue to meet our other deadlines and eventually end up with a working project.</p>
<p>Our next programming steps include building a user model and incorporating authentication and authorization (probably using CanCan and Devise ruby gems).  This will be more complicated that what we&#8217;ve produced so far, but we think that with the help of lots of screencasts and ruby gem documentation, we will persevere.</p>
<p>On other prism news, we will officially decide on our texts for Prism today in our meeting!  It&#8217;s all starting to take shape.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/praxis-program/building-and-texts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I love project management</title>
		<link>http://www.scholarslab.org/digital-humanities/why-i-love-project-management/</link>
		<comments>http://www.scholarslab.org/digital-humanities/why-i-love-project-management/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 19:51:32 +0000</pubDate>
		<dc:creator>sas3ca</dc:creator>
				<category><![CDATA[Digital Humanities]]></category>
		<category><![CDATA[Praxis Program]]></category>
		<category><![CDATA[dhsi]]></category>
		<category><![CDATA[praxis program]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[project-management]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3494</guid>
		<description><![CDATA[Last week Brooke and I celebrated our new roles as co-project managers by running our very first Praxis meeting. We had a fairly ambitious agenda, and I must admit that I was a little bit concerned about whether our enthusiastic (debate-loving) group would be able to get through everything we wanted to do, but thanks&#8230;. <a href="http://www.scholarslab.org/digital-humanities/why-i-love-project-management/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>Last week Brooke and I celebrated our new roles as <a href="http://praxis.scholarslab.org/topics/project-management/" target="_blank">co-project managers</a> by running our very first Praxis meeting. We had a fairly ambitious agenda, and I must admit that I was a little bit concerned about whether our enthusiastic (debate-loving) group would be able to get through everything we wanted to do, but thanks to Brooke&#8217;s no-nonsense attitude, our pre-planned strategy, and the team&#8217;s brilliant cooperation, I think we can call our first official act as co-project managers a decided success.</p>
<p>The most important product of our meeting was the project workplan timeline the team collectively created. I know that deadline-lovers Brooke and I feel six hundred times better about how the rest of this semester is going to proceed, but I think everybody is happier knowing exactly what needs to happen and when. I would only be exaggerating slightly to say that it was magical to watch the workplan take shape. Despite the fact that we&#8217;ve all been meeting weekly for an entire semester, as the project has progressed and the design team and programming team have been working more independently of one another, it has been difficult to see how everything fits together. But when we had to agree on deadlines for project milestones (when will we be able to display a text? when will user accounts be ready? when should the highlighting tool be functional?), designers and programmers had to engage in a dialogue about what each group would need from the other in order to meet these goals.</p>
<p>The meeting served as yet another reminder of how absolutely, impossibly lucky I am to be part of this program. As project managers, Brooke and I are ideally positioned to understand how the Praxis Program and our project Prism work as collaborative ventures. It is impossible for every member of the team to keep track of what each subgroup is doing at all times, but it is necessary that project managers do just that. I can&#8217;t wait to get my hands dirty! I&#8217;m sure I speak for both of us when I say that we are thrilled and honored by the trust our team has placed in us. We won&#8217;t let you down!</p>
<p><a href="http://www.scholarslab.org/digital-humanities/project-management-and-graduate-training/" target="_blank">Brooke posted last week</a> about seeking out ways to engage in collaborative work, and I want to point very quickly here to the <a href="http://www.dhsi.org/" target="_blank">Digital Humanities Summer Institute</a>. I attended DHSI last summer, and it certainly didn&#8217;t disappoint on the collaborative front. Brooke and I are both making the trip to Victoria this summer, and I&#8217;m sure she will only find more evidence there of what she&#8217;s seen so far as a graduate student in the humanities: seek collaboration, and you shall find it. If you&#8217;ve never been but always wondered, I highly recommend that you make this the year you join the (collective) fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/digital-humanities/why-i-love-project-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Praxis, MLA 2012 and timeliness</title>
		<link>http://www.scholarslab.org/praxis-program/praxis-mla-2012-and-timeliness/</link>
		<comments>http://www.scholarslab.org/praxis-program/praxis-mla-2012-and-timeliness/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 20:39:53 +0000</pubDate>
		<dc:creator>elotroalex</dc:creator>
				<category><![CDATA[Praxis Program]]></category>
		<category><![CDATA[praxis program]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3413</guid>
		<description><![CDATA[I&#8217;m finally settling back into my C&#8217;ville routine. My last stop this winter break was the MLA convention in Seattle. Like many of my colleagues, I also felt that &#8220;the MLA’s heart (like a post-holiday Grinch) grew at least three sizes over the four days of the 2012 conference.&#8221; While last year echoed a prominent&#8230;. <a href="http://www.scholarslab.org/praxis-program/praxis-mla-2012-and-timeliness/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m finally settling back into my C&#8217;ville routine. My last stop this winter break was the MLA convention in Seattle. Like many of my colleagues, I also felt that &#8220;<a href="http://publishing.umich.edu/2012/01/16/mpub-mla/" title="MPub @ MLA" target="_blank">the MLA’s heart (like a post-holiday Grinch) grew at least three sizes over the four days of the 2012 conference</a>.&#8221; While last year echoed <a href="http://chronicle.com/blogs/brainstorm/pannapacker-at-mla-digital-humanities-triumphant/30915" title="DH Triumphant">a prominent informer</a>&#8216;s assessment that DH was &#8220;the next big thing&#8221; with anxiety, this year felt more like &#8220;Hey, I like that. How do I do it?&#8221; This was especially a good year for those in the business of <a href="http://www.uvasci.org/current-work/" title="SCI" target="_blank">rethinking the future of graduate methods training</a> (ahem, ahem) and of <a href="http://mediacommons.futureofthebook.org/alt-ac/" title="#Alt-ac" target="_blank">graduate futures in general</a>. Needless to say, I felt really great about being part of the first cohort of <a href="http://praxis.scholarslab.org">Praxis</a>.</p>
<p>Saturday evening I had a chance to catch up with one of my early undergraduate mentors. He had questions. He wanted to know what I knew about the DH world. I&#8217;m sure half of his curiosity came out of an earnest desire to hear the tale of my travels. The other half was a shrewd (and responsible) move to build a vocabulary for conversations his department will inevitably have this year with the dean, other departments, the library, etc: Can an isolated DHer work well with limited resources? Do you need a center? How do you get graduate students involved? Our conversation went on for a good three hours and it was very rewarding to offer a candid assessment of the field from where I&#8217;m standing. </p>
<p>I also realized that where I&#8217;m standing is what in battle we would call <em>higher ground</em>. I don&#8217;t mean the privilege of hobnobbing with the enormous DH talent we have on grounds. Nothing, of the sort. Although projects are a whole different affair, you could develop decent DH <em>skills </em>and <em>ideas </em>were you connected from <a href="http://freecabinporn.com/" target="_blank">Pie Town</a>. I mean the privilege of seeing graduate methods transformation first-hand. I agree with <a href="http://www.scholarslab.org/digital-humanities/project-management-and-graduate-training/" target="_blank">Brooke</a> that there is a continuum that links us to analog models in the department (at least at UVa). But the continuum does eventually lead to new ground.</p>
<p>What I&#8217;ve seen, of course, has been well recorded here by all the Praxis bloggers. If this is your first time visiting our site and you are interested in the fresh air blowing our way, I encourage you to <a href="http://www.scholarslab.org/blog/archives/">read more&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/praxis-program/praxis-mla-2012-and-timeliness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Management and Graduate Training</title>
		<link>http://www.scholarslab.org/digital-humanities/project-management-and-graduate-training/</link>
		<comments>http://www.scholarslab.org/digital-humanities/project-management-and-graduate-training/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 17:41:30 +0000</pubDate>
		<dc:creator>bnl2ja</dc:creator>
				<category><![CDATA[Digital Humanities]]></category>
		<category><![CDATA[Grad Fellows]]></category>
		<category><![CDATA[Praxis Program]]></category>
		<category><![CDATA[praxis program]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[project-management]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3416</guid>
		<description><![CDATA[As if on cue, right after I posted last week to call for clear, concrete goals for Prism this semester, Bethany began last week&#8217;s meeting by asking for a Project Manager. Sarah Storti and I quickly volunteered for the job, probably because we share a love of deadlines, self-imposed or otherwise, and work at similar&#8230;. <a href="http://www.scholarslab.org/digital-humanities/project-management-and-graduate-training/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>As if on cue, right after<a href="http://www.scholarslab.org/digital-humanities/looking-forward-to-prism/" target="_blank"> I posted last week</a> to call for clear, concrete goals for Prism this semester, Bethany began last week&#8217;s meeting by asking for a Project Manager. Sarah Storti and I quickly volunteered for the job, probably because we share a love of deadlines, self-imposed or otherwise, and work at similar levels of anxiety without them. Bethany assigned us some weekend reading on Project Management and we convened for &#8220;Projectmanageapalooza&#8221; yesterday to discuss the material and devise a plan for managing this semester&#8217;s hefty workload.</p>
<p>The readings were extremely helpful (see the <a href="http://praxis.scholarslab.org/topics/project-management/" target="_blank">&#8220;Intro to Project Management&#8221; </a>section of Praxis topics for our short list of most helpful resources), especially Brian Croxall&#8217;s<a href="http://chronicle.com/blogs/profhacker/12-basic-principles-of-project-management/31421" target="_blank"> &#8221;12 Basic Principles of Project Management&#8221;</a> and Sharon Leon&#8217;s<a href="http://mediacommons.futureofthebook.org/alt-ac/pieces/project-management-humanists" target="_blank"> &#8220;Project Management for Humanists.&#8221;</a> Both articles stress the PM&#8217;s need to assess the viability/sustainability of a project before it&#8217;s begun, the importance of a clear and flexible workplan that is derived collaboratively and realistically, and the PM&#8217;s responsibility to manage and encourage frequent communication amongst team members and partners. Both articles also begin with a point that has been made quite frequently, but that has not necessarily been my experience as a graduate student so far: that humanities graduate students are not trained to work collaboratively.</p>
<p>While I wholeheartedly agree with Leon, Croxall, and most of the DH community that graduate education must be transformed to<em> formally, explicitly</em> transmit this kind of training to humanities scholars, for the sake of the individual scholar and the profession as a whole, there are many opportunities to work collaboratively as a graduate student, but they must be sought out and are often extracurricular and small-scale. I recognize that it can be very easy to become the scholar/hermit in a graduate program, especially because programs have not yet adapted to encourage collaborative research in the traditional sense (like a tag-team digital dissertation), but collaboration on the most basic level has been ingrained in my daily experience in UVA&#8217;s English department &#8211; from discussion in grad seminars that leads to new research, to collaboratively editing papers and personal statements with peers and faculty mentors alike, to extracurricular activities like the Graduate English Students Association and its conference committee (groups that require quite a bit of PM-type skills).</p>
<p>This is not the kind of training Leon and Croxall are calling for, but my graduate education (so far) has trained me to seek out opportunities to collaborate with others within the department and outside of it (in my work with Praxis and IATH, for example). I have to stress that I do not disagree with the inadequacy of graduate methodological training; if I did, I wouldn&#8217;t be a Praxis Fellow. But I think we can find the basic principles for collaborative research happening already on a very small scale, and it&#8217;s up to graduate students to make collaborative research a priority &#8211; that is, to find those opportunities, seize them, and ask their programs to support them. Pardon the lengthy post; I know I&#8217;m not saying anything new here and I may be totally off-base, but I thought I&#8217;d respond with my experience as a nascent scholar and even-more-nascent member of the DH community.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/digital-humanities/project-management-and-graduate-training/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mapping the Catalogue of Ships</title>
		<link>http://www.scholarslab.org/announcements/mapping-the-catalogue-of-ships/</link>
		<comments>http://www.scholarslab.org/announcements/mapping-the-catalogue-of-ships/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 19:02:40 +0000</pubDate>
		<dc:creator>Bethany Nowviskie</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Digital Humanities]]></category>
		<category><![CDATA[Geospatial and Temporal]]></category>
		<category><![CDATA[Visualization and Data Mining]]></category>
		<category><![CDATA[gis]]></category>
		<category><![CDATA[map]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3395</guid>
		<description><![CDATA[I&#8217;m very pleased to share a guest post by UVa Classics professor Jenny Strauss Clay, describing a new project we&#8217;ve undertaken at the Scholars&#8217; Lab. We&#8217;re excited not only at the opportunity to use GIS techniques to test Professor Clay&#8217;s theories about the relation of ancient geography to mnemonic devices and poetic form, but also&#8230;. <a href="http://www.scholarslab.org/announcements/mapping-the-catalogue-of-ships/">More.</a>]]></description>
			<content:encoded><![CDATA[<p><em>I&#8217;m very pleased to share a guest post by UVa Classics professor <a href="http://www.virginia.edu/classics/clay.html">Jenny Strauss Clay</a>, describing a new project we&#8217;ve undertaken at the Scholars&#8217; Lab.  We&#8217;re excited not only at the opportunity to use GIS techniques to test Professor Clay&#8217;s theories about the relation of ancient geography to mnemonic devices and poetic form, but also at the possibility that this process might assist in the identification of lost archaeological sites. &#8212; Bethany Nowviskie</em></p>
<p>Book Two of the <em>Iliad</em> notoriously contains a list of nearly 190 place names and includes the 29 contingents and that make up the Greek expedition to Troy.  Before launching into an over 250-line catalogue of the leaders of the Greek forces and the number of their ships, Homer appeals to the Muses to aid him in this <em>tour-de-force </em>of memory.  Without their help, he says:</p>
<blockquote><p>I could not recount their numbers nor name them,<br />
Not if I had ten tongues and ten mouths,<br />
And an unbreakable voice and a brazen chest within,<br />
If the Olympian Muses, daughters of aegis-bearing<br />
Zeus, would remind me how many came under Ilium.</p></blockquote>
<p>The Catalogue of Ships that follows this invocation can be mapped as an itinerary, or more precisely, three itineraries that traverse most of Greece.  The theoretical basis for the project I am undertaking with the Scholars&#8217; Lab at the University of Virginia Library is already complete. In my recent book, <em><a href="http://books.google.com/books/about/Homer_s_Trojan_Theater.html?id=d8JTqjNWHOsC">Homer’s Trojan Theater</a></em> (Cambridge University Press, 2011), I argue that Homer was able to recite the Catalogue by creating a mental journey that used the mnemonic techniques involving <em>loci</em> or places, well known from ancient rhetorical writers.  By envisioning a series of places, Homer could mentally walk – or sail – through Greece and produce a detailed catalogue. Our project will reproduce that journey by showing that the itinerary described follows the natural contours of Greek geography and the patterns of early Greek urban organization.</p>
<p>Mapping the Catalogue of Ships involves several steps.  &#8220;Least-cost path&#8221; GIS analysis by the Scholars Lab is revealing the terrain that must naturally be followed when taking a walking tour of the Greek mainland.  We are creating an interactive map that follows that path.  The <em>Barrington Atlas of the Ancient World</em> (2002) as well as the recent <em>Historischer Atlas der antiken Welt</em> (2007), <em>The Homer Encyclopedia</em> (2011) and the <a href="http://pleiades.stoa.org/">Pleiades Project</a>, a collaborative database for ancient sites, have pinpointed locations for which we have evidence.  We will attempt to link the sites mentioned in Homer with archaeological material and useful bibliographies.  Finally, we hope to do <em>in situ</em> investigations by actually traversing the plotted itinerary at ground level to survey the terrain, and create extensive panoramic photography. Our main goal is to demonstrate that the arrangement of the Catalogue, far from a random list of place names, corresponds to the natural geography of Greece.  In cases where the position of a site is unknown or disputed, we hope that our analysis will provide plausible <em>geographical and literary evidence</em> to help identify its location.</p>
<p>Collaborators in this project include Ben Jasnow and Courtney Evans, two of my graduate students who worked with me on the <em><a href="www.homerstrojantheater.org">Trojan Theater</a></em> project and who are assisting with GIS analysis, under the guidance of Chris Gist and Kelly Johnston of the Scholars&#8217; Lab. Wayne Graham and other members of the Scholars&#8217; Lab R&amp;D division are creating a presentational framework for our maps and text, and Jeremy Boggs is our lead designer.</p>
<p>Jenny Strauss Clay<br />
William R. Kenan Jr. Professor of Classics</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/announcements/mapping-the-catalogue-of-ships/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Looking forward to Prism</title>
		<link>http://www.scholarslab.org/digital-humanities/looking-forward-to-prism/</link>
		<comments>http://www.scholarslab.org/digital-humanities/looking-forward-to-prism/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 21:22:56 +0000</pubDate>
		<dc:creator>bnl2ja</dc:creator>
				<category><![CDATA[Digital Humanities]]></category>
		<category><![CDATA[Praxis Program]]></category>
		<category><![CDATA[praxis program]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[project-management]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3387</guid>
		<description><![CDATA[With the end of the semester and year, and all of the accompanying hullabaloo (to use a polite term for it), I wasn&#8217;t able to write my final blog post of the semester, which was going to be a retrospective of my Praxis experience so far. But now it&#8217;s the new year and the new&#8230;. <a href="http://www.scholarslab.org/digital-humanities/looking-forward-to-prism/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>With the end of the semester and year, and all of the accompanying hullabaloo (to use a polite term for it), I wasn&#8217;t able to write my final blog post of the semester, which was going to be a retrospective of my Praxis experience so far. But now it&#8217;s the new year and the new semester is imminent, so it seems more appropriate to look ahead &#8211; and who wants to look like Janus, anyway?</p>
<p>I think it&#8217;s brilliant the way that Praxis has been structured, with one training-intensive semester and the next semester spent &#8211; I&#8217;m assuming &#8211; in executing what we&#8217;ve been theorizing. That&#8217;s not to say that we haven&#8217;t <em>done</em> anything yet; we have produced the programming and design foundations for Prism that we will hammer down and build from in the months to come. There have been days in the grad lounge, though, when I&#8217;ve felt anxious about how much work there is left to do and how difficult it seems to reach concrete goals when our discussions usually raise more questions than they answer. But even if we spend our entire Tuesday mornings arguing/theorizing about what we think Prism should accomplish, our time isn&#8217;t wasted if it means Prism will be (1) a clearly designed tool (2) with a distinguishable thought process that (3) makes a specific intervention.</p>
<p>All of our discussions have addressed at least one of those three points without fail, so our mission in the months ahead is to channel our humanities-inspired zeal for theorizing into reaching the goals we set for Prism in September &#8211; mainly, that we want to produce a working, 1.0 version of Prism by the end of the academic year. To reach that final, rather intimidating endpoint, I&#8217;d like to suggest that the Praxis team begins the new semester by establishing (collaboratively, of course) some real, manageable, short-term goals for the coming weeks.</p>
<p>I&#8217;m beginning to recover from Winter Break Amnesia (I&#8217;m sure our first Praxis meeting tomorrow will quickly bring me back to reality), but I am looking forward to getting back to learning HTML and CSS, to our civilized theoretical arguments in the grad lounge, and to those glorious moments when we (with the help of the gurus) learn how to turn theory into praxis and bring Prism further into the light.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/digital-humanities/looking-forward-to-prism/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generating HTML fixtures using Zend, Omeka, PHPUnit, and Jasmine</title>
		<link>http://www.scholarslab.org/slab-code/generating-html-fixtures-using-zend-omeka-phpunit-and-jasmine/</link>
		<comments>http://www.scholarslab.org/slab-code/generating-html-fixtures-using-zend-omeka-phpunit-and-jasmine/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 13:49:35 +0000</pubDate>
		<dc:creator>dm4fn</dc:creator>
				<category><![CDATA[DH Developer]]></category>
		<category><![CDATA[SLab Code]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3312</guid>
		<description><![CDATA[One of the reasons that testing JavaScript can be so pesky (and perhaps one of the reasons that so little JavaScript is tested&#8230;) is the fact that you have to maintain a library of HTML &#8220;fixtures&#8221; for the tests to run on. What&#8217;s a fixture? Basically, just a little chunk of markup that provides a&#8230;. <a href="http://www.scholarslab.org/slab-code/generating-html-fixtures-using-zend-omeka-phpunit-and-jasmine/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>One of the reasons that testing JavaScript can be so pesky (and perhaps one of the reasons that so little JavaScript is tested&#8230;) is the fact that you have to maintain a library of HTML &#8220;fixtures&#8221; for the tests to run on. What&#8217;s a fixture? Basically, just a little chunk of markup that provides a sandbox environment for a particular test, or a suite of tests. So, if you have a jQuery widget that adds some extra functionality to a form input, your fixture could be as simple as just a single input tag. And indeed, some of the time you can get away with just manually whipping up a chunk of ad-hoc HTML, dropping it directly into your suite, and testing into the sunset:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input class=&quot;simple-fixture&quot; type=&quot;text&quot; /&gt;
</pre>
<p>This works fine, provided that the HTML your code is working on is relatively simple. In practice, though, most front-end applications that grow beyond a certain critical mass of complexity end up with JavaScript code that makes DOM touches on large, complex markup structures that can&#8217;t be so easily replicated independent of the application itself.</p>
<p>This issue started to rear its head as Neatline became more and more complex over the course of the last couple months. The Neatline front-end consists of well over 10,000 lines of JavaScript, which works on markup generated by about 20 templates and partials &#8211; it would be a frightful headache to have to manually create a library of testing fixtures for the whole application. And even if I took the time to build them all out by hand, I would be committing myself to a labor-intensive, open-ended maintenance task: Every time you make a change to a template, you have to remember to comb through all the files in the fixtures library and replicate the change. Over time &#8211; and especially as new developers start working on the project &#8211; there&#8217;s a high probability that the &#8220;real&#8221; HTML generated by the live application will start to diverge from your fixtures.</p>
<p>My search for a solution led me to <a href="http://pivotallabs.com/users/jb/blog/articles/1152-javascripttests-bind-reality-">this fantastic post from JB Steadman at Pivotal Labs</a>. Basically, he describes a clever method for automatically generating a library of HTML fixtures that uses the server-side test suite as a staging environment that prepares, creates, and saves the markup emitted by the application. That way, your fixtures library can only ever be as old as the last time you ran your back-end test suite, which should be a many-times-daily affair. I was able to implement this pattern in the Omeka/Zend + PHPUnit ecosystem with little difficulty. (Details and code after the jump)<br />
<span id="more-3312"></span><br />
Basically, we do this:</p>
<ol>
<li>Create a special controller in your application that exists solely for the purpose of rendering the templates (and combinations of templates) that are required by the JavaScript test suite;</li>
<li>Create a series of testing cases that issue requests to each of the actions in the fixtures controller, capture the responses, and write the generated HTML directly into the fixtures library.</li>
</ol>
<p>How does this work in practice? Imagine you have a template called _records.php that looks like this:</p>
<pre class="brush: php; title: ; notranslate">
&lt;div id=&quot;container&quot;&gt;
  &lt;?php foreach $records as $record: ?&gt;
    &lt;h1&gt;&lt;?php echo $record-&gt;title; ?&gt;&lt;/h1&gt;
    &lt;div&gt;&lt;?php echo $record-&gt;description; ?&gt;&lt;/div&gt;
  &lt;?php endforeach; ?&gt;
&lt;/div&gt;
</pre>
<p>And when it&#8217;s rendered in the application, the final markup looks like this:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;container&quot;&gt;

    &lt;h1&gt;Record 1 Title&lt;/h1&gt;
    &lt;div&gt;Description for record 1.&lt;/div&gt;

    &lt;h1&gt;Record 2 Title&lt;/h1&gt;
    &lt;div&gt;Description for record 2.&lt;/div&gt;

&lt;/div&gt;
</pre>
<p>So, the goal here is to create a controller action that populates the template with mock records objects and renders the markup, which can then be captured and saved by an integration &#8220;test&#8221; that we&#8217;ll write in just a minute (test in quotes, since we&#8217;re using PHPUnit not so much as a testing framework, but more just as a mechanism for automating requests). First, add a new controller class called FixturesController, and create an action that mocks any variables that need to get pushed into the template:</p>
<pre class="brush: php; title: ; notranslate">
class YourPlugin_FixturesController extends Omeka_Controller_Action
{

    /**
     * Generate fixture for _records.php.
     *
     * @return void
     */
    public function recordsAction()
    {

        // Turn off the default Zend layout-discovery functionality.
        $this-&gt;_helper-&gt;viewRenderer-&gt;setNoRender(true);

        $record1 = (object) array(
          'title' =&gt; 'Record 1 Title',
          'description' =&gt; 'A description for record 1.'
        );

        $record2 = (object) array(
          'title' =&gt; 'Record 1 Title',
          'description' =&gt; 'A description for record 1.'
        );

        $records = array($record1, $record2);

        // Render.
        echo $this-&gt;view-&gt;partial('public/_records.php', array(
            'records' =&gt;  $records
        ));

    }

}
</pre>
<p>Basically, we&#8217;re just stubbing out two artificial record objects (for simplicity, we add only the attributes that are used in the template) and directly render the template file as a &#8220;partial.&#8221; Note the call to <code>setNoRender(true)</code> &#8211; by default, Zend will try to automagically discover a template file with the same name as the controller action, but we&#8217;re just disabling that functionality since we want direct control over which templates get rendered and in what order.</p>
<p>Next, add a directory called &#8220;fixtures&#8221; in the /tests directory, and create a file called &#8220;FixtureBuilderTest.php&#8221; to house the integration test that will do the work of requesting the new controlled action, capturing the generated markup, and saving the result to the fixtures library.</p>
<p>This should look like this:</p>
<pre class="brush: php; title: ; notranslate">
class YourPlugin_FixtureBuilderTest extends YourPlugin_Test_AppTestCase
{

    private static $path_to_fixtures = '../spec/javascripts/fixtures/';

    /**
     * Instantiate the helper class, install the plugins, get the database.
     *
     * @return void.
     */
    public function setUp()
    {

        // Set up the testing environment and plugin.
        parent::setUp();
        $this-&gt;setUpPlugin();

    }

    /**
     * Fixture builder for _records.php.
     *
     * @return void.
     */
    public function testBuildRecordsMarkup()
    {

        $fixture = fopen(self::$path_to_fixtures . '_records.html', 'w');

        $this-&gt;dispatch('your-plugin/fixtures/records');
        $response = $this-&gt;getResponse()-&gt;getBody('default');

        fwrite($fixture, $response);
        fclose($fixture);

    }

}
</pre>
<p>Note that you need to specify the location in the project directory structure that you want to save the fixtures to. In this case, I&#8217;m saving to the default location used by Jasmine, but you could point to anywhere in the filesystem relative to the AllTests.php runner file in /tests.</p>
<p>Make sure that the /fixtures directory is included in the test discoverer in AllTests.php, run phpunit, and your fresh-out-of-the-oven fixture should be saved off and ready for action! All that&#8217;s left to do now is load the fixture in your JavaScript test, run your code on the HTML, and start enumerating test cases. We use a testing framework called <a href="http://pivotal.github.com/jasmine/">Jasmine</a> in conjunction with a plugin called <a href="https://github.com/velesin/jasmine-jquery">jasmine-jquery</a>, which provides an easy way to load fixtures into the tests:</p>
<pre class="brush: jscript; title: ; notranslate">
/*
 * Unit tests for the records Javascript.
 */

describe('Records', function() {

    var recordsContainer;

    beforeEach(function() {

        // Get the records markup.
        loadFixtures('_records.html');

        // Select the container div.
        browser = $('#container');

        // Instantiate your code.
        browser.recordsWidget();

    });

    // Now, the tests:

    describe('some class of behavior', function() {

        it('should do X', function() {
            expect(true).toEqual(true);
        });

    });

});
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/slab-code/generating-html-fixtures-using-zend-omeka-phpunit-and-jasmine/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>To Scaffold, or Not To Scaffold?</title>
		<link>http://www.scholarslab.org/praxis-program/to-scaffold-or-not-to-scaffold/</link>
		<comments>http://www.scholarslab.org/praxis-program/to-scaffold-or-not-to-scaffold/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 15:16:05 +0000</pubDate>
		<dc:creator>Annie Swafford</dc:creator>
				<category><![CDATA[Praxis Program]]></category>
		<category><![CDATA[praxis program]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://www.scholarslab.org/?p=3237</guid>
		<description><![CDATA[Alex and I started trying to build our new data model last Thursday, and we figured that it would go much more smoothly and quickly than the last time we tried.  Like the previous time, we decided to use Rails scaffolding, figuring it would be easier than generating the individual pieces by hand.  However, we&#8230;. <a href="http://www.scholarslab.org/praxis-program/to-scaffold-or-not-to-scaffold/">More.</a>]]></description>
			<content:encoded><![CDATA[<p>Alex and I started trying to build our new data model last Thursday, and we figured that it would go much more smoothly and quickly than the last time we tried.  Like the previous time, we decided to use Rails scaffolding, figuring it would be easier than generating the individual pieces by hand.  However, we ran into some unanticipated road blocks.  For example, we wanted a few different models to have IDs associated with them, so we added them into the model framework.  The scaffolding helpfully added them to our views page as well, so instead of having  IDs generated automatically, they appear on a form for the user to fill out, thus defeating the purpose of the ID field.  After lots of frustration, we decided to try to create a model without scaffolding when we get back from break.  We figure that it will take more time, but will involve less tweaking and will give us the opportunity of better understanding how the component parts of a rails application fit together.  We may decide that it&#8217;s too much of a headache and that it would make more sense to use scaffolding and just to delete the unnecessary parts, but in the interests of experimentation, we&#8217;ll give it a shot.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scholarslab.org/praxis-program/to-scaffold-or-not-to-scaffold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

