Ozimodo, Rails based tumblelog, and why its still awesome
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.
Trackbacks<
Use the following link to trackback from your own site:
http://plasti.cx/trackbacks?article_id=876
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;
02/24/2008 at 01:37AM
thanks Evan
fixed
I use git and vlad, and bango patching and redeployment is a snap