Ruby on Rails

Finally, a professional content management system for Rails

Let's face the facts: most Ruby CMS solutions just haven’t been ready for primetime. While there are a number of Ruby-based CMS options on the market (Locomotive, Radiant, Refinery, etc.), for the most part their shortcomings outweigh their accomplishments. Most of their even simple PHP counterparts are much better than any solution that has existed up to now. That's why so many Ruby development shops are still using PHP solutions like WordPress or Drupal to manage content for their Rails Apps.

Because we're Rails developers, just like you we had to build Scrivito. Beyond that, we have more than 20 years of experience building CMS systems and all of that flowed into the development of Scrivito.

A CMS which integrates into your Rails app – and not the other way around

Rails is a great framework to build dynamic applications and web pages. Many well-known services from Twitter to Groupon to Shopify, Soundcloud and Airbnb to Square are using it to build amazing services.

With many existing CMS solutions – and this is also true for Java or PHP-based solutions – the CMS is usually the center of the universe. Sites are primarily built using plugins or often even with the need to modify the core or use undocumented function calls which may change anytime – so a lot of things are at risk of breaking down with every update. Basically, you have to build your app around the CMS framework. If you’re a Ruby shop using WordPress as your CMS, you know the headaches of integrating the two technologies just to get the features you are looking for.

So, unlike almost every other CMS, Scrivito integrates itself into any existing Rails app. Basically, all you have to do is just add our SDK gem to your Gemfile (plus some CSS and JS stuff), and you're good to go. With Scrivito, you can develop your Rails app just like you always have, with your favorite text editor, your favorite templating language, your version control system and favorite deployment environment. It just works "The Rails Way", you don't have to learn a ton of new stuff.

Sites built with Scrivito usually use the Twitter Bootstrap framework, which is supported out of the box.

Awesome SDK and API

Scrivito is a cloud service, meaning that it does all of the heavy lifting in its backend: Database management, operation of a search cluster, distribution over data centers for failover reasons, backups, etc. You can integrate Scrivito in your Rails app using our open source SDK, which is a Rails engine and is available as a Ruby gem. Our well-documented Scrivito SDK then connects to our backend to store and retrieve the data. But the SDK is much more than just an API wrapper, it automatically provides our world-class WYSIWYG editing, featuring drag and drop which makes editing content on your site a breeze.

Of course, the SDK offers you access to all the data in Scrivito, so importing (for example from another CMS) or exporting data is possible anytime with only a few lines of code.

Flexible data structures

In a typical CMS, it's very hard to change existing data structures. Most often, lengthy and error-prone database schema migrations, including writing lots of SQL code, are part of the deal. Or sometimes it isn't even possible to extend data structures if you're limited to a handful of page types or – “developer heaven” forbid – just one, merely offering a title, date, and text field plus some images.

Scrivito's unique cloud architecture allows you to create or change page types and their fields on the fly. It's basically like Active Record, but without the hassle of creating SQL database migrations. Instead you create models in Rails like you're used to and decide on the the data to persist. That's it.

Deployment – your choice

When it comes to the deployment of Rails apps, everyone has their own choice. We usually recommend deploying to Amazon Web Services for larger projects and to Heroku for smaller projects. But of course you're not limited to these two; you could choose a different hoster such as EngineYard or Digital Ocean, or host your apps in your own data center. It's completely your choice; Scrivito doesn't restrict you in any way.