You're viewing all posts tagged with content management

Use Tumblr as your CMS

We just started using Tumblr for our new site’s blog and we love it.  And having a new site, means having content and managing that content.  That’s where we decided to find a CMS to manage all of that for us.

We generally use ruby on rails for our web applications and we usually use a rails plugin that we wrote a LONG time ago called SimpleCMS which uses tinyMCE just like Tumblr does. So really no difference there. The plugin we wrote allows you to manage portions of content.  For example, a simpleCMS entry could manage the logo or the events section or whatever part of the page you wanted.  So in our search for a CMS we had to make sure it could manage portions of a page, rather than an entire page.

Perch is designed to manage portions of a page but is really no different than SimpleCMS.  Our goal was to find a way to outsource the data management and access control and everything else the comes with content management.

Looking at Tumblr and looking at the sorts of things we would need to do, it made sense to offload ALL of the work and ALL of the data, storage, etc to Tumblr.  And thus it began.

Is there a rails plugin or gem to work with the Tumblr api in rails?
Yes - we are using Jeff Kreeftmeijer’s Tumblr gem with a few modifications of our own.

Is there a way to grab the content we want, using this gem, to display on our pages and is it fast enough?
Yes - we have setup ONE single initializer in our rails app like this:

299419

With this in place, it is pretty easy to do what we want given a proper setup of our tumblr posts.  The only secret is to manage your tags properly.  If you have content for the top of your home page, then tag the post with something like “home_page_top” and then in your rail’s view, just use the tumblr_cms method like this:

299420

That’s it.  Now we have a CMS that only we can manage and that is very fast and where we don’t have to manage the storage or the backups or any of that tedious stuff :)