<?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>Polymorphism &#187; Tools for the Job</title>
	<atom:link href="http://www.clearcrystalmedia.com/pm/category/tools-for-the-job/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.clearcrystalmedia.com/pm</link>
	<description>using the right technology at the right time</description>
	<lastBuildDate>Tue, 29 Nov 2011 13:53:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Up and rolling with Git on Snow Leopard</title>
		<link>http://www.clearcrystalmedia.com/pm/git-snow-leopard/</link>
		<comments>http://www.clearcrystalmedia.com/pm/git-snow-leopard/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 15:34:42 +0000</pubDate>
		<dc:creator>Chris Peters</dc:creator>
				<category><![CDATA[ColdFusion on Wheels]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[ccm]]></category>
		<category><![CDATA[cfwheels]]></category>
		<category><![CDATA[chris peters]]></category>
		<category><![CDATA[clear crystal media]]></category>
		<category><![CDATA[coldfusion on wheels]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[polymorphism]]></category>
		<category><![CDATA[scm]]></category>
		<category><![CDATA[version control]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.clearcrystalmedia.com/pm/?p=425</guid>
		<description><![CDATA[<p>This morning, I set up a <a href="http://github.com/clearcrystalmedia">GitHub account</a> so that I could have some public repositories for my <a href="http://cfwheels.org/plugins/">ColdFusion on Wheels plugins</a>. Feel free to follow me and watch my repositories as I post them up. (Gotta learn how to do that first though!)</p>
<p>Read on for a summary of how I installed my local copy of Git on Snow Leopard.</p>]]></description>
			<content:encoded><![CDATA[<p>This morning, I set up a <a href="http://github.com/clearcrystalmedia">GitHub account</a> so that I could have some public repositories for my <a href="http://cfwheels.org/plugins/">ColdFusion on Wheels plugins</a>. Feel free to follow me and watch my repositories as I post them up. (Gotta learn how to do that first though!)</p>
<p>Then came the process of installing Git on Snow Leopard so that my computer can talk to the repository. In my opinion, the Git website could do a better job with their Mac OS X installer (or at least the instructions).</p>
<p>Fortunately, Hivelogic has a great step-by-step on <a href="http://hivelogic.com/articles/compiling-git-on-snow-leopard/">installing Git on Snow Leopard</a>. If you&#8217;re running Snow Leopard, I highly recommend doing everything that they say in the post. If they ask you to touch your nose while spinning in circles, do it.</p>
<p>Now on to figuring out how to get my <a href="http://cfwheels.org/plugins/listing/19">reCAPTCHA on Wheels</a> plugin into my new repo.</p>

<!-- start wp-tags-to-technorati 1.01 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/ccm' rel='tag' target='_self'>ccm</a>, <a class='technorati-link' href='http://technorati.com/tag/cfwheels' rel='tag' target='_self'>cfwheels</a>, <a class='technorati-link' href='http://technorati.com/tag/chris+peters' rel='tag' target='_self'>chris peters</a>, <a class='technorati-link' href='http://technorati.com/tag/clear+crystal+media' rel='tag' target='_self'>clear crystal media</a>, <a class='technorati-link' href='http://technorati.com/tag/coldfusion+on+wheels' rel='tag' target='_self'>coldfusion on wheels</a>, <a class='technorati-link' href='http://technorati.com/tag/Git' rel='tag' target='_self'>Git</a>, <a class='technorati-link' href='http://technorati.com/tag/github' rel='tag' target='_self'>github</a>, <a class='technorati-link' href='http://technorati.com/tag/install' rel='tag' target='_self'>install</a>, <a class='technorati-link' href='http://technorati.com/tag/installation' rel='tag' target='_self'>installation</a>, <a class='technorati-link' href='http://technorati.com/tag/polymorphism' rel='tag' target='_self'>polymorphism</a>, <a class='technorati-link' href='http://technorati.com/tag/scm' rel='tag' target='_self'>scm</a>, <a class='technorati-link' href='http://technorati.com/tag/version+control' rel='tag' target='_self'>version control</a>, <a class='technorati-link' href='http://technorati.com/tag/web+development' rel='tag' target='_self'>web development</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.clearcrystalmedia.com/pm/git-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Aggregating RSS feeds with Delicious, Yahoo! Pipes, FeedBurner, and CFML</title>
		<link>http://www.clearcrystalmedia.com/pm/yahoo-pipes-feedburner-cfml/</link>
		<comments>http://www.clearcrystalmedia.com/pm/yahoo-pipes-feedburner-cfml/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 10:03:59 +0000</pubDate>
		<dc:creator>Chris Peters</dc:creator>
				<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[ColdFusion on Wheels]]></category>
		<category><![CDATA[Tools for the Job]]></category>
		<category><![CDATA[aggregation]]></category>
		<category><![CDATA[cfml]]></category>
		<category><![CDATA[feedburner]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[yahoo pipes]]></category>

		<guid isPermaLink="false">http://www.clearcrystalmedia.com/pm/?p=364</guid>
		<description><![CDATA[<p>Over the weekend, I created a couple simple feed aggregators on the <a href="http://cfwheels.org/community">ColdFusion on Wheels Community</a> page. I saved major time by using a mashup of Delicious, Yahoo! Pipes, FeedBurner, and the &#60;cffeed&#62; tag in <abbr title="ColdFusion Markup Language">CFML</abbr>. This was far easier than creating my own feed aggregator by hand.</p>
<p>If you've been curious about any of these tools, I highly recommend reading this post.</p>]]></description>
			<content:encoded><![CDATA[<p>I made it a weekend project to set up some simple <abbr title="Really Simply Syndication">RSS</abbr> feed aggregation for the <a href="http://cfwheels.org/community">ColdFusion on Wheels Community</a> page. Basically, I wanted to show 2 streams:</p>
<ol>
<li>Latest 5 posts from a handpicked selection of blogs</li>
<li>Latest 5 articles that I&#8217;ve found on the Web relating to Wheels</li>
</ol>
<p>For #1, I was able to <a title="Wheels Bloggers RSS feed" href="http://pipes.yahoo.com/pipes/person.info?_out\x3drss\x26display\x3dpipes\x26eyuid\x3dpIQmv_8wp285OB_ve9FMv9EX9T14o0FOn1w-">aggregate the feeds using Yahoo! Pipes</a>. For #2, I created a <a title="ColdFusion on Wheels articles on Delicious" href="http://delicious.com/cfwheels">Delicious account</a> that I can post articles to. All very dynamic. I&#8217;ll explain later how I used FeedBurner and <abbr title="ColdFusion Markup Language">CFML</abbr> to complete the solution.</p>
<h2>The end goal</h2>
<p>The finished product looks like this (click for larger version):<br />
<a href="http://www.clearcrystalmedia.com/pm/wp-content/uploads/cfwheels-community.png"><img class="aligncenter size-full wp-image-367" title="CFWheels Community" src="http://www.clearcrystalmedia.com/pm/wp-content/uploads/cfwheels-community-thumb.jpg" alt="CFWheels Community" width="500" height="371" /></a></p>
<h2>The easy one: Delicious, FeedBurner and <abbr title="ColdFusion Markup Language">CFML</abbr></h2>
<p>We&#8217;ll do the easy one first because I&#8217;m lazy. For the &#8220;Articles and Discussion&#8221; section on the right, I have it set up where I can just post links to the <a href="http://delicious.com/">Delicious</a> account. Once I got that set up, I burned the account&#8217;s <abbr title="Really Simply Syndication">RSS</abbr> feed using <a href="http://feedburner.google.com/">FeedBurner</a>.</p>
<h3>Why FeedBurner?</h3>
<p>Why would I use FeedBurner? FeedBurner acts as an intermediary between the user and your <abbr title="Really Simply Syndication">RSS</abbr> feed. By exchanging a little bit of your info with Google (what you pay), you get some great benefits:</p>
<ul>
<li>Normalizes your feed into a valid/compatible format</li>
<li>Track how your feed is being used and how many users are subscribed to it</li>
<li>The ability to substitute your own title and description (useful in cases where you&#8217;re using a third party feed like Delicious)</li>
<li>Google takes care of the feed hosting for you</li>
<li>Automatic blog service pinging</li>
</ul>
<p>I also make the feeds available on the Wheels site so that others can subscribe to them. It&#8217;s great to track how those feeds are being used and by how many people.</p>
<p>I&#8217;ve written about FeedBurner in a few other posts on <a href="/gc/">Glass Case</a>, my sister internet marketing blog:</p>
<ul>
<li><a href="http://www.clearcrystalmedia.com/gc/use-feedburner-to-supercharge-your-rss-feed/">Product Review: Using FeedBurner to supercharge your <abbr title="Really Simply Syndication">RSS</abbr> feed</a></li>
<li><a href="http://www.clearcrystalmedia.com/gc/how-to-optimize-your-blog/">How to optimize your blog</a></li>
<li><a href="http://www.clearcrystalmedia.com/gc/feedburner-why-use-mybrand/">Using FeedBurner? Why you should use their MyBrand</a></li>
</ul>
<h3>Using <abbr title="ColdFusion Markup Language">CFML</abbr> to display the feed</h3>
<p>After getting the <a title="ColdFusion on Wheels Articles" href="http://feeds.cfwheels.org/cfwheels-articles"><abbr title="Really Simply Syndication">RSS</abbr> feed</a> set up, I was able to use one line of <abbr title="ColdFusion Markup Language">CFML</abbr> to fetch the feed:</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #333333;"><span style="color: #0000FF;">&lt;</span>cffeed <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;articles&quot;</span> source<span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;#arguments.rssUrl#&quot;</span><span style="color: #0000FF;">&gt;</span></span></pre></div></div>

<p>But I hate to say that it can&#8217;t be this simple. I had to implement a solution to <a href="http://www.cfwheels.org/docs/chapter/caching">cache</a> the feed for at least 5 minutes. If we fetched the feed in real time every time the page was loaded, Google would get pissed for hitting their servers so often.</p>
<p>To do this, I created a <a href="http://www.cfwheels.org/docs/chapter/partials">partial</a> called <code>articles</code>. I could then cache the partial so that at most, the feed would only be accessed by my web server every 5 minutes. Here&#8217;s how the call in <kbd>views/community/index.cfm</kbd> works:</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;">#includePartial(partial=&quot;articles&quot;, articlesRss=articlesRss, articlesUrl=articlesUrl, numToDisplay=5, cache=5)#</pre></div></div>

<p>The partial at <kbd>views/community/_articles.cfm</kbd> calls a view helper to get the feed data and displays the data. I had to use a <a href="http://www.cfwheels.org/docs/chapter/creating-your-own-view-helpers">view helper</a> to link the partial back to the data that we needed. This was done so the caching could be controlled at the partial level.</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfsetting</span> enablecfoutputonly<span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;true&quot;</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
<span style="color: #808080; font-style: italic;">&lt;!--- URL to RSS feed ---&gt;</span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfparam</span> <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;arguments.articlesRss&quot;</span> <span style="color: #0000FF;">type</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;url&quot;</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #808080; font-style: italic;">&lt;!--- URL to Delicious page ---&gt;</span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfparam</span> <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;arguments.articlesUrl&quot;</span> <span style="color: #0000FF;">type</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;url&quot;</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #808080; font-style: italic;">&lt;!--- Number of items to display from feed ---&gt;</span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfparam</span> <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;arguments.numToDisplay&quot;</span> <span style="color: #0000FF;">type</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;numeric&quot;</span> <span style="color: #0000FF;">default</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;10&quot;</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
<span style="color: #808080; font-style: italic;">&lt;!--- Note: we are breaking the convention of data access in the view here so that we can cache this partial ---&gt;</span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> articles <span style="color: #0000FF;">=</span> articles<span style="color: #0000FF;">&#40;</span>arguments.articlesRss<span style="color: #0000FF;">&#41;</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfoutput</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">div</span> <span style="color: #0000FF;">id</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;community-articles&quot;</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">h3</span><span style="color: #0000FF;">&gt;</span></span>
		#Replace(articles.title, &quot;ColdFusion on Wheels &quot;, &quot;&quot;)#
		<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">a</span> <span style="color: #0000FF;">href</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;#arguments.articlesRss#&quot;</span> <span style="color: #0000FF;">class</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;image&quot;</span><span style="color: #0000FF;">&gt;</span></span>#imageTag(source=&quot;feed-icon-14x14.png&quot;, alt=&quot;Articles Feed&quot;)#<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">a</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">h3</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">p</span><span style="color: #0000FF;">&gt;</span></span><span style="color: #0000FF;">#HtmlEditFormat<span style="color: #0000FF;">&#40;</span>articles.<span style="color: #0000FF;">description</span><span style="color: #0000FF;">&#41;</span>#</span><span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">p</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">dl</span><span style="color: #0000FF;">&gt;</span></span>
		<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfloop</span> <span style="color: #0000FF;">from</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;1&quot;</span> <span style="color: #0000FF;">to</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;#arguments.numToDisplay#&quot;</span> <span style="color: #0000FF;">index</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;i&quot;</span><span style="color: #0000FF;">&gt;</span></span>
			<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">dt</span><span style="color: #0000FF;">&gt;</span></span>
				<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">a</span> <span style="color: #0000FF;">href</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;#articles.item[i].link#&quot;</span><span style="color: #0000FF;">&gt;</span></span>#articles.item[i].title#<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">a</span><span style="color: #0000FF;">&gt;</span></span>
				<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">span</span> <span style="color: #0000FF;">class</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;date&quot;</span><span style="color: #0000FF;">&gt;</span></span>(discovered&amp;nbsp;#Replace(timeAgoInWords(articles.item[i].pubDate), &quot; &quot;, &quot;&amp;nbsp;&quot;, &quot;all&quot;)#&amp;nbsp;ago)<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">span</span><span style="color: #0000FF;">&gt;</span></span>
			<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">dt</span><span style="color: #0000FF;">&gt;</span></span>
			<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">dd</span><span style="color: #0000FF;">&gt;</span></span>#articles.item[i].description.value#<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">dd</span><span style="color: #0000FF;">&gt;</span></span>
		<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cfloop</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">dl</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">h4</span><span style="color: #0000FF;">&gt;</span></span>Read More Articles<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">h4</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #0000FF;">class</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;calls-to-action&quot;</span><span style="color: #0000FF;">&gt;</span></span>
		<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">li</span> <span style="color: #0000FF;">class</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;delicious&quot;</span><span style="color: #0000FF;">&gt;</span></span><span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">a</span> <span style="color: #0000FF;">href</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;#arguments.articlesUrl#&quot;</span><span style="color: #0000FF;">&gt;</span></span>All Articles on Delicious<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">a</span><span style="color: #0000FF;">&gt;</span></span><span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">li</span><span style="color: #0000FF;">&gt;</span></span>
		<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">li</span> <span style="color: #0000FF;">class</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;feed&quot;</span><span style="color: #0000FF;">&gt;</span></span><span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">a</span> <span style="color: #0000FF;">href</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;#arguments.articlesRss#&quot;</span> <span style="color: #0000FF;">title</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;Articles Feed&quot;</span><span style="color: #0000FF;">&gt;</span></span><span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #000000; font-weight: bold;">abbr</span> <span style="color: #0000FF;">title</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;Really Simple Syndication&quot;</span><span style="color: #0000FF;">&gt;</span></span>RSS<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">abbr</span><span style="color: #0000FF;">&gt;</span></span> Feed<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">a</span><span style="color: #0000FF;">&gt;</span></span><span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">li</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">ul</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #000000; font-weight: bold;">div</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cfoutput</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfsetting</span> enablecfoutputonly<span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;false&quot;</span><span style="color: #0000FF;">&gt;</span></span></pre></div></div>

<p>And lastly, here was the view helper that I stored in <kbd>views/community/helpers.cfm</kbd>. It basically fetches the feed appropriately depending on which <a href="http://www.cfwheels.org/docs/chapter/switching-environments" title="Switching Environments">environment</a> I&#8217;m in.</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cffunction</span> <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;articles&quot;</span> <span style="color: #0000FF;">hint</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;Fetches latest article data from specified RSS feed.&quot;</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfargument</span> <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;rssUrl&quot;</span> <span style="color: #0000FF;">type</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;string&quot;</span> <span style="color: #0000FF;">hint</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;URL of RSS feed to check.&quot;</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> <span style="color: #000000; font-weight: bold;">var</span> loc <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">&#123;</span><span style="color: #0000FF;">&#125;</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
	<span style="color: #808080; font-style: italic;">&lt;!--- Design mode will not cache, so let's store data in session to keep FeedBurner happy ---&gt;</span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfif</span> get<span style="color: #0000FF;">&#40;</span><span style="color: #009900;">&quot;environment&quot;</span><span style="color: #0000FF;">&#41;</span> <span style="color: #0000FF;">is</span> <span style="color: #009900;">&quot;design&quot;</span><span style="color: #0000FF;">&gt;</span></span>
		<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfif</span> not <span style="color: #0000FF;">StructKeyExists</span><span style="color: #0000FF;">&#40;</span>session, <span style="color: #009900;">&quot;articles&quot;</span><span style="color: #0000FF;">&#41;</span><span style="color: #0000FF;">&gt;</span></span>
			<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span>cffeed <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;session.articles&quot;</span> source<span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;#arguments.rssUrl#&quot;</span><span style="color: #0000FF;">&gt;</span></span>
		<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cfif</span><span style="color: #0000FF;">&gt;</span></span>
		<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> loc.articles <span style="color: #0000FF;">=</span> session.articles<span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #808080; font-style: italic;">&lt;!--- This is cached in production mode ---&gt;</span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfelse</span><span style="color: #0000FF;">&gt;</span></span>
		<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span>cffeed <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;loc.articles&quot;</span> source<span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;#arguments.rssUrl#&quot;</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cfif</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfreturn</span> loc.articles<span style="color: #0000FF;">&gt;</span></span>
&nbsp;
<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cffunction</span><span style="color: #0000FF;">&gt;</span></span></pre></div></div>

<p>Voila! A cached list of articles from the Delicious feed!</p>
<h2>Feed aggregation using Yahoo! Pipes</h2>
<p><a href="http://pipes.yahoo.com/">Yahoo! Pipes</a> is a visual tool for aggregating different types of data, sorting it, filtering it, and then exporting it to <abbr title="Really Simply Syndication">RSS</abbr> or <acronym title="JavaScript Object Notation">JSON</acronym>. It&#8217;s best used for my use case of having a tool where I can go in and manually add data to the aggregation. There are a lot of different data sources that you can use, but I&#8217;ve primarily used the tool for creating uber <abbr title="Really Simply Syndication">RSS</abbr> feeds.</p>
<p>This is the pipe layout that I created (click to view larger):</p>
<p><a href="http://www.clearcrystalmedia.com/pm/wp-content/uploads/yahoo-pipes-full.png"><img src="http://www.clearcrystalmedia.com/pm/wp-content/uploads/yahoo-pipes-thumb.jpg" alt="Yahoo! Pipes" title="Yahoo! Pipes" width="500" height="545" class="aligncenter size-full wp-image-371" /></a></p>
<p>Each item that I mention is available in a menu to the left of the canvas. You drag the items onto the canvas and then click and drag connectors of each item to connect them.</p>
<p><a href="http://www.clearcrystalmedia.com/pm/wp-content/uploads/yahoo-pipes-click-and-drag.jpg"><img src="http://www.clearcrystalmedia.com/pm/wp-content/uploads/yahoo-pipes-click-and-drag.jpg" alt="Yahoo! Pipes Click and Drag" title="Yahoo! Pipes Click and Drag" width="287" height="209" class="aligncenter size-full wp-image-372" /></a></p>
<p>Here are the basic steps that I followed to create the uber feed.</p>
<ol>
<li>Drag a <strong>Fetch Feed</strong> item from the left onto the canvas. Enter the <abbr title="Uniform Resource Locator">URL</abbr> of the feed. (In this case, I tried to just grab each blog&#8217;s ColdFusion on Wheels category.)</li>
<li>Chain each feed object into a <strong>Union</strong> operator.</li>
<li>Chain the <strong>Union</strong> items together if you need more than one.</li>
<li>Tie the last <strong>Union</strong> operator to a <strong>Sort</strong> item and set that to sort by date descending.</p>
<li>Tie the <strong>Sort</strong> item to the <strong>Output</strong> item that comes with the canvas.</li>
<li>Save and name the feed.</p>
<li>Go back to the <strong>My Pipes</strong> screen and grab the <abbr title="Really Simply Syndication">RSS</abbr> or <acronym title="JavaScript Object Notation">JSON</acronym> <abbr title="Uniform Resource Locator">URL</abbr> of the feed.</p>
</ol>
<p>As you&#8217;re doing all of these steps, you can click the <strong>Output</strong> item at the bottom and see a preview of what your feed data will look like in the <strong>Debugger</strong> panel. If you want to debug any part of the layout, you just click that element to see the preview as well. How slick is that?!</p>
<p><a href="http://www.clearcrystalmedia.com/pm/wp-content/uploads/yahoo-pipes-debugger.png"><img src="http://www.clearcrystalmedia.com/pm/wp-content/uploads/yahoo-pipes-debugger.png" alt="Yahoo! Pipes Debugger" title="Yahoo! Pipes Debugger" width="773" height="158" class="aligncenter size-full wp-image-374" /></a></p>
<p>Overall, I recommend playing with Pipes for an hour or 2 to see what kind of data mashups you can come up with. I&#8217;m sure there are other uses that I just haven&#8217;t thought of yet.</p>
<h2>Tying it to FeedBurner and <abbr title="ColdFusion Markup Language">CFML</abbr></h2>
<p>Because the output of this Pipe is <abbr title="Really Simply Syndication">RSS</abbr>, I basically copied most of the steps that I described above for the Delicious feed. I burned it with FeedBurner and then created a cached partial similar to the one in the Articles example above.</p>
<p>There are some differences in how I displayed the Articles vs. Bloggers feeds, so I could probably spend some time refactoring the common stuff into a base partial. Perhaps that is a discussion for a future post. <img src='http://www.clearcrystalmedia.com/pm/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<!-- start wp-tags-to-technorati 1.01 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/aggregation' rel='tag' target='_self'>aggregation</a>, <a class='technorati-link' href='http://technorati.com/tag/cfml' rel='tag' target='_self'>cfml</a>, <a class='technorati-link' href='http://technorati.com/tag/ColdFusion' rel='tag' target='_self'>ColdFusion</a>, <a class='technorati-link' href='http://technorati.com/tag/feedburner' rel='tag' target='_self'>feedburner</a>, <a class='technorati-link' href='http://technorati.com/tag/rss' rel='tag' target='_self'>rss</a>, <a class='technorati-link' href='http://technorati.com/tag/web2.0' rel='tag' target='_self'>web2.0</a>, <a class='technorati-link' href='http://technorati.com/tag/yahoo' rel='tag' target='_self'>yahoo</a>, <a class='technorati-link' href='http://technorati.com/tag/yahoo+pipes' rel='tag' target='_self'>yahoo pipes</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.clearcrystalmedia.com/pm/yahoo-pipes-feedburner-cfml/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SuperPreview: Microsoft has done something good for a change</title>
		<link>http://www.clearcrystalmedia.com/pm/superpreview-microsoft-has-done-good/</link>
		<comments>http://www.clearcrystalmedia.com/pm/superpreview-microsoft-has-done-good/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 22:34:12 +0000</pubDate>
		<dc:creator>Chris Peters</dc:creator>
				<category><![CDATA[Design & CSS]]></category>
		<category><![CDATA[Tools for the Job]]></category>
		<category><![CDATA[browser testing]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[ccm]]></category>
		<category><![CDATA[chris peters]]></category>
		<category><![CDATA[clear crystal media]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[polymorphism]]></category>
		<category><![CDATA[superpreview]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[web browsers]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.clearcrystalmedia.com/pm/?p=358</guid>
		<description><![CDATA[<p>Thanks to Microsoft's SuperPreview, I am able to test my websites in Internet Explorer versions 6, 7, and 8, all from one copy of Windows.</p>
<p>Read on to see a screenshot of the tool and how it has helped me out thus far.</p>]]></description>
			<content:encoded><![CDATA[<div id="attachment_359" class="wp-caption alignleft" style="width: 310px"><a href="http://www.clearcrystalmedia.com/pm/wp-content/uploads/superpreview.png"><img class="size-medium wp-image-359 " title="SuperPreview" src="http://www.clearcrystalmedia.com/pm/wp-content/uploads/superpreview-300x254.png" alt="SuperPreview" width="300" height="254" /></a><p class="wp-caption-text">Click to see a larger version of the image.</p></div>
<p>You can call it ghetto or whatever you want. But I was storing 3 VMware instances of Windows XP on my MacBook Pro. All so that I could test my websites in the 3 most recent versions of Internet Explorer.</p>
<p>Thanks to <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8e6ac106-525d-45d0-84db-dccff3fae677&amp;displaylang=en">SuperPreview</a> by Microsoft, I am able to remove 2 of those instances. I saved quite a bit of space on my hard drive by essentially removing 2 whole computers&#8217; worth of data. And now I can test my websites in Internet Explorer versions 6, 7, and 8. Win-win!</p>
<p>Take a look at the sexiness of comparing 2 versions side-by-side (click to view larger):</p>
<p>Gotta fix that one. Thanks Microsoft!</p>

<!-- start wp-tags-to-technorati 1.01 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/browser+testing' rel='tag' target='_self'>browser testing</a>, <a class='technorati-link' href='http://technorati.com/tag/browsers' rel='tag' target='_self'>browsers</a>, <a class='technorati-link' href='http://technorati.com/tag/ccm' rel='tag' target='_self'>ccm</a>, <a class='technorati-link' href='http://technorati.com/tag/chris+peters' rel='tag' target='_self'>chris peters</a>, <a class='technorati-link' href='http://technorati.com/tag/clear+crystal+media' rel='tag' target='_self'>clear crystal media</a>, <a class='technorati-link' href='http://technorati.com/tag/microsoft' rel='tag' target='_self'>microsoft</a>, <a class='technorati-link' href='http://technorati.com/tag/polymorphism' rel='tag' target='_self'>polymorphism</a>, <a class='technorati-link' href='http://technorati.com/tag/superpreview' rel='tag' target='_self'>superpreview</a>, <a class='technorati-link' href='http://technorati.com/tag/testing' rel='tag' target='_self'>testing</a>, <a class='technorati-link' href='http://technorati.com/tag/web+browsers' rel='tag' target='_self'>web browsers</a>, <a class='technorati-link' href='http://technorati.com/tag/web+design' rel='tag' target='_self'>web design</a>, <a class='technorati-link' href='http://technorati.com/tag/web+development' rel='tag' target='_self'>web development</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.clearcrystalmedia.com/pm/superpreview-microsoft-has-done-good/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Google Wave: Where communication is going</title>
		<link>http://www.clearcrystalmedia.com/pm/google-wave-where-communication-is-going/</link>
		<comments>http://www.clearcrystalmedia.com/pm/google-wave-where-communication-is-going/#comments</comments>
		<pubDate>Fri, 29 May 2009 15:56:28 +0000</pubDate>
		<dc:creator>Chris Peters</dc:creator>
				<category><![CDATA[Tools for the Job]]></category>
		<category><![CDATA[application development]]></category>
		<category><![CDATA[cfml]]></category>
		<category><![CDATA[chris peters]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[wave]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.chrispetersweb.com/?p=164</guid>
		<description><![CDATA[Google Wave let brings all forms of communication together into a central place. Photo sharing, group discussions, IMs, email, blog posts and comments, tweets, Facebook, and so much more. Google has really set up a field of dreams with this one. And it&#8217;s all open, open source, federated. I can&#8217;t see why this isn&#8217;t going [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wave.google.com/">Google Wave</a> let brings all forms of communication together into a central place. Photo sharing, group discussions, <abbr title="Instant Message">IM</abbr>s, email, blog posts and comments, tweets, Facebook, and so much more. Google has really set up a field of dreams with this one. And it&#8217;s all open, open source, federated.</p>
<p>I can&#8217;t see why this isn&#8217;t going to be adopted like crazy, and it makes me excited to know that my clients using Google Apps will probably see this for business use sometime in the near future.</p>
<p>Here is a fairly lengthy <a href="http://www.youtube.com/watch?v=v_UyVmITiYQ&amp;eurl=http%3A%2F%2Fwave.google.com%2F&amp;feature=player_embedded">demo of the new platform</a>, presented at the 2009 Google <abbr title="Input/Output">I/O</abbr> conference. Definitely worth a watch, even if you only devote a half hour to it.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/v_UyVmITiYQ&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/v_UyVmITiYQ&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p>Because <a href="http://code.google.com/webtoolkit/">Google Web Toolkit</a> is Java-based, I&#8217;m not seeing why <abbr title="ColdFusion Markup Language">CFML</abbr> developers shouldn&#8217;t take a look at making a <abbr title="ColdFusion Component">CFC</abbr> <abbr title="Application Programming Interface">API</abbr> for it <em>stat</em>. I&#8217;m going to need to take a look at this.</p>

<!-- start wp-tags-to-technorati 1.01 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/application+development' rel='tag' target='_self'>application development</a>, <a class='technorati-link' href='http://technorati.com/tag/cfml' rel='tag' target='_self'>cfml</a>, <a class='technorati-link' href='http://technorati.com/tag/chris+peters' rel='tag' target='_self'>chris peters</a>, <a class='technorati-link' href='http://technorati.com/tag/ColdFusion' rel='tag' target='_self'>ColdFusion</a>, <a class='technorati-link' href='http://technorati.com/tag/communication' rel='tag' target='_self'>communication</a>, <a class='technorati-link' href='http://technorati.com/tag/email' rel='tag' target='_self'>email</a>, <a class='technorati-link' href='http://technorati.com/tag/google' rel='tag' target='_self'>google</a>, <a class='technorati-link' href='http://technorati.com/tag/platform' rel='tag' target='_self'>platform</a>, <a class='technorati-link' href='http://technorati.com/tag/wave' rel='tag' target='_self'>wave</a>, <a class='technorati-link' href='http://technorati.com/tag/web+development' rel='tag' target='_self'>web development</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.clearcrystalmedia.com/pm/google-wave-where-communication-is-going/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hooking OmniFocus to CentOS via WebDAV</title>
		<link>http://www.clearcrystalmedia.com/pm/omnifocus-centos-apache-webdav/</link>
		<comments>http://www.clearcrystalmedia.com/pm/omnifocus-centos-apache-webdav/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 23:38:27 +0000</pubDate>
		<dc:creator>Chris Peters</dc:creator>
				<category><![CDATA[Tools for the Job]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[omnifocus]]></category>
		<category><![CDATA[webdav]]></category>

		<guid isPermaLink="false">http://www.chrispetersweb.com/?p=155</guid>
		<description><![CDATA[I&#8217;ve been on a Getting Things Done kick lately and have taken a liking to OmniFocus for managing my projects. They have an iPhone version that can sync with your desktop copy through a WebDAV server (amongst other options like Bonjour and MobileMe). Guess what. I had trouble setting up WebDAV on CentOS. But I [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been on a <a href="http://www.davidco.com/">Getting Things Done</a> kick lately and have taken a liking to <a href="http://www.omnigroup.com/applications/omnifocus/">OmniFocus</a> for managing my projects. They have an iPhone version that can sync with your desktop copy through a <acronym title="Web-based Distributed Authoring and Versioning">WebDAV</acronym> server (amongst other options like Bonjour and MobileMe).</p>
<p>Guess what. I had trouble setting up <acronym title="Web-based Distributed Authoring and Versioning">WebDAV</acronym> on <acronym title="Community Enterprise Operating System">CentOS</acronym>. But I figured it out. This one&#8217;s mainly for people running Google searches trying to figure this out like I had to.<span id="more-155"></span></p>
<h3>Me + Linux = Slow</h3>
<p>I have a love-hate relationship with my Linux server. On one hand, it&#8217;s super-reliable. I love that. But on the other hand, I&#8217;m a boob when it comes to running Linux commands from Terminal.</p>
<p>I get my Linux, ColdFusion, and <abbr title="PHP Hypertext Pre-processor">PHP</abbr> hosted at <a href="http://www.viviotech.net/">Vivio Technologies</a>, which runs their servers off of <acronym title="Community Enterprise Operating System">CentOS</acronym> by default. I highly recommend them if you&#8217;re looking for solid ColdFusion+Linux hosting.</p>
<h3>Setting up <acronym title="Web-based Distributed Authoring and Versioning">WebDAV</acronym> on <acronym title="Community Enterprise Operating System">CentOS</acronym> Servers</h3>
<p>There were a few pages on the Web that talked about installing <acronym title="Web-based Distributed Authoring and Versioning">WebDAV</acronym> on Linux. But none of it got me 100% there. Simon posted a great write-up on <a href="http://www.stiefels.net/2008/11/30/synchronizing-omnifocus-via-webdav-on-gentoo-linux/">synchronizing OmniFocus via <acronym title="Web-based Distributed Authoring and Versioning">WebDAV</acronym> on Gentoo Linux</a>. Unfortunately, I was only able to get a forbidden error message from OmniFocus when setting up the sync point. Do follow his advice on enabling <em>mod_dav</em> and <em>mod_dav_fs</em> though.</p>
<p>My biggest lead for <a title="Red Hat / CentOS Linux: Apache Enable WebDAV" href="http://www.cyberciti.biz/faq/rhel-fedora-linux-apache-enable-webdav/"><acronym title="Community Enterprise Operating System">CentOS</acronym> + <acronym title="Web-based Distributed Authoring and Versioning">WebDAV</acronym> bliss</a> was from Vivek Gite on nixCraft. Apparently <acronym title="Community Enterprise Operating System">CentOS</acronym> will auto-include a file at <span class="code">/etc/httpd/conf.d/webdav.conf</span> for <acronym title="Web-based Distributed Authoring and Versioning">WebDAV</acronym> operations.</p>
<p>And he includes a sample of what you should include in this magical file if you&#8217;re looking to enable <acronym title="Web-based Distributed Authoring and Versioning">WebDAV</acronym> in Apache:</p>
<blockquote cite="http://www.cyberciti.biz/faq/rhel-fedora-linux-apache-enable-webdav/">
<pre>&lt;IfModule mod_dav.c&gt;
    LimitXMLRequestBody <span>131072</span>

    Alias /webdav <span style="color: #993333;">"/home/httpd/webdav"</span>
    &lt;Directory /home/httpd/webdav&gt;
        Dav On
        Options +Indexes
        IndexOptions FancyIndexing
        AddDefaultCharset UTF<span>-8</span>
        AuthType Basic
        AuthName <span style="color: #993333;">"WebDAV Server"</span>
        AuthUserFile /etc/httpd/webdav.users.pwd
        Require valid-user
        Order allow,deny
        Allow from all
    &lt;/Directory&gt;
&lt;/IfModule&gt;</pre>
</blockquote>
<p>You then need to create a password file for whatever location you specify for <span class="code">AuthUserFile</span>. Do that with this command:</p>
<pre># htpasswd -c /etc/httpd/webdav.users.pwd tom</pre>
<p>You will be prompted to enter a password, which will be populated in the password file.</p>
<p>One final tip that I didn&#8217;t get from either article was to change permissions for your <acronym title="Web-based Distributed Authoring and Versioning">WebDAV</acronym>-able directory to <span class="code">755</span>. So for our above example, we would do this:</p>
<pre># chmod 755 /home/httpd/webdav</pre>
<p>Restart Apache using <span class="code">apachectl restart</span>, and you should be golden. Getting OmniFocus and the iPhone working is pretty easy once you have the damn server working correctly.</p>
<h3>Did I forget anything?</h3>
<p>Did I forget a step or anything? Check on the articles that I linked to and let me know in the comments so I can fix this.</p>
<p>Now I&#8217;m off to record and process my &#8220;stuff&#8221; so that I can feel assured that it will always be with me via my iPhone.</p>

<!-- start wp-tags-to-technorati 1.01 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/apache' rel='tag' target='_self'>apache</a>, <a class='technorati-link' href='http://technorati.com/tag/centos' rel='tag' target='_self'>centos</a>, <a class='technorati-link' href='http://technorati.com/tag/iphone' rel='tag' target='_self'>iphone</a>, <a class='technorati-link' href='http://technorati.com/tag/linux' rel='tag' target='_self'>linux</a>, <a class='technorati-link' href='http://technorati.com/tag/mac' rel='tag' target='_self'>mac</a>, <a class='technorati-link' href='http://technorati.com/tag/omnifocus' rel='tag' target='_self'>omnifocus</a>, <a class='technorati-link' href='http://technorati.com/tag/webdav' rel='tag' target='_self'>webdav</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.clearcrystalmedia.com/pm/omnifocus-centos-apache-webdav/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

