FlyoverWorks is now part of Cultivate Labs! Check us out here.

FlyoverWorks Blog

Articles and tips from your smart, witty, and talented FW employees.

Storytime 1.1: Rails CMS/Blogging Engine with Built-in Email List Building and Search

Here at FlyoverWorks we're excited to announce the release of Storytime v1.1! For anyone unfamiliar with Storytime, it's a Rails 4.0+ CMS and blogging engine, built with a primary focus on content. You can read more about what Storytime is and its unique text snippets feature.

Email Subscriptions & List Building

For version 1.1, we've focused on two primary features, the first of which is built-in support for email list building. While many people and companies focus on growing their social media followings, there's a wealth of evidence that a robust email list is significantly more valuable. The team over at KISSMetrics published a great post about the merits of an email list and email marketing. We wanted to make it easy for Storytime bloggers to collect email addresses from their readers, so we added support for email collection and management to Storytime v1.1. The main features include:

  • Email collection & storage support
  • Email list management
  • Optional notification of list members when new blog posts are published
  • 1-click unsubscribe support

To us this feature, you simply need to add a subscription form wherever you'd like to collect email addresses. You can do this with a simple helper:

# post#show template
<div class="post"><%= @post.content %></div>
<div>Enjoy this post? Sign up and we'll notify you of future posts!</div>
<%= storytime_email_subscription_form %>

In the future, we plan to also add support for automatically adding collected emails to dedicated email marketing platforms, such as Mailchimp.

Built-in Search

The second major feature included in the 1.1 release is built in support for search. The built-in search feature currently supports Postgres, MySQL, and Sqlite3 data stores and will automatically add the appropriate database indexes to the posts table, based on which adapter you're using. To utilize the search feature, you simply need to set the search adapter in your initializer:

Storytime.configure do |config|
  config.search_adapter = Storytime::PostgresSearchAdapter

Then, from your host app, you can add a form that queries the posts search endpoint:

<form method="get" action="/posts">
 <input type="text" name="search" placeholder="Search">
 <button type="submit">Search</button>

In the future, we plan to support additional search platforms, such as Elasticsearch. 

Storytime 2.0 Roadmap

We're also happy to announce that we've begun work on Storytime 2.0 and expect something to ship in the next month or two. Version 2.0 will include a new professionally designed, mobile-responsive dashboard. It will also include new features like post scheduling, an improved install generator, and the ability to access the Storytime dashboard from your host app's pages. If you'd like to be notified of updates about v2.0, you can sign up for our mailing list below.

If you're trying out Storytime and have questions or need help, feel free to reach out to us on Twitter: @flyoverworks and @bcroesch