Plasticx Blog

Capable of being shaped or formed

Ozimodo, Rails based tumblelog, and why its still awesome

Posted by Mike 02/23/2008 at 11:51PM

One of the coolest small Rails apps is Ozimodo
http://ozimodo.rubyforge.org/
, a Rails based tumblelog

Micro blogging and non-traditional forms of communication are helping to evolve how we’ll be communicating in the future. Its list of contributors is a veritable who’s who in the Rails community.

Here’s an enumeration of aspects that make Ozimodo great in the current context

1. its broken

There hasn’t been a new release of Ozimodo since 2006 and its locked to Rails 1.1.4. So it doesn’t work perfectly right out of the box and parts of it are broken. Perhaps this seems counter intuitive but what a developer is forced to do is look at the code of the application to find where its busted. Inspecting the SQL that is generated at the console is another skill that will be honed when tuning your instance.

To give a taste here’s a diff that fixes the find in tumble_controller.rb to show all the posts for a tag

diff -r -x .svn ./app/controllers/tumble_controller.rb ../ozimodo-1.2.1/app/controllers/tumble_controller.rb
36c36
< 
---
>     
45c45
<                                      :per_page => TUMBLE['limit'], :conditions => ['posts.id IN (?)', post_ids]
---
>                                      :per_page => TUMBLE['limit'], :conditions => ['posts.id IN (?)', post_ids.join(',')]


2. maintaining your own version

What you’ll likely end up doing is maintaining your own version of Ozimodo. You’ll want to maintain your own theme, your own enhancements, and your own deployment strategy with Vlad

Look around the base of the source and you’ll find some goodies beside the trunk of the Rails application.

svn ls http://ozimodo.rubyforge.org/svn/
svn ls http://ozimodo.rubyforge.org/svn/trunk
svn ls http://ozimodo.rubyforge.org/svn/themes

Getting your source as SVN or Git

svn co http://ozimodo.rubyforge.org/svn/trunk myozimodo
cd myozimode
git-svn clone http://ozimodo.rubyforge.org/svn/trunk ../myozimodo.git


3. oz command or just say NO to graphical admin UIs

Ozimodo also has an awesome command line administrative tool as bin/oz http://ozimodo.rubyforge.org/oz.html I also modified the api_controller.rb to my needs for posting pictures. Just think of how much time has been wasted in developing generic graphical administrative interfaces for applications that can serve multiple purposes. Ozimodo has a small crappy UI admin interface as well, but the point is that very little effort was put into its development. Ozimodo really should be administered through the RESTful API controller to your own requirements. Utilize bin/oz or further customize the graphical UI, etc.

4. My awesome tumbler

My awesome tumbler is WASABI http://wasa.bi/ and is based on the old_ozmm theme in the themes directory of the repository. I have access to three years worth of super hesh cellphoto pictures that I host for private skateboard forums in Seattle. I’ll start using that content for daily entertainment on WASABI.

5. Other useful gems and my Peepcode book

I created MMS2R and imPOSTor to help in processing the MMS pictures. Processing is done using a work queue I’ve implemented in Rails with Acts As State Machine , a Rails plugin by Scott Baron . Also Luke Francl and I are finishing up a Peepcode book about processing MMS and Email using Rails and Ruby in general. The book includes useful information about testing ActionMailer. Also daemonizing a single Rails instance to process email such as in a ‘support ticket’ feature for an application. The book contains many other useful tips. Look for our Peepcode book in the very near future. Of interest, Geoffrey Grosenbach is currently offering a generous Peepcode Unlimited subscription granting unlimited access to the Peepcode library over the next 12 months.

Posted in , , , |

Trackbacks<

Use the following link to trackback from your own site:
http://plasti.cx/trackbacks?article_id=876

  1. Joe Mittens
    02/24/2008 at 01:13AM

    Even better, Rails 1.1.4 is the version with the security flaw. Hack it or O SHIT DROP TABLE;

  2. monde
    02/24/2008 at 01:37AM

    thanks Evan

    fixed

    I use git and vlad, and bango patching and redeployment is a snap

    rake rails:freeze:edge TAG=rel_1-1-6
    git-svn dcommit
    rake vlad:stop_app; rake vlad:update; rake vlad:after_update
    rake vlad:start_app
    

Web Statistics