If you don’t do it this year, you will be one year older when you do.
Warren Miller

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:


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:


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 :)

If all you ever do is all you’ve ever done, then all you’ll ever get is all you’ve ever got.
wish I knew

MailerIt.com - just simpler this way

Every application sends email these days – we send email to our customers and to ourselves.  Again, we wanted to manage something that wasn’t up to our expectations.  We have many applications that send emails and a lot of times the emails are just variations of emails in our other applications.  We don’t like duplication, we love reuse and we love simplicity.  For us, MailerIt was the answer.  To provide us with one place for all of our email templates and smtp settings.  We simply use the MailerIt API now to pick our template and specify any keyword values we setup in the template.

Sample usage of MailerIt from a rails application -

# call from anywhere in your application - models, controllers, views, libs ...
Mailerit.create(:email_template_name => "MailerItTest",
                :smtp_setting_name   => "DefaultSettings",
                :params => {:email       => "myemail@blarg.com",
                            :username    => "someonesusername",
                            :another_var => "somevalue"})

Sample usage of MailerIt from any other application, tool, anything -

curl -i -X POST \  
  -H "Content-Type: application/xml" \
  -H "X-MailerItKey: YOUR_KEY_GOES_HERE" \
  -d "<mailerit>
      </mailerit>" \

LoggerIt.com - measure to manage

Every application writes to their logs, and that is of course very useful.  But we believe we can have much more and that we can track and graph and report and measure on everything that is important to us and our customers.  We want to organize it, realize trend data from it, look for problem areas, and gain a better understanding of our applications and how they are evolving.  It’s been said hundreds of thousands of times that you must measure to manage.  Well, that’s the goal of LoggerIt, to provide an API by which you can log your measurable details and a web interface to generate reports and analyze those details.

Sample usage of LoggerIt from a rails application -

# call from anywhere in your application - models, 
# controllers, views, libs ... Loggerit.create(:event_name => "New Account", :attrs => {:user => current_user.username}) Loggerit.create(:event_name => "Visit Subscription Page", :attrs => {:user_id => current_user.id})

Sample usage of LoggerIt from any other application, tool, anything -

curl -i -X POST \
-H "Content-Type: application/xml" \
-d "<loggerit>
      <event_name>Test Event</event_name>
    </loggerit>" \