<?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>Soul of Athens Blog &#187; Technology</title>
	<atom:link href="http://blog.soulofathens.com/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.soulofathens.com</link>
	<description></description>
	<lastBuildDate>Wed, 08 Jun 2011 20:34:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Bringing Some Soul to Drupal</title>
		<link>http://blog.soulofathens.com/2010/07/22/bringing-some-soul-to-drupal/</link>
		<comments>http://blog.soulofathens.com/2010/07/22/bringing-some-soul-to-drupal/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 13:22:36 +0000</pubDate>
		<dc:creator>cbaird</dc:creator>
				<category><![CDATA[Behind The Scenes]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Technology]]></category>

	<!-- AutoMeta Start -->
	<category></category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.soulofathens.com/?p=753</guid>
		<description><![CDATA[Once again, for this year&#8217;s edition of Soul of Athens we decided to use Drupal as our CMS. Drupal gave a level of flexibility and ease of use that matched our knowledge of both programming and CMSs. While using Drupal, we ran into a few unique problems that required some interesting solutions. Let me prerequisite [...]]]></description>
			<content:encoded><![CDATA[<p>Once again, for this year&#8217;s edition of Soul of Athens we decided to use<a href="http://http://drupal.org/about"> Drupal</a> as our<br />
<a href="http://en.wikipedia.org/wiki/Content_management_system">CMS</a>. Drupal gave a level of flexibility and ease of use that matched our knowledge of<br />
both programming and CMSs.</p>
<p>While using Drupal, we ran into a few unique problems that required some interesting<br />
solutions.</p>
<p>Let me prerequisite this by saying I do not claim to be some know-all Drupal or PHP<br />
guru; these are just some solutions that happened to work for us in our situation.<br />
As you may know, this year&#8217;s site was built around the idea of having multiple editions,<br />
five to be precise, each with a unique template. While one approach to that would have<br />
been to load specific <a href="http://www.w3schools.com/css/css_intro.asp">CSS</a> files for each <a href="http://drupal.org/node/104316">page template</a> on each page and piece of<br />
content, we decided to do it a bit more dynamically with<a href="http://php.net/index.php"> PHP</a>. The idea behind the code<br />
was to inject part of the current URL path into the body tag so that we could specify<br />
each CSS rule more specifically with each edition&#8217;s links and divs:</p>
<p><code>&lt;body id="&lt;?php $edition = explode("/", $node-&gt;path); print $edition[0];?&gt;"&gt;<br />
</code><br />
There it is. Simple, but it does exactly what I need it to do. What the PHP is doing is<br />
taking the path of the <a href="http://drupal.org/node/21947">node</a> (expression/ink, for example) and <a href="http://php.net/manual/en/function.explode.php">exploding</a> the <a href="http://php.net/manual/en/book.strings.php">string</a> into<br />
an <a href="http://php.net/manual/en/language.types.array.php">array</a> that is being <a href="http://en.wikipedia.org/wiki/Delimiter">delimitated</a> by the &#8220;/&#8221; character. Then I use the first element in<br />
the array as the id of the body.</p>
<p>Alright phew.</p>
<p>While we were building the node templates for the pieces of content, it became quite<br />
obvious that the way in which we were entering the contributors was slightly<br />
problematic. When we would go into the <a href="http://drupal.org/project/devel">devel module</a> and inspect the node contents,<br />
the only content available for the contributors was their &#8220;number.&#8221; The reason why that<br />
was happening is still a bit of a mystery. Nevertheless, I was presented with a large list<br />
of numbers that I was going to have to somehow correlate to an author. Instead of<br />
going and spending an hour or so constructing a<a href="http://php.net/manual/en/function.array-keys.php"> keyed array</a> of values in PHP off a list<br />
formated like this,</p>
<p>0|Matthew Anderson<br />
1|Jonathan Adams<br />
2|Josh Birnbaum<br />
3|Victor Blue<br />
4|Kiersten Bonifant &#8230;..</p>
<p>&#8230; I wrote a quick and dirty script in<a href="http://en.wikipedia.org/wiki/C%2B%2B"> C++</a> to process the text into the format that I<br />
needed, which took all of .0025 seconds to run:</p>
<p><code>#include &lt;iostream&gt;<br />
#include &lt;fstream&gt;<br />
#include &lt;string&gt;<br />
using namespace std;<br />
int main ()<br />
{<br />
ifstream ins;<br />
ofstream ous;<br />
ins.open("parse.txt");<br />
string tmp,tmp2,tmp3;<br />
while (!ins.fail())<br />
{<br />
int i;<br />
getline(ins,tmp);<br />
for (i =0;tmp[i] != '|';++i)<br />
std::cout&lt;&lt;tmp[i];<br />
++i;<br />
std::cout&lt;&lt;"=&gt; \" ";<br />
std::cout&lt;&lt;tmp.substr (i,tmp.size());<br />
std::cout&lt;&lt;"\",";<br />
}<br />
}<br />
</code><br />
&#8230; which ended up spitting out something that looked like this:</p>
<p>0=&gt; &#8221; Matthew Anderson&#8221;,1=&gt; &#8221; Jonathan Adams &#8220;,2=&gt; &#8221; Josh Birnbaum&#8221;,3=&gt;<br />
&#8221; Victor Blue&#8221;,4=&gt; &#8221; Kiersten Bonifant&#8221;</p>
<p>While that solved one problem, we also had to figure out a way to correlate all the users&#8217;<br />
roles with their names and then display that in an organized fashion. The first thing we<br />
tackled was how to grab the roles that people held:</p>
<p><a href="http://blog.soulofathens.com/wp-content/uploads/2010/07/Screen-shot-2010-07-21-at-9.13.40-AM.png"><img class="alignnone size-full wp-image-754" title="Screen shot 2010-07-21 at 9.13.40 AM" src="http://blog.soulofathens.com/wp-content/uploads/2010/07/Screen-shot-2010-07-21-at-9.13.40-AM.png" alt="" width="343" height="637" /></a></p>
<p>That is what the input format looked like in Drupal. We were using a single select dropdowns<br />
and then a multi-select field for their roles because one person could do multiple<br />
things in any given piece.</p>
<p>So let&#8217;s take a look at the code &#8230; and then we can talk about it:</p>
<p><code>for ( $ii = 0; $ii &lt;= 5; $ii++)<br />
{<br />
print("&lt;li&gt;&lt;a class='mouse_over' href='#' title='&lt;strong&gt;Roles:&lt;/strong&gt;&lt;    br/&gt; ");<br />
for ( $i = 0; $i &lt; count($node-&gt;field_content_role_1); $i++){</code></p>
<p><code>if ($ii == 0&amp;&amp;$arr2[$node-&gt;field_content_role_1[$i]['value']])<br />
{</code></p>
<p><code> </code></p>
<p><code>print $arr2[$node-&gt;field_content_role_1[$i]['value']];</code></p>
<p>}</p>
<p>if ($ii == 1&amp;&amp;$arr2[$node-&gt;field_content_role_2[$i]['value']])<br />
{<br />
print $arr2[$node-&gt;field_content_role_2[$i]['value']];<br />
print(&#8221; &#8220;);</p>
<p>}</p>
<p>if ($ii == 2&amp;&amp;$arr2[$node-&gt;field_content_role_3[$i]['value']])<br />
{<br />
print $arr2[$node-&gt;field_content_role_3[$i]['value']];<br />
print(&#8221; &#8220;);<br />
}<br />
if ($ii == 3&amp;&amp;$arr2[$node-&gt;field_content_role_4[$i]['value']])<br />
{<br />
print $arr2[$node-&gt;field_content_role_4[$i]['value']];<br />
print(&#8221; &#8220;);<br />
}<br />
if ($ii == 4&amp;&amp;$arr2[$node-&gt;field_content_role_5[$i]['value']])<br />
{<br />
print $arr2[$node-&gt;field_content_role_5[$i]['value']];<br />
print(&#8221; &#8220;);<br />
}<br />
}</p>
<p><code>print("'&gt;");<br />
if ($ii == 0)<br />
print $arr[$node-&gt;field_content_contributors[0]['value']];<br />
if ($ii == 1)<br />
print $arr[$node-&gt;field_content_contributor_2[0]['value']];<br />
if ($ii == 2)<br />
print $arr[$node-&gt;field_content_contributor_3[0]['value']];<br />
if ($ii == 3)<br />
print $arr[$node-&gt;field_content_contributor_4[0]['value']];<br />
if ($ii == 4)<br />
print $arr[$node-&gt;field_content_contributor_5[0]['value']];<br />
print("&lt;/a&gt;&lt;/li&gt;");<br />
}<br />
?&gt;<br />
</code><br />
Basically, what I did was set up a variable called $arr that holds all of the<br />
contributors and another array, $arr2, that contains the roles that someone<br />
could hold (and, yes, it is also a keyed array).</p>
<p>Then it gets a bit more complicated. I set a nesting looping structure that goes through all five possible contributors (variable $ii) and within that goes through their possible roles. If the role field is not <a href="http://en.wikipedia.org/wiki/Null">NULL</a> and $i is at the corresponding contributor it <a href="http://php.net/manual/en/function.print.php">prints</a> the role(s) within the title field of a link.</p>
<p>The reason for all of this code is that we really wanted to refine how peoples roles were displayed. Instead of listing the contribtors roles below or beside them we decided to do something a but more dynamic and throw some jquery into the mix, with something called <a href=" http://craigsworks.com/projects/qtip/">Qtip</a>.</p>
<p><a href="http://blog.soulofathens.com/wp-content/uploads/2010/07/Screen-shot-2010-07-21-at-9.15.38-AM.png"><img class="alignnone size-full wp-image-755" title="Screen shot 2010-07-21 at 9.15.38 AM" src="http://blog.soulofathens.com/wp-content/uploads/2010/07/Screen-shot-2010-07-21-at-9.15.38-AM.png" alt="" width="274" height="454" /></a></p>
<p>So all that work for something so simple? Yes, but that is what makes this years site so great, it&#8217;s the little things that seem almost expected that work so intuitively that really make this years site shine.<br />
I hope this explanation helps and pulls back the curtain that all to often falls on those glued to their monitors coding away.</p>
<p>Good luck and Thanks for reading.</p>
<p>Sam Saccone</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.soulofathens.com/2010/07/22/bringing-some-soul-to-drupal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oh hello there&#8230;</title>
		<link>http://blog.soulofathens.com/2010/06/28/oh-hello-there/</link>
		<comments>http://blog.soulofathens.com/2010/06/28/oh-hello-there/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 12:00:50 +0000</pubDate>
		<dc:creator>cbaird</dc:creator>
				<category><![CDATA[Behind The Scenes]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Technology]]></category>

	<!-- AutoMeta Start -->
	<category></category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.soulofathens.com/?p=543</guid>
		<description><![CDATA[How did I get this tan? You are so observant! No I don&#8217;t sun bathe on college green, i&#8217;m too shy for that. Really this quarter my attention was placed on one thing: Soul of Athens. Yes I got this pasty complexion by spending the quarter with a fantastic group of people, the 2010 SOA [...]]]></description>
			<content:encoded><![CDATA[<p>How did I get this tan?  You are so observant!  No I don&#8217;t sun bathe on college green, i&#8217;m too shy for that.  Really this quarter my attention was placed on one thing: Soul of Athens.  Yes I got this pasty complexion by spending the quarter with a fantastic group of people, the 2010 SOA web team.  (insert heroic music)  The amount of time, energy, and pizza spent by this fine group of people is insane.  In 10 weeks we cranked out a site that we are all proud of and to top it off it&#8217;s the most accessible yet.</p>
<p><a href="http://blog.soulofathens.com/wp-content/uploads/2010/06/14.jpg"><img class="alignnone size-full wp-image-559" title="14" src="http://blog.soulofathens.com/wp-content/uploads/2010/06/14.jpg" alt="" width="531" height="353" /></a></p>
<p><a href="http://blog.soulofathens.com/wp-content/uploads/2010/06/6.jpg"><img class="alignnone size-full wp-image-551" title="6" src="http://blog.soulofathens.com/wp-content/uploads/2010/06/6.jpg" alt="" width="528" height="351" /></a></p>
<p>On the web team I was on the server side team- we handled Drupal, a content management system  that has been utilized by Soul of Athens for the last two years.  It is a very powerful open source software.  My role was to set up Drupal and create a structure for our site. Organizing how content will enter the site, be collected, and aggregated.</p>
<p><a href="http://blog.soulofathens.com/wp-content/uploads/2010/06/CSB0487.jpg"><img class="alignnone size-full wp-image-728" title="_CSB0487" src="http://blog.soulofathens.com/wp-content/uploads/2010/06/CSB0487.jpg" alt="" width="529" height="351" /></a></p>
<p><a href="http://blog.soulofathens.com/wp-content/uploads/2010/06/10.jpg"><img class="alignnone size-full wp-image-555" title="10" src="http://blog.soulofathens.com/wp-content/uploads/2010/06/10.jpg" alt="" width="530" height="352" /></a></p>
<p><a href="http://blog.soulofathens.com/wp-content/uploads/2010/06/11.jpg"><img class="alignnone size-full wp-image-556" title="11" src="http://blog.soulofathens.com/wp-content/uploads/2010/06/11.jpg" alt="" width="530" height="352" /></a></p>
<p>We created a structure that allowed the students to log into the site and fill out our custom forms and that information would appear on the site based on what we asked for.  It seems like nothing, someone answers a couple of questions about themselves or fills in the title of their video and it appears on the site after you hit refresh.  The first time I saw that I was bubbling over with joy!  It was very cool.  So all the information you see on the credits page, for the most part, was typed by that student.  Same is true for the headline on the content, the description and the transcript. Once the students had filled out their story form for example, we could go in, and upload their video, the thumbnail , and  click the aspect ration.  In the 9th week we were able to have a gathering of the senior producers and ask them to look over their editions in Drupal and adjust or point out the errors.  To have them all  logged in and fixing spelling errors, or adjusting descriptions in my opinion  made for a better end product.  Drupal  allowed us to have 60 plus people contribute to the site.</p>
<p><a href="http://blog.soulofathens.com/wp-content/uploads/2010/06/CSB0444.jpg"><img class="size-full wp-image-731    " title="_CSB0444" src="http://blog.soulofathens.com/wp-content/uploads/2010/06/CSB0444.jpg" alt="" width="532" height="354" /></a></p>
<p><a href="http://blog.soulofathens.com/wp-content/uploads/2010/06/CSB0478.jpg"><img class="alignnone size-full wp-image-729" title="_CSB0478" src="http://blog.soulofathens.com/wp-content/uploads/2010/06/CSB0478.jpg" alt="" width="530" height="352" /></a></p>
<p>Looking back at what we did and how we went about accomplishing it I would have adjusted a few things.  Mostly clarifying the structure of the forms I created, and  clarifying exactly how  Drupal works to the SOA class.  The latter might have helped  us avoid  a section of Moby Dick being used as transcript filler- thankfully Jill Bateman made a last minute catch.  Man that was close! It wasn&#8217;t all smooth sailing,  but the content management system made the process so much easier than the alternative.</p>
<div id="attachment_546" class="wp-caption alignnone" style="width: 536px"><a href="http://blog.soulofathens.com/wp-content/uploads/2010/06/1.jpg"><img class="size-full wp-image-546" title="1" src="http://blog.soulofathens.com/wp-content/uploads/2010/06/1.jpg" alt="" width="526" height="393" /></a><p class="wp-caption-text">(left to right) Jonathan, me, Corey, Brandon, and the bartender&#39;s finger over the lens.  </p></div>
<p>There is no question that the process is intense, and challenging.  The process was also fun, and I learned so much alongside my team.  Thank you Zach, Brian, Dustin, Tony, John, Corey, Sam, Jill, Jonathan, and of course our fearless (sleepless) leader Brandon.</p>
<p>Christina Baird<br />
Drupal Developer &amp; Marketing Senior Producer<br />
www.christinaeiler.com</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.soulofathens.com/2010/06/28/oh-hello-there/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SEO and SOA</title>
		<link>http://blog.soulofathens.com/2010/04/19/seo-and-soa/</link>
		<comments>http://blog.soulofathens.com/2010/04/19/seo-and-soa/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 18:25:49 +0000</pubDate>
		<dc:creator>jbateman</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Technology]]></category>

	<!-- AutoMeta Start -->
	<category>improve</category>
	<category>descriptive</category>
	<category>words</category>
	<category>sift</category>
	<category>engines</category>
	<category>website</category>
	<category>vico</category>
	<category>marketing</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.soulofathens.com/?p=146</guid>
		<description><![CDATA[I feel pretty honored to write the first blog post for the 2010 Soul of Athens (SOA) project. The Vico 488/588 students will be keeping you up-to-date on some of the technical issues we&#8217;re focusing on as we build the Soul of Athens website, so let me start off with a look at search engine [...]]]></description>
			<content:encoded><![CDATA[<p>I feel pretty honored to write the first blog post for the 2010 Soul of Athens (SOA) project. The Vico 488/588 students will be keeping you up-to-date on some of the technical issues we&#8217;re focusing on as we build the Soul of Athens website, so let me start off with a look at search engine optimization or SEO.</p>
<p>When I mentioned I was doing a presentation about SEO to a former SOA web designer, he looked at me like I had six heads! Yes, we are on a short deadline, but as with all our marketing efforts, what good is all this hard work if no one sees it? And there may be another issue at play.</p>
<p>Definitions for SEO are very easy to <a href="http://tinyurl.com/y77pa9k">Google</a>, but let me sum it up in terms I like; Getting your website to show up as high as humanly possible on search engines without paying a dime for it.</p>
<p>SEO is in some ways really simple. No one seems to know exactly what makes it work, so you&#8217;re hardly ever wrong &#8211; kind of like being a weather forecaster. The rules change a lot, most of the signals search engines like Google use are big, fat, hairy secrets and of course, marketing/news/trends etc. play a big role in whether or not people will ever find your precious key words. So we should just throw up our hands and give up.</p>
<p>Nah.</p>
<p>Interestingly enough, by just doing one tiny thing, it turns out we can really improve our odds of winning the SEO game.</p>
<p>According to the United Nations Convention on Rights of Persons with Disabilities, 650 million people worldwide are considered handicapped. By making simple adjustments to the way we develop our website so they too can enjoy our content, we will automatically improve our standing with search engines. Even if it didn&#8217;t improve SEO, personally I think we all owe <a href="http://en.wikipedia.org/wiki/Tim_Berners-Lee">Tim Berners-Lee</a> a nod as we carry out his vision to make the Internet accessible to everyone.</p>
<p>People with handicaps often use special technology to help them interpret the web so they can get to the information they are looking for. For instance, a blind person may use technology that speaks a website for them, a deaf person can read the captions on a video. When you type a word or phrase into a search engine, it sends out bots that sift through websites to find the words you are looking for. These bots are blind and deaf and they need special things to help them find what they are looking for. In both worlds, SEO and Accessibility, we can do a lot to help our audience find and use our content.</p>
<p>Here are a few things we can do to serve both needs:</p>
<ul>
<li>Use descriptive alt tags on images</li>
<li>Hard code descriptive words as text</li>
<li> Use key words for h1, h2, h3, etc headers &#8211; not necessarily AP style headlines</li>
<li> Use the meta description tag carefully and thoughtfully</li>
<li>Make sure your html and css validates &#8211; no broken links</li>
<li> Use anchor text for links that are descriptive</li>
<li>Use captions on videos</li>
</ul>
<p>There are a lot more things we can do to improve both SEO and Accessibility. It would be great to get a list going here. What should we all be focusing on in this area and why?</p>
<p>- Jill Bateman, Marketing Team</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.soulofathens.com/2010/04/19/seo-and-soa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

