<?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>Nodeta &#187; Rails</title>
	<atom:link href="http://blog.nodeta.fi/category/rails/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.nodeta.fi</link>
	<description>on Rails</description>
	<lastBuildDate>Mon, 06 Sep 2010 13:14:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Avoiding Rails session race conditions &#8211; now with PostgreSQL</title>
		<link>http://blog.nodeta.fi/2009/03/27/avoiding-rails-session-race-conditions-postgresql/</link>
		<comments>http://blog.nodeta.fi/2009/03/27/avoiding-rails-session-race-conditions-postgresql/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 19:04:35 +0000</pubDate>
		<dc:creator>Otto Hilska</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[store]]></category>

		<guid isPermaLink="false">http://blog.nodeta.fi/?p=87</guid>
		<description><![CDATA[Long story short: Ruby on Rails session handling does have some concurrency problems. Especially with AJAX requests this is a very potential scenario:

Request 1 loads user session
Request 2 loads user session
Request 1 stores something to the session
Request 2 stores something to the session
Request 1 writes its session data to the database
Request 2 writes its session [...]]]></description>
			<content:encoded><![CDATA[<p>Long story short: Ruby on Rails session handling <a href="http://www.texperts.com/2007/05/01/race-conditions-in-rails-sessions-and-how-to-fix-them/">does have some concurrency problems</a>. Especially with AJAX requests this is a very potential scenario:</p>
<ol>
<li>Request 1 loads user session</li>
<li>Request 2 loads user session</li>
<li>Request 1 stores something to the session</li>
<li>Request 2 stores something to the session</li>
<li>Request 1 writes its session data to the database</li>
<li>Request 2 writes its session data to the database</li>
</ol>
<p>Now, of course whatever request 1 wrote there is pretty much lost. These bugs are hard to find, and in my case the site had been in production use for 18 months before this really became a problem.</p>
<p>I soon found out that <a href="http://www.spacevatican.org/">Frederick Cheung</a> had already written a plugin called <a href="http://github.com/fcheung/smart_session_store/tree">Smart Session Store</a> to handle these race conditions by locking the session row when needed. However, it didn&#8217;t work with the latest PostgreSQL drivers.</p>
<p>I&#8217;ve fixed this to work with combinations of the pg/postgers driver and Rails 2.2/2.3 <a href="http://github.com/mutru/smart_session_store/tree/master">in my smart_session_store fork</a>. The tests are also now actually testing something. I&#8217;ve sent a pull request, so everyone should be able to enjoy it soon.</p>
<p>It&#8217;s really a good practice to somehow handle session concurrency even before it&#8217;s a problem, because these kinds of bugs tend to appear when you least expect it.</p>
<p>We can test this by adding two actions to our controller. They should both write something to the session, and the other one should <a href="http://apidock.com/ruby/Kernel/sleep">sleep</a> a while to make sure that its changes are likely to be lost.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nodeta.fi/2009/03/27/avoiding-rails-session-race-conditions-postgresql/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>APIdock 1.4 with Rails 2.3</title>
		<link>http://blog.nodeta.fi/2009/03/16/apidock-14-with-rails-23/</link>
		<comments>http://blog.nodeta.fi/2009/03/16/apidock-14-with-rails-23/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 19:51:44 +0000</pubDate>
		<dc:creator>Mikael Roos</dc:creator>
				<category><![CDATA[APIdock]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://blog.nodeta.fi/?p=84</guid>
		<description><![CDATA[APIdock 1.4 (IRON STEVE) was deployed a few minutes ago. The release consists of mostly bug fixes and some minor stuff.
The docs for the new Ruby on Rails 2.3.2 with Rack and Metal and all kinds of other awesomeness are being imported as I&#8217;m writing this. Check the new docs here.
Update: RSpec 1.2 was just imported [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://apidock.com">APIdock</a> 1.4 (IRON STEVE) was deployed a few minutes ago. The release consists of mostly bug fixes and some minor stuff.</p>
<p>The docs for the new <a href="http://weblog.rubyonrails.org/2009/3/16/rails-2-3-templates-engines-rack-metal-much-more">Ruby on Rails 2.3.2</a> with Rack and Metal and all kinds of other awesomeness are being imported as I&#8217;m writing this. Check the new docs <a href="http://apidock.com/rails">here</a>.</p>
<p><strong>Update: </strong><a href="http://rspec.info/documentation/changes-rspec.html">RSpec 1.2</a> was just imported as well. <a href="http://apidock.com/rspec">To the docs</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nodeta.fi/2009/03/16/apidock-14-with-rails-23/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Stopping your Rails application with Phusion Passenger</title>
		<link>http://blog.nodeta.fi/2009/03/11/stopping-your-rails-application-with-phusion-passenger/</link>
		<comments>http://blog.nodeta.fi/2009/03/11/stopping-your-rails-application-with-phusion-passenger/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 14:38:15 +0000</pubDate>
		<dc:creator>Otto Hilska</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[mod_rails]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[stop]]></category>

		<guid isPermaLink="false">http://blog.nodeta.fi/?p=83</guid>
		<description><![CDATA[I must not be the only one who occasionally wants to stop a Ruby on Rails application. There are long-running and risky database schema migrations and data migrations, and you don&#8217;t want users fiddling the system in the middle of the deployment.
With a Mongrel-based setup it was easy to set up a 503 (Service unavailable) [...]]]></description>
			<content:encoded><![CDATA[<p>I must not be the only one who occasionally wants to stop a Ruby on Rails application. There are long-running and risky database schema migrations and data migrations, and you don&#8217;t want users fiddling the system in the middle of the deployment.</p>
<p>With a Mongrel-based setup it was easy to set up a 503 (Service unavailable) error page and then just shut down all the Mongrels, so that Apache could give users a maintenance page. Using <a href="http://www.modrails.com/">mod_rails</a> (Phusion Passenger), only restart is supported out-of-the-box.</p>
<p>However, it&#8217;s possible to use mod_rewrite to prevent users from accessing your site during the deployment. Try this in your Apache virtual host configuration file:</p>
<pre>
# This option is not needed with Passenger >=2.1.1.
RailsAllowModRewrite on

ErrorDocument 503 /503.html

RewriteEngine on

RewriteCond %{DOCUMENT_ROOT}/../tmp/stop.txt -f
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /$1 [R=503,L]
</pre>
<p>Basically the last three lines mean:</p>
<ol>
<li>If there is a <i>tmp/stop.txt</i> file</li>
<li>and user is requesting a file that does not directly exist in the file system</li>
<li>then return error 503 and render the appropriate maintenance page</li>
</ol>
<p>It doesn&#8217;t actually stop your Rails processes, though. They will die when Passenger times out.</p>
<p>Now it&#8217;s also easy to incorporate this to your Capistrano configuration:</p>
<pre>
namespace :passenger do
  desc "Restart Passenger"
  task :restart, :roles => :app do
    run "touch #{current_path}/tmp/restart.txt"
  end

  desc "Stop Passenger"
  task :stop, :roles => :app do
    run "touch #{current_path}/tmp/stop.txt"
  end

  desc "Start (or un-stop) Passenger"
  task :start, :roles => :app do
    run "rm -f #{current_path}/tmp/stop.txt"
  end
end
</pre>
<p>After this it&#8217;s safe to deploy big new releases without completely taking down your Apache.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nodeta.fi/2009/03/11/stopping-your-rails-application-with-phusion-passenger/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>APIdock to be built-in in the Rails Textmate bundle?</title>
		<link>http://blog.nodeta.fi/2009/03/05/apidock-to-be-built-in-in-the-rails-textmate-bundle/</link>
		<comments>http://blog.nodeta.fi/2009/03/05/apidock-to-be-built-in-in-the-rails-textmate-bundle/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 11:05:24 +0000</pubDate>
		<dc:creator>Mikael Roos</dc:creator>
				<category><![CDATA[APIdock]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[drnic]]></category>
		<category><![CDATA[lautis]]></category>
		<category><![CDATA[Textmate]]></category>

		<guid isPermaLink="false">http://blog.nodeta.fi/?p=81</guid>
		<description><![CDATA[In addition to all kinds of general Ruby fame, Dr. Nic is the creator and maintainer of the Ruby on Rails Textmate bundle. Now, it seems that just a few hours ago he noticed that our Ville Lautanala aka Lautis had written a few good bugfixes and changes to the bundle. He then went ahead [...]]]></description>
			<content:encoded><![CDATA[<p>In addition to all kinds of general Ruby fame, <a href="http://drnicwilliams.com/">Dr. Nic</a> is the <span style="text-decoration: line-through;">creator and</span> maintainer of the Ruby on Rails Textmate bundle. Now, it seems that just a few hours ago he noticed that our Ville Lautanala aka <a href="http://github.com/lautis">Lautis</a> had written a few good bugfixes and changes to the bundle. He then went ahead and <a href="http://github.com/drnic/ruby-on-rails-tmbundle/commit/9f8336addeab500c69d30023eddf0a3f92b3e099">merged them to the master branch</a>.  And the real kicker here is, that among those changes was the <a href="http://github.com/drnic/ruby-on-rails-tmbundle/commit/b8c5f160014112a4afa5a90ca92505b1b8ab0bc2">change</a> that adds <a href="http://apidock.com">APIdock</a>-powered documentation macros. Let&#8217;s hope that this change sticks so all Rails codin&#8217; Textmate users will be able to enjoy the rich documentation browsing that APIdock provides.</p>
<p>Will the <a href="http://github.com/drnic/ruby-tmbundle/tree/master">Ruby bundle</a>, which is also maintained by Dr. Nic, follow next?</p>
<p><strong>Update:</strong> Origin of the bundle can be changed using following commands:</p>
<p>% cd ~/Library/Application\ Support/Textmate/Bundles/Ruby\ On\ Rails.tmbundle<br />
% git remote rm origin<br />
% git remote add -f -t master -m master origin git://github.com/drnic/ruby-on-rails-tmbundle.git</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nodeta.fi/2009/03/05/apidock-to-be-built-in-in-the-rails-textmate-bundle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>APIdock in Textmate</title>
		<link>http://blog.nodeta.fi/2009/02/23/apidock-in-textmate/</link>
		<comments>http://blog.nodeta.fi/2009/02/23/apidock-in-textmate/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 17:21:16 +0000</pubDate>
		<dc:creator>Mikael Roos</dc:creator>
				<category><![CDATA[APIdock]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Rails-doc]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.nodeta.fi/?p=77</guid>
		<description><![CDATA[
First came Vim, and next Gaizka added APIdock integration to Emacs. Now perhaps the biggest favorite of most Ruby and Rails developers, myself included: Textmate! Courtesy of one of Nodeta&#8217;s own, Ville Lautanala aka Lautis, you can get the Textmate bundles with APIdock goodness for Ruby and Rails from github with just a couple of [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://blog.nodeta.fi/wp-content/uploads/2009/02/textmate-bundle.png'><img src="http://blog.nodeta.fi/wp-content/uploads/2009/02/textmate-bundle-300x114.png" alt="" title="Textmate with APIdock" width="300" height="114" style="float: right; margin: 1em;" /></a></p>
<p>First came <a href="http://blog.nodeta.fi/2009/02/19/apidock-vim-integration/">Vim</a>, and next <a href="http://github.com/gaizka">Gaizka</a> added <a href="http://github.com/gaizka/misc-scripts/blob/3a60c2cd41ba1e331e4fa6539d0c70b522a64dd4/dot-emacs/rails-apidock.el">APIdock integration to Emacs</a>. Now perhaps the biggest favorite of most Ruby and Rails developers, myself included: Textmate! Courtesy of one of Nodeta&#8217;s own, <a href="http://github.com/lautis">Ville Lautanala aka Lautis</a>, you can get the Textmate bundles with APIdock goodness for <a href="http://github.com/lautis/ruby-tmbundle/tree">Ruby</a> and <a href="http://github.com/lautis/ruby-on-rails-tmbundle/tree">Rails</a> from github with just a couple of simple git commands:</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:100%;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">% mkdir -p ~/Library/Application\ Support/Textmate/Bundles<br />
% cd ~/Library/Application\ Support/Textmate/Bundles<br />
% git clone git://github.com/lautis/ruby-on-rails-tmbundle.git &quot;Ruby on Rails.tmbundle&quot;<br />
% git clone git://github.com/lautis/ruby-tmbundle.git &quot;Ruby.tmbundle&quot;<br />
% osascript -e 'tell app &quot;TextMate&quot; to reload bundles'</div></div>
<p>Now, the keyboard shortcut</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:100%;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Control+h</div></div>
<p>gets you the page for the current word from APIdock.</p>
<p><img src="http://blog.nodeta.fi/wp-content/uploads/2009/02/apidock-textmate.png" alt="" title="APIdock Textmate Integration" class="alignnone size-medium wp-image-79" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nodeta.fi/2009/02/23/apidock-in-textmate/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Presenting at UraTiKAS, TKK</title>
		<link>http://blog.nodeta.fi/2009/02/22/presenting-at-uratikas-tkk/</link>
		<comments>http://blog.nodeta.fi/2009/02/22/presenting-at-uratikas-tkk/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 14:20:06 +0000</pubDate>
		<dc:creator>Otto Hilska</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[sponsor]]></category>
		<category><![CDATA[tkk]]></category>
		<category><![CDATA[uratikas]]></category>

		<guid isPermaLink="false">http://blog.nodeta.fi/?p=76</guid>
		<description><![CDATA[Even though some companies have publicly announced not to hire summer trainees, that&#8217;s definitely not the case at Nodeta. Our APIdock team from the last year is continuing also this summer, but in a bit different project (to be announced!). We also plan to hire a couple of new developers and designers.
We have a long [...]]]></description>
			<content:encoded><![CDATA[<p>Even though some companies have publicly announced not to hire summer trainees, that&#8217;s definitely not the case at Nodeta. Our APIdock team from the last year is continuing also this summer, but in a bit different project (to be announced!). We also plan to hire a couple of new developers and designers.</p>
<p>We have a long track record of sponsoring the university student organizations here in Finland. You can already find our logo from the websites of <a href="http://tietoteekkarikilta.fi/">Computer Science students at Tampere University of Technology</a>, <a href="http://m0.tietokilta.fi/">Computer Science students at Helsinki University of Technology</a>, <a href="http://tko-aly.fi/">Computer Science students at Helsinki University</a> and the <a href="http://kyykka.fi/">World Championships of Academic Kyykkä</a>.</p>
<p>Next week we&#8217;re once again having some great time with our long-time partner, <a href="http://tietokilta.fi/">Tietokilta</a>. On February 25th they&#8217;re hosting a recruiting event at Helsinki University of Technology (TKK), auditorium TU2.</p>
<p>We have a very tight 30 min. slot, but I&#8217;m trying to cover some interesting details about our own Scrum implementation, trying to explain the students why they should be spending their spare time with Ruby on Rails instead of something else, and I&#8217;m also going to present a small case study about one of our projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nodeta.fi/2009/02/22/presenting-at-uratikas-tkk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>APIdock + vim integration</title>
		<link>http://blog.nodeta.fi/2009/02/19/apidock-vim-integration/</link>
		<comments>http://blog.nodeta.fi/2009/02/19/apidock-vim-integration/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 12:32:58 +0000</pubDate>
		<dc:creator>Otto Hilska</dc:creator>
				<category><![CDATA[APIdock]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://blog.nodeta.fi/?p=75</guid>
		<description><![CDATA[I&#8217;m a vim user myself, and I was very happy to find that the guys at Akita On Rails had put together a small vim helper that allows you to jump directly to the APIdock page of the given Rails keyword. You can find it from their Github dotfiles commit.
Keep these contributions coming. :)
UPDATE: There&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a <a href="http://www.vim.org/">vim</a> user myself, and I was very happy to find that the guys at <a href="http://www.akitaonrails.com/">Akita On Rails</a> had put together a small vim helper that allows you to jump directly to the APIdock page of the given Rails keyword. You can find it from their <a href="http://github.com/fabiokung/vimfiles/commit/6723ec056282f4d2d66d214c921111f57fa48035">Github dotfiles commit</a>.</p>
<p>Keep these contributions coming. :)</p>
<p><strong>UPDATE:</strong> There&#8217;re now <a href="http://imaginateaqui.net/blog/2009/02/apidock-emacs-integration/">emacs bindings</a> available as well.</p>
<p><strong>UPDATE 2:</strong> One of our own guys also implemented a <a href="http://github.com/lautis/ruby-on-rails-tmbundle/tree/master">TextMate command</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nodeta.fi/2009/02/19/apidock-vim-integration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>APIdock about to roll out&#8230; with Ruby and RSpec!</title>
		<link>http://blog.nodeta.fi/2008/08/14/apidock-about-to-roll-out-with-ruby-and-rspec/</link>
		<comments>http://blog.nodeta.fi/2008/08/14/apidock-about-to-roll-out-with-ruby-and-rspec/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 11:54:21 +0000</pubDate>
		<dc:creator>Mikael Roos</dc:creator>
				<category><![CDATA[APIdock]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Rails-doc]]></category>
		<category><![CDATA[rspec]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blog.nodeta.fi/?p=55</guid>
		<description><![CDATA[As the Rails documentation discourse is really bubbling, our schedule has given us the sweet chance of taking a few steps back and let us concentrate on the first release of APIdock.
APIdock will be deployed today and we&#8217;ll import different versions of the included projects slowly for the next couple of days. The app will [...]]]></description>
			<content:encoded><![CDATA[<p>As the Rails documentation discourse is really bubbling, our schedule has given us the sweet chance of taking a few steps back and let us concentrate on the first release of <a href="http://apidock.com">APIdock</a>.</p>
<p>APIdock will be deployed today and we&#8217;ll import different versions of the included projects slowly for the next couple of days. The app will be completely usable during the version roll-out. Here are some of the most important changes from Rails-Doc.</p>
<h3>Multiple projects</h3>
<p><img style="float: right; margin: 1.4em 0 0 1.6em;" title="Multiple Projects" src="http://blog.nodeta.fi/wp-content/uploads/2008/08/multiple_projects.png" alt="Multiple Projects" width="241" height="112" /><br />
The most important difference of APIdock in relation to Rails-doc is of course multiple projects. You will be able to surf your way to <a href="http://www.apidock.com">APIdock.com</a> and search and browse Ruby and RSpec documentation (in addition to Rails) with the same (except for the improvements that we&#8217;ve made) interface that you have been able to use in Rails-Doc. To begin with, the newest patch level of Ruby 1.8.6 will be included as we slowly roll older versions in. Ruby 1.9 will follow later if there proves to be a demand for it. Users wont yet be able to add their own projects, but we&#8217;ll provide an easy way to suggest new ones to be added.</p>
<p>In this first release, all the included projects will be listed in tabs, but later on when more projects are added, the idea is that users will be able to choose their &#8220;favorite&#8221; projects that will be shown as tabs. This way the app will be custom-made for each user.</p>
<p><img style="margin: 1em 0 0.3em 0; text-align: center;" title="Project Versions" src="http://blog.nodeta.fi/wp-content/uploads/2008/08/project_history.png" alt="Project Versions" width="499" height="93" /><br />
We&#8217;ve added some project specific stuff like extensive project details and version history of the added versions. Behind the curtains the importing of new versions is done with a web interface.</p>
<h4>Cross-project searching</h4>
<p>When developing Rails applications, you are often faced with situations where you can&#8217;t be completely sure, whether a certain method comes from Ruby or Rails or somewhere else (like RSpec when writing tests). To help with this situation, in APIdock, after you have filled in a search term, you can simply click on another project to get the results for that same search term from that other project.</p>
<h3>Moderators</h3>
<p><img style="float: right; margin: 1.4em 0 0 1.6em;" title="Moderators!" src="http://blog.nodeta.fi/wp-content/uploads/2008/08/moderator_badge.png" alt="Moderators!" width="99" height="84" /><br />
We have also made our ACL more complex under the hood. We can now have moderators that have some extra rights like editing other users&#8217; notes. This way we can give moderator rights to other people including some of our most active collaborators. If you&#8217;re interested in becoming a moderator, please contact us at <a href="mailto:team@apidock.com">team@apidock.com</a>.</p>
<h3>Rails-Doc =&gt; APIdock migration</h3>
<p><img style="float: right; margin: 0 0 0 1.8em;" title="Project details" src="http://blog.nodeta.fi/wp-content/uploads/2008/08/project_details.png" alt="Project details" width="218" height="162" /></p>
<p>Your Rails-Doc accounts will be preserved in APIdock, the notes will be where you wrote them and the thanks you&#8217;ve got won&#8217;t disappear either. Any URIs to the <span style="white-space: nowrap;">rails-doc.org</span> domain will redirect to the correct page under <a href="apidock.com">apidock.com</a>. There aren&#8217;t any drawbacks to the migration – no functionality is lost. The app was designed to support multiple projects right from the get-go and now that decision is paying off.<br />
<br style="clear: right;" /></p>
<h3>APIdock: what&#8217;s to come?</h3>
<p>Rails-doc and APIdock has been our first Summer on Rails project, something we hope to be an annual feat. The general idea behind SOR is to hire young<br />
talented developers to develop something cool and not-too-business-critical over the summer under the mentorship of some senior developers. We think<br />
APIdock is a pretty awesome result and huge thanks go to our team of emerging Rails superstars:</p>
<ul style="list-style-type: none;">
<li><a href="http://www.hannu.biz">Hannu Pelkonen</a></li>
<li><a href="http://www.jyrituulos.com">Jyri Tuulos</a></li>
<li>Ville Lautanala</li>
</ul>
<p>who did a great job even when the so-called mentors were often nowhere to be found. :)</p>
<p>The summer is starting to be over and that means the super-active development cycle of APIdock will slow down. We will continue to maintain the app, fix any bugs that are found and concentrate only on absolute key features.</p>
<p>Hopefully you&#8217;ll enjoy this first installment of <a href="http://apidock.com">APIdock</a>. In any case, let us know what you think.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nodeta.fi/2008/08/14/apidock-about-to-roll-out-with-ruby-and-rspec/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Rails-doc 2.0 is live!</title>
		<link>http://blog.nodeta.fi/2008/07/18/rails-doc-20-is-live/</link>
		<comments>http://blog.nodeta.fi/2008/07/18/rails-doc-20-is-live/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 12:06:57 +0000</pubDate>
		<dc:creator>Mikael Roos</dc:creator>
				<category><![CDATA[APIdock]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Rails-doc]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[documentation]]></category>

		<guid isPermaLink="false">http://blog.nodeta.fi/?p=49</guid>
		<description><![CDATA[
Our planned schedule and features held! Rails API documentation with versions support! Full search! OpenId support! Gravatarrrrs! Check it out!
Or install the Firefox Search plugin rrrright here and fire up that cracker!

Seriously though, the deployment was delayed by a small surge of bugs found right before the intended deployment window, so we are about 20 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://rails-doc.org"><img class="alignnone size-full wp-image-52" title="Rails-doc 2.0" src="http://blog.nodeta.fi/wp-content/uploads/2008/07/rails-doc-2_0.png" alt="Rails-doc 2.0" width="500" height="80" /></a></p>
<p>Our <a href="http://blog.nodeta.fi/2008/07/07/schedule-and-features-of-rails-doc-20/">planned schedule and features</a> held! Rails API documentation with versions support! Full search! OpenId support! Gravatarrrrs! <a href="http://rails-doc.org">Check it out!</a></p>
<p><a id="addSearch" style="display: none;" onclick="window.external.AddSearchProvider('http://rails-doc.org/rails/search/opensearch.xml'); return false;">Or install the Firefox Search plugin rrrright here and fire up that cracker!</a></p>
<p><script type="text/javascript"><!--
if(window.external.AddSearchProvider) {
console.log('in');
var link = document.getElementById('addSearch');
link.style.display = "inline";
}
// --></script><br />
Seriously though, the deployment was delayed by a small surge of bugs found right before the intended deployment window, so we are about 20 hours late. It took about four hours because of all the version-specific documentation generation. We are sorry for any inconveniences you may have experienced and we hope you&#8217;ll enjoy this installment of <a href="http://rails-doc.org">Rails-doc</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nodeta.fi/2008/07/18/rails-doc-20-is-live/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Schedule and features of Rails-doc 2.0</title>
		<link>http://blog.nodeta.fi/2008/07/07/schedule-and-features-of-rails-doc-20/</link>
		<comments>http://blog.nodeta.fi/2008/07/07/schedule-and-features-of-rails-doc-20/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 13:01:39 +0000</pubDate>
		<dc:creator>Mikael Roos</dc:creator>
				<category><![CDATA[APIdock]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Rails-doc]]></category>

		<guid isPermaLink="false">http://blog.nodeta.fi/?p=44</guid>
		<description><![CDATA[Today it&#8217;s become clear that Rails-doc 2.0 will be released in under two weeks, the current target being on 17 July. We&#8217;ve got a lot of stabilizing work ahead of us, all planned out for the next two weeks. The 2.0 release will include some vital features, the most important of them being&#8230;
Versions!

That&#8217;s right. It&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Today it&#8217;s become clear that <a href="http://rails-doc.org">Rails-doc</a> 2.0 will be released in under two weeks, the current target being on 17 July. We&#8217;ve got a lot of stabilizing work ahead of us, all planned out for the next two weeks. The 2.0 release will include some vital features, the most important of them being&#8230;</p>
<h3>Versions!</h3>
<p><a href="http://blog.nodeta.fi/wp-content/uploads/2008/07/railsdoc-versions.png"><img src="http://blog.nodeta.fi/wp-content/uploads/2008/07/railsdoc-versions.png" alt="" title="Version support is demonstrated here with three versions of Rails. The final product will include all tags since at least 1.2." width="229" height="145" style="float: right; margin: 0.8em 0 1em 1.2em;" /></a></p>
<p>That&#8217;s right. It&#8217;s the feature that makes or breaks an app like Rails-doc. It&#8217;s the feature that has broken most apps like Rails-doc and it&#8217;s the feature that will make Rails-doc. In Rails-doc, you won&#8217;t have to choose which version&#8217;s documentation you want to browse or search, but instead you can view an older version of a certain method or class simply by clicking your favored version from our version time line. The time line features a visualization of the changes that have been made to that specific class or method. You can still find stuff that has been removed in newer versions and in fact we indicate deprecated methods and classes everywhere we list them.</p>
<h3>Full text search and Firefox search plugin</h3>
<p><a href='http://blog.nodeta.fi/wp-content/uploads/2008/07/railsdoc-fullsearch.png'><img src="http://blog.nodeta.fi/wp-content/uploads/2008/07/railsdoc-fullsearch-300x113.png" alt="" title="Rails-doc full search" width="300" height="113" style="float: right; margin: 0 0 0.8em 1.4em;" /></a></p>
<p>We have implemented a full text search to complement our current lightning fast keyword search. If the keyword search runs dry, or if you simply prefer to, you can use the full text search that searches from the entire documentation plus notes that all of You have posted.</p>
<p><a href='http://blog.nodeta.fi/wp-content/uploads/2008/07/railsdoc-ff_plugin.png'><img src="http://blog.nodeta.fi/wp-content/uploads/2008/07/railsdoc-ff_plugin.png" alt="" title="Rails-doc Firefox search plugin" width="260" height="41" style="float: right; margin: 0.8em 0 1em 1.2em;" /></a></p>
<p>We&#8217;ve also wrapped up an awesome Firefox search plugin that uses both searches and produces a real power search. It&#8217;s a combined I&#8217;m-feeling-lucky and keyword search. What it does, is it puts you to the page that was retrieved as a first hit from the full text search and also fills your query to the keyword search so you get the best hit and the hits from the keyword search at once. If the first hit was the one you wanted you can just start browsing &#8211; a click anywhere on the page will hide the keyword search results. If you didn&#8217;t get lucky, check out the keyword results. And if they don&#8217;t have what you&#8217;re looking for, a simple press of the return key will take you to the full search results. This power search can be used by simple URLs so you can even link to them.</p>
<h3>Other new features</h3>
<ul>
<li>A dashboard for logged in users</li>
<li>OpenId support</li>
<li>Gravatars!</li>
<li>Included In list for modules</li>
<li>Tons of minor improvements</li>
</ul>
<p>Probably the number one feature request we&#8217;ve gotten is that we would do to the Ruby API what Rails-doc has done to Rails API. We are not going to mix Ruby into Rails-doc, but we&#8217;ll be using Ruby as the primary pilot project when we first begin with APIdock.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nodeta.fi/2008/07/07/schedule-and-features-of-rails-doc-20/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
