The decision of what tools you use for any task tends to have a huge impact on your work, time and final results. Before using the most popular solution, it’s a good idea to do at least basic research on your other options. I’ll show you a good alternative for many CMS apps built in Ruby – RefineryCMS. You might find basic information on the subject in our previous article, CMS Comparison for Rails App, but this time I’ll go into more details and answer the following question: ‘is Refinery worth using at all?’ How can we compare it to the most popular competitors like WordPress, Joomla or Drupal?
Before we start, you should know some basics about CMS. It’s an abbreviation for Content Management System and it describes all applications used to create or modify digital content. It might be used for writing and publishing blog posts (like this one!) or creating your personal webpage. You can also use CMS apps for your business. Apps like this might serve as tools to interact with your customers, share knowledge about your new ideas or even as e-commerce solutions.
Currently, the stable version is 3.0.5 (but 4.0 is going to be released soon). I’ll review the newest but not production-ready edge version. The basic setup has been extensively documented in the official guides, so I won’t cover it here in too much detail.
There are two ways of using RefineryCMS: as a part of an existing Rails project or as a standalone app.
Either way, we’ve got some standard plugins:
The core functionality, pages management, which excludes the most common features like using a WYSIWYG (what you see is what you get) editor for creating static content, allows you to:
There are also some configuration settings not available in the admin panel by default but pretty easy to enable in the code, like:
OK, that looks quite interesting, but is there something more to it? Let’s find out!
To be honest, the default look of the pages is just awful. However, there’s a solution (mentioned in the documentation): RefineryCMS sticks to the Rails way as much as possible, so changing the layout of the pages is very easy but it requires at least basic Ruby on Rails skills.
The architecture is quite flexible so implementing some changes or extra functionalities shouldn’t be hard for a Ruby developer. However, if you don’t have the time or programming skills to write customized functionalities, there are some extensions you might add to the app. The most common ones are listed here. Let’s go through the list and check what possibilities might be especially interesting for you:
There are a lot of extensions but, unfortunately, most of them are not up-to-date, so using them for the edge version wasn’t possible. Hopefully, this will be changed soon with the new release, because some of the listed plugins, like the Spree platform integration (read our article: Why Spree is a Good Choice for You and find out what Spree is), might be very useful for e-commerce companies.
So, is RefineryCMS worth using? That’s a very difficult question. It’s a Ruby app and it follows the Rails convention, which might be the biggest advantage for some users (especially Ruby developers). Are there any Ruby-based apps in your portfolio? Great! There are numerous opportunities to connect them with Refinery and gain new ways to improve your business. On the other hand, while Refinery is maintained by its team, the development of version 4.0 and the extensions could be a bit quicker. We cannot compare the popularity of this app to the very well-known competitors like Joomla or Wordpress now, but, hopefully, the planned 4.0 version will make it bigger.