Top 8 CMS for Ruby on Rails

 An overview of popular Ruby on Rails content management systems 
07 July 2017   1917
Ruby on Rails

Framework written in the Ruby programming language

When it comes to CMS for web-development, PHP solutions usually come to mind immediately. However, there are content management systems for other languages as well. Let's start with the tools for the Ruby on Rails framework and have a look at CMS for Ruby on Rails.

The usage of CMS is not only the possibility to create a website or a web application without basic knowledge on code writing, but also a useful tool for more experienced developers.

It allows you to:

  • Shorten the time spending on solving common problems. Content management system offers tools for the rapid deployment of standard projects such as online stores with a set of the most necessary modules. You only have to create a site template and refine the necessary functions that are not supported by the system.
  • Simplify the process of new functional development. Web CMS usually has its own API, which simplifies the work with the engine using programming tools.
Ruby

Dynamic, open source programming language with a focus on simplicity and productivity, it has an elegant syntax that is natural to read and easy to write

Yet, it's important to take into consideration some disadvantages when using CMS for Ruby on Rails:

  • Lack of flexibility. It is quite difficult to start an atypical startup with the help of the content management system and it probably would be even more difficult than to make it from scratch.
  • Unused functional. Not all the features of the engine will be involved in the working project. However, they still will be presented in there and can affect the performance and the compatibility with other modules, especially custom ones.

So, here's a close up iof best open source CMS options are out there for for Ruby on Rails?

Refinery CMS

It's one of the top RoR CMS. Primarily because it is focused on the creation of commercial websites. On top of that, CMS has quite good extensibility and a lot of ready-made modules. Among them you can find tools for the implementation of the Elasticsearch search system, the creation of contact forms, calendars, image galleries.

Refinery CMS Demo Refinery CMS Demo

Key features:

  • Open Source application.
  • Built-in image editor.
  • Multi-language support.
  • Wide choice of ready-made plugins.
  • Integration with Amazon's cloud storage.

Technologies:

  • Ruby 2.0+
  • Ruby on Rails 4.2-5.0
  • SQL database
  • jQuery

Download link 

An example site creation using Refinery CMS

Locomotive CMS

This is the only engine that is suitable for deployment on a hosting. Basically, Locomotive's capabilities are used to create content sites such as corporate or personal blogs, mass media, etc.

The system supports simple work with posts and pages, the creation of templates for different types of content. There is a possibility to change layouts easily and flexibly, edit images, display of content from external services.

Locomotive CMS Demo Locomotive CMS Demo

Key features:

  • Open Source application.
  • An opportunity to purchase a specialized hosting for Locomotive from the developers. The price starts from $ 19.
  • Tags for Google Analytics integration.
  • Working with the site using the command line.

Technologies:

  • MongoDB
  • Ruby 2.2+
  • Ruby on Rails 4.2
  • Wagon command line
  • ImageMagick

Download link

Site creation with the help of Wagon command line

Camaleon CMS

The engine also offers a large selection of tools for working with content. In addition to the standard features of creating and editing posts and pages, there are tools for categorization of the entire content of the site.

Built-in widgets, ready-made themes and customizable menus are supported as well. To simplify the work with content there is the system of roles through which you can create users with the rights of administrator, editor, etc.

Camaleon CMS Demo Camaleon CMS Demo

Key features:

  • Open Source application.
  • Content's auto sharing to social networks.
  • Templates design and modules' store.
  • Engine's demo version.

Technologies:

  • Rails 4.1–5.0
  • Ruby 1.9.3+
  • SQL database
  • ImageMagick

Download link

Video instruction for installing Camaleon CMS

Radiant CMS

The engine is primarily designed for web developers and offers tools for editing templates and files. You can write your own JavaScript and CSS codes through the CMS administrator panel and output them where necessary.

The system supports flexible work with the design themes. Besides modifying them by using the standard markup languages HTML and Markdown, it is possible to do this with the templates' own language - Radius.

Radiant CMS Demo Radiant CMS Demo

Key features:

  • Open Source application.
  • Intelligent caching.
  • The control panel of minimalist style.
  • Control over users' rights.

Technologies:

  • Ruby on Rails
  • MySQL

Download link

An example of creating a site using Radiant CMS

Alchemy CMS

The engine offers a set of tools for creating your own solution with the necessary functional. Actually, it's quite difficult to use it without the knowledge of programming, though web developers will be able to gain full control over the capabilities of the CMS.

