<?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>Institutional Knowledge &#187; Ruby on Rails</title>
	<atom:link href="http://blogs.csuchico.edu/ik/category/web-development/ruby-on-rails/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.csuchico.edu/ik</link>
	<description>Wherein we write down some stuff that we know.</description>
	<lastBuildDate>Mon, 24 Aug 2009 16:28:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9-rare</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Goin&#8217; Mobile</title>
		<link>http://blogs.csuchico.edu/ik/2008/11/20/goin-mobile/</link>
		<comments>http://blogs.csuchico.edu/ik/2008/11/20/goin-mobile/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 18:17:32 +0000</pubDate>
		<dc:creator>sjungling</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://blogs.csuchico.edu/ik/?p=394</guid>
		<description><![CDATA[&#8220;Like an air conditioned gypsy&#8221; and other obscure Who references.

Last week one of our mission critical systems hit a bump in the road and was offline a better part of the day. We have a web application called System Status that is used by the help desk to track the availability of such systems. Having [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Like an air conditioned gypsy&#8221; and other obscure Who references.</p>

<p>Last week one of our mission critical systems hit a bump in the road and was offline a better part of the day. We have a web application called System Status that is used by the help desk to track the availability of such systems. Having resolved all the issues we left the building only to realize that we needed to update the System Status application to notify the help desk and end-users that the system was back online.</p>

<p>Three of us immediately whipped out our iPhones to access the site and change the status flag. At that moment it hit me, why on earth isn&#8217;t this optimized for mobile devices? Having found a practical place to experiment with the iUI framework, I set about creating a parallel mobile interface for System Status. This interface, which uses the iPhone interface metaphors, will allow help desk support staff to check and update the status of our systems while out in the field or away on business.</p>

<p>Here are a couple of screenshots to give you an idea of how the interface would look on an iPhone.</p>

<p><a href="http://blogs.csuchico.edu/ik/wp-content/uploads/2008/11/status_systems.png"><img class="size-full wp-image-396   " title="status_systems" src="http://blogs.csuchico.edu/ik/wp-content/uploads/2008/11/status_systems.png" alt="System Status" width="212" height="404" /></a><a href="http://blogs.csuchico.edu/ik/wp-content/uploads/2008/11/status_update.png"><img class="size-full wp-image-397  " title="status_update" src="http://blogs.csuchico.edu/ik/wp-content/uploads/2008/11/status_update.png" alt="status_update" width="226" height="431" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://blogs.csuchico.edu/ik/2008/11/20/goin-mobile/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A New Rails Launch</title>
		<link>http://blogs.csuchico.edu/ik/2007/03/02/a-new-rails-launch/</link>
		<comments>http://blogs.csuchico.edu/ik/2007/03/02/a-new-rails-launch/#comments</comments>
		<pubDate>Fri, 02 Mar 2007 15:57:38 +0000</pubDate>
		<dc:creator>pberry</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blogs.csuchico.edu/ik/2007/03/02/a-new-rails-launch/</guid>
		<description><![CDATA[Wherein we talk of launching a new app and our awesome new production server setup.]]></description>
			<content:encoded><![CDATA[<p>Well, it&#8217;s be a long, hard road&#8230;but we are complete with &#8220;Phase 1&#8221; of our development of Omni.  This application will help the <a href="http://www.csuchico.edu/ires/security/">Information Security</a> department deal with the servers on campus.  But that isn&#8217;t the interesting part.  The best part was this is the first application to enjoy living on our new production server.</p>

<p>Previously we were deploying our <a href="http://www.rubyonrails.org/">Rails</a> applications with Apache &amp; <a href="http://www.fastcgi.com/">FastCGI</a>.  It was functional, but not quite optimal.  If the FastCGI processes weren&#8217;t routinely reaped they would just linger around sucking up <span class="caps">RAM. </span> We also ran into a slew of problems while trying to do simple things with Capistrano.  All of these problems were our fault and stemmed from the fact that we never cleaned up our production/deployment model once we got things &#8220;working.&#8221;  So we took the opportunity of a new server to get a fresh start on how we deploy our applications.</p>

<p>So, with a clean slate what did we fix/change?</p>

<h2><a href="http://mongrel.rubyforge.org/">Mongrel</a> &amp; <a href="http://mongrel.rubyforge.org/docs/mongrel_cluster.html">mongrel_cluster</a></h2>

<p>Goodbye FastCGI!  We&#8217;ve been using mongrel for local development and have been quite happy with it.  It&#8217;s well written and well documented.  We&#8217;re deploying behind Apache 2.0.x without using pen or pound in the middle.  We are eagerly awaiting <span class="caps">RHEL</span> 5 which comes with Apache 2.2 and <a href="http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html">mod_proxy_balancer</a>.</p>

<p>Running a cluster means that sessions are going to need to go in a central place accessible to each mongrel instance.  We choose the database because it was <em>drop dead simple</em>.  We&#8217;re using a 1.0.x pre-release of mongrel_cluster and it&#8217;s been a dream.  The <a href="http://manuals.rubyonrails.com/read/book/17">Capistrano</a> recipes are so nice to have.  We still marvel at doing simple things like <code>cap update_current</code> and have it &#8220;just work.&#8221;  Obviously we&#8217;ve been living far too long with a spit and duct tape setup.  Good riddance.</p>

<h2>Rails 1.2.x</h2>

<p>While we were working on Omni, Rails progressed from 1.1.x to 1.2.x.  This was a big jump, but well worth it and allowed us to use a few less plugins.  The story of taking our existing apps to 1.2 is a post for another day.</p>

<p><hr /></p>

<p>A number of things didn&#8217;t change.  We&#8217;re still happy with Subversion and MySQL.  Things that come stock with <span class="caps">RHEL </span>make our lives easier.  Of course, we&#8217;re still on version 4 so we did need to <a href="http://blogs.csuchico.edu/ik/2007/01/03/howto-install-fedora-ruby-on-rhel/">upgrade Ruby</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://blogs.csuchico.edu/ik/2007/03/02/a-new-rails-launch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two new Rails Apps</title>
		<link>http://blogs.csuchico.edu/ik/2006/12/14/two-new-rails-apps/</link>
		<comments>http://blogs.csuchico.edu/ik/2006/12/14/two-new-rails-apps/#comments</comments>
		<pubDate>Thu, 14 Dec 2006 18:11:32 +0000</pubDate>
		<dc:creator>sjungling</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blogs.csuchico.edu/ik/2006/12/14/two-new-rails-apps/</guid>
		<description><![CDATA[Wherein we show off new stuff.]]></description>
			<content:encoded><![CDATA[<p>In the last two days, we&#8217;ve launched two Rails apps. The first was Omni, a secret sauce intranet application designed to support staff in various issues. It&#8217;s been a bit of a beast having taken over 6 months to develop. It feels good to get v1.0 out the door and switch into a <i>triage bug fix</i> mode.</p>

<p>The second app is the <a href="http://casper.csuchico.edu">Casper Pledge Form</a> which I actually just put some finishing touches on and deployed. Roberta Roebuck was the actual designer/programmer behind the application.</p>

<p><a href="http://www.rubyonrails.org">Rails</a> rocks. It make it easy to get stuff out the door and can really aid you in developing larger scale applications. Bug fixes and improvements are super easy with the development model and the logical placement of certain type of files. If you haven&#8217;t checked it out yet, do so today.</p>]]></content:encoded>
			<wfw:commentRss>http://blogs.csuchico.edu/ik/2006/12/14/two-new-rails-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails in Higher Education</title>
		<link>http://blogs.csuchico.edu/ik/2006/11/11/rails-in-higher-education/</link>
		<comments>http://blogs.csuchico.edu/ik/2006/11/11/rails-in-higher-education/#comments</comments>
		<pubDate>Sat, 11 Nov 2006 15:39:32 +0000</pubDate>
		<dc:creator>pberry</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blogs.csuchico.edu/ik/2006/11/11/rails-in-higher-education/</guid>
		<description><![CDATA[Now has a Google Group.  Join up and introduce yourself.]]></description>
			<content:encoded><![CDATA[<p>Now has a <a href="http://groups-beta.google.com/group/ruby-on-rails-higher-ed">Google Group</a>.  Join up and introduce yourself.</p>]]></content:encoded>
			<wfw:commentRss>http://blogs.csuchico.edu/ik/2006/11/11/rails-in-higher-education/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails in Academia</title>
		<link>http://blogs.csuchico.edu/ik/2006/09/20/rails-in-academia/</link>
		<comments>http://blogs.csuchico.edu/ik/2006/09/20/rails-in-academia/#comments</comments>
		<pubDate>Wed, 20 Sep 2006 20:22:52 +0000</pubDate>
		<dc:creator>pberry</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blogs.csuchico.edu/ik/2006/09/20/rails-in-academia/</guid>
		<description><![CDATA[Wherein we declare our use of Rails to the world.  Again.]]></description>
			<content:encoded><![CDATA[<p>Scott made sure we got in on the <a href="http://weblog.rubyonrails.com/2006/9/20/university-of-notre-dame-on-rails">academia thread</a> over at the Rails Weblog.  I guess they started moderating their comments because mine hasn&#8217;t showed up yet.  So, here is what I submitted in case it gets eaten by their system.</p>

<blockquote><p>I&#8217;m at California State University, Chico (Chico State for short) and we&#8217;ve developed and deployed four rails apps (mostly internal to the IT department) and have a couple in development.  We also run an instance of typo for one of our developer blogs.  Our development used to center around <span class="caps">PHP </span>or perl for &#8220;small jobs&#8221; with most of the &#8220;big stuff&#8221; being done in <span class="caps">J2EE.</span></p>

<p>The <span class="caps">J2EE </span>stuff isn&#8217;t going anyway (uPortal/CAS), but a lot of the new development, at least in our area, is going to rails.  In the move to rails we also jumped from cvs to svn, <span class="caps">BBE</span>dit to TextMate and started using Capistrano to ease deployment.  We develop on OS X and deploy on <span class="caps">RHEL</span> 4/Apache2/MySQL4/FastCGI.  </p>

<p>We never want to go back and we&#8217;re slowly infecting other departments.  Rails is a great tool to have in our box of developer goodies.  We got started with the <span class="caps">AWD</span>wR book and went on to Rails Recipes and Enterprise Integration with Ruby and of course the Pick Axe 2nd Ed.</p></blockquote>]]></content:encoded>
			<wfw:commentRss>http://blogs.csuchico.edu/ik/2006/09/20/rails-in-academia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Streamlining Rails</title>
		<link>http://blogs.csuchico.edu/ik/2006/08/04/streamlining-rails/</link>
		<comments>http://blogs.csuchico.edu/ik/2006/08/04/streamlining-rails/#comments</comments>
		<pubDate>Fri, 04 Aug 2006 15:59:30 +0000</pubDate>
		<dc:creator>pberry</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blogs.csuchico.edu/ik/2006/08/04/streamlining-rails/</guid>
		<description><![CDATA[Recently there has been a lot of buzz about Streamlined for Rails apps.  Basically it&#8217;s smart scaffolding that understands table relationships.  Again, that&#8217;s the most basic way of talking about it, but it will suffice for what we&#8217;re doing right now.

One of the things that I don&#8217;t think people understand about Streamlined is [...]]]></description>
			<content:encoded><![CDATA[<p>Recently there has been a lot of buzz about <a href="http://streamlined.relevancellc.com/">Streamlined</a> for Rails apps.  Basically it&#8217;s smart scaffolding that understands table relationships.  Again, that&#8217;s the most basic way of talking about it, but it will suffice for what we&#8217;re doing right now.</p>

<p>One of the things that I don&#8217;t think people understand about Streamlined is that it is designed for &#8220;back end&#8221; interfaces.  The screens that only a few people see and use to administer an application.  For those situations it seems to be pretty nice.  I cranked out a small app in an hour and a half this morning that deals with a <acronym title="Has and Belongs to Many">HABTM</acronym> situation and it worked out quite well.</p>

<p>In other words it seems to be designed to deal with a very limited scope of a rails app.  It will not solve all of your user interface problems.  It will just make some of them a lot easier to deal with.</p>]]></content:encoded>
			<wfw:commentRss>http://blogs.csuchico.edu/ik/2006/08/04/streamlining-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Comparison</title>
		<link>http://blogs.csuchico.edu/ik/2006/07/11/quick-comparison/</link>
		<comments>http://blogs.csuchico.edu/ik/2006/07/11/quick-comparison/#comments</comments>
		<pubDate>Tue, 11 Jul 2006 22:38:40 +0000</pubDate>
		<dc:creator>sjungling</dc:creator>
				<category><![CDATA[Recent Projects]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blogs.csuchico.edu/ik/2006/07/11/quick-comparison/</guid>
		<description><![CDATA[ProjectLines of CodeLines of Test CodeEquipment Disposal297160System Status430328Room Reservations379293Omni (In Progress)273346

Omni presently has no user interface or logic controlling the handling of information. It&#8217;s just models, associations, and tests. It&#8217;ll be interesting to see how big it will grow over the next couple of weeks.]]></description>
			<content:encoded><![CDATA[<table><tr><td><strong>Project</strong></td><td><strong>Lines of Code</strong></td><td><strong>Lines of Test Code</strong></td></tr><tr><td>Equipment Disposal</td><td>297</td><td>160</td></tr><tr><td>System Status</td><td><em>430</em></td><td>328</td></tr><tr><td>Room Reservations</td><td>379</td><td>293</td></tr><tr><td>Omni (In Progress)</td><td>273</td><td><em>346</em></td></tr></table>

<p>Omni presently has no user interface or logic controlling the handling of information. It&#8217;s just models, associations, and tests. It&#8217;ll be interesting to see how big it will grow over the next couple of weeks.</p>]]></content:encoded>
			<wfw:commentRss>http://blogs.csuchico.edu/ik/2006/07/11/quick-comparison/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CASLogin Plugin</title>
		<link>http://blogs.csuchico.edu/ik/2006/07/10/caslogin-plugin/</link>
		<comments>http://blogs.csuchico.edu/ik/2006/07/10/caslogin-plugin/#comments</comments>
		<pubDate>Mon, 10 Jul 2006 17:41:00 +0000</pubDate>
		<dc:creator>sjungling</dc:creator>
				<category><![CDATA[Authentication]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blogs.csuchico.edu/ik/2006/07/10/caslogin-plugin/</guid>
		<description><![CDATA[Wherein we develop a CAS plugin for Rails.]]></description>
			<content:encoded><![CDATA[<p>In an effort to further <span>abstract</span> the <span class="caps">CAS</span> Login portion of our Ruby on Rails applications, I&#8217;ve taken our <span class="caps">CAS</span> Login Module and turned that into a plugin that can be included in any past or present Rails applications and managed separate from the development of the applications themselves. You can read all about how the plugin works and how to use it in your application on the <a href="http://developer.csuchico.edu/wiki/ruby_on_rails:caslogin_plugin">Developer Wiki</a>. </p>

<p>This also marks the beginning of our public <a href="http://developer.csuchico.edu/svn">Subversion repository</a> allowing other developers to access our code via <span class="caps">SVN.</span> Currently, the <span class="caps">CASL</span>ogin plugin is the only source available and only Web Services has write permissions to the repository.</p>

<p><strong>Links</strong></p>

<ul>
<li><a href="http://developer.csuchico.edu/wiki/ruby_on_rails:caslogin_plugin">http://developer.csuchico.edu/wiki/ruby_on_rails:caslogin_plugin</a></li>
<li><a href="http://developer.csuhico.edu/svn">http://developer.csuhico.edu/svn</a></li>
</ul>
<!-- technorati tags begin --><p style="font-size:10px;text-align:right;">technorati tags:<a href="http://technorati.com/tag/cas" rel="tag">cas</a>, <a href="http://technorati.com/tag/wiki" rel="tag">wiki</a>, <a href="http://technorati.com/tag/plugin" rel="tag">plugin</a>, <a href="http://technorati.com/tag/rubyonrails" rel="tag">rubyonrails</a></p><!-- technorati tags end -->]]></content:encoded>
			<wfw:commentRss>http://blogs.csuchico.edu/ik/2006/07/10/caslogin-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails-based CMS on the Way</title>
		<link>http://blogs.csuchico.edu/ik/2006/05/03/rails-based-cms-on-the-way/</link>
		<comments>http://blogs.csuchico.edu/ik/2006/05/03/rails-based-cms-on-the-way/#comments</comments>
		<pubDate>Wed, 03 May 2006 17:28:53 +0000</pubDate>
		<dc:creator>pberry</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://fozzy.csuchico.edu/wordpress/2006/05/03/rails-based-cms-on-the-way/</guid>
		<description><![CDATA[Via Riding Rails we learn of a content management project, RadiantCMS, which looks quite sweet.

Things called a CMS are notoriously complex. Cheers for keeping it simple.

No truer words&#8230;

Could Chico use something like this?  Doubtful.  Will we keep our eye on it?  Of course!]]></description>
			<content:encoded><![CDATA[<p>Via <a href="http://weblog.rubyonrails.com/articles/2006/05/03/radiant-released-content-management-simplified">Riding Rails</a> we learn of a content management project, <a href="http://radiantcms.org/">RadiantCMS</a>, which looks quite sweet.</p>

<blockquote><p>Things called a <span class="caps">CMS </span>are notoriously complex. Cheers for keeping it simple.</p></blockquote>

<p>No truer words&#8230;</p>

<p>Could Chico use something like this?  Doubtful.  Will we keep our eye on it?  Of course!</p>]]></content:encoded>
			<wfw:commentRss>http://blogs.csuchico.edu/ik/2006/05/03/rails-based-cms-on-the-way/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Summer is Near, Time to Unfreeze</title>
		<link>http://blogs.csuchico.edu/ik/2006/04/21/summer-is-near-time-to-unfreeze/</link>
		<comments>http://blogs.csuchico.edu/ik/2006/04/21/summer-is-near-time-to-unfreeze/#comments</comments>
		<pubDate>Fri, 21 Apr 2006 22:05:19 +0000</pubDate>
		<dc:creator>pberry</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://fozzy.csuchico.edu/wordpress/2006/04/21/summer-is-near-time-to-unfreeze/</guid>
		<description><![CDATA[When Rails 1.1 came out we didn&#8217;t want to break our existing apps (not that we were doing anything that would have broke, but why take that risk) so we did the prudent thing and &#8220;froze&#8221; our apps with the gems for Rails 1.0.  That Rails allows you to do this is such a [...]]]></description>
			<content:encoded><![CDATA[<p>When Rails 1.1 came out we didn&#8217;t want to break our existing apps (not that we were doing anything that would have broke, but why take that risk) so we did the prudent thing and &#8220;froze&#8221; our apps with the gems for Rails 1.0.  That Rails allows you to do this is such a stupid-easy way isn&#8217;t that surprising.  What&#8217;s also nice is that once you&#8217;ve tested on Rails 1.1 it&#8217;s just as easy to undo, <code>rake unfreeze_rails</code>.</p>

<p>That&#8217;s it.  Did you expect more?</p>]]></content:encoded>
			<wfw:commentRss>http://blogs.csuchico.edu/ik/2006/04/21/summer-is-near-time-to-unfreeze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