Another feature of Alchemy is a clear separation of content managers and site administrators' rights. Thus, the first ones do not have the slightest opportunity to interfere with the HTML page templates. The only one to make edits to the layout is the developer.

Alchemy CMS Alchemy CMS

Key features:

  • Open Source application.
  • Multiple domains support.
  • Flexible template editing.
  • Detailed documentation.
  • Powerful built-in text WYSWIYG-editor TinyMCE.

Technologies:

  • Ruby 2.0+
  • Ruby on Rails 4.1
  • MySQL, SQlite or PostgreSQL
  • ImageMagick
  • TinyMCE

Download link

Digitpaint Skyline

A complex system for a full and simple control of the site on Ruby on Rails. It has a set of tools for editing the resource appearance and creating page templates. CMS developers pay particular attention to the performance of sites with a lot of multimedia content and widgets. The application optimizes the loading of page content by loading blocks in stages, so that users do not have to wait for the content to appear.

Digitpaint Skyline Demo Digitpaint Skyline Demo on GitHub

Key features:

  • Open Source application.
  • JavaScript, HTML and CSS support with the code directly from the admin panel.
  • SEO-tools.
  • Easy integration of external applications.

Technologies:

  • Ruby on Rails
  • MySQL

Download link

Comfortable Mexican Sofa

The system is a set of various tools that simplify the work with the site. CMS has a built-in text editor CodeMirror, with which you can edit the code of a web resource. Sofa templates use a large number of their own HTML tags. Their backups are automatically created when working with layouts, so that you can always roll back the template version to an earlier one in case you don't like the result of the design changes.

Comfortable Mexican Sofa CMS Demo Comfortable Mexican Sofa Demo

Key features:

  • Open Source application.
  • Support for multiple sites on the same CMS.
  • Multilingualism.
  • Built-in text code editors.

Technologies:

  • Ruby 2.2.2
  • Ruby on Rails 4.0–5.0
  • SQLite 3
  • ImageMagick

Download link 

Browser CMS

CMS software that offers a large selection of tools for the developing of the site appearance. You can view the changes you make to templates right from the admin panel, there is no need to save. Page layouts are divided into several independent areas, each of which can be edited separately from the rest. It is also possible to configure the access rights to areas for different user groups.

Browser CMS Browser CMS 

Key features:

  • Open Source application.
  • The "CRUD" interface for working with content and its types.
  • Easy creation of the Sitemaps files.
  • Static pages caching for the Apache server.

Technologies:

  • Ruby 1.9.2+
  • Ruby on Rails 3.1+
  • SQL database

Download link 

Which CMS would you prefer?

These are best content management systems for Ruby on Rails listed below. Which CMS do you consider most preferable? Please, share your opinion, it is important for Hype.Codes team and for the community. Additionally, maybe you will be interested to see the results.

DateTime, Timestamp, Time and Date in Rails

Learn about key differenece between DateTime, Timestamp, Time and Date in Rails
31 October 2017   626

The difference between different date/time formats in ActiveRecord have little to do with Rails and everything to do with whatever database you're using.

Using MySQL as an example (if for no other reason because it's most popular), you have DATEDATETIMETIME and TIMESTAMP column data types; just as you have CHARVARCHARFLOATand INTEGER.

So, main differences: DATE only stores a date, TIME only stores a time of day, while DATETIME stores both.

The difference between DATETIME and TIMESTAMP is a bit more subtle: DATETIME is formatted as YYYY-MM-DD HH:MM:SS. Valid ranges go from the year 1000 to the year 9999 and everything in between. While TIMESTAMP looks similar when you fetch it from the database, it's really a just a front for a unix timestamp. Its valid range goes from 1970 to 2038. The difference here, aside from the various built-in functions within the database engine, is storage space. Because DATETIMEstores every digit in the year, month day, hour, minute and second, it uses up a total of 8 bytes. As TIMESTAMP only stores the number of seconds since 1970-01-01, it uses 4 bytes.

You can read more about the differences between time formats in MySQL here.

In the end, it comes down to what you need your date/time column to do. Do you need to store dates and times before 1970 or after 2038? Use DATETIME. Do you need to worry about database size and you're within that timerange? Use TIMESTAMP. Do you only need to store a date? Use DATE. Do you only need to store a time? Use TIME.

Having said all of this, Rails actually makes some of these decisions for you. Both :timestamp and :datetime will default to DATETIME, while :date and :time corresponds to DATE and TIME, respectively.