The Scrivito Architecture

The Scrivito Architecture

Overview

On websites built with Scrivito, web pages are delivered by a Ruby on Rails application that interacts with the Scrivito CMS. The CMS is a cloud service that supplies all the basic and higher-level facilities associated with professional web applications, first of all the content database.

Building a Rails applications with Scrivito completely avoids the maintenance effort usually associated with databases. No more replication, no backups. The cloud does it for you.

This analogously applies to the infrastructure usually required for making the content searchable. Through Scrivito, every website project is attached to an Elasticsearch engine. Your content is indexed automatically.

The content to be delivered by your Rails application, as well as the search functionality, can be accessed through the Scrivito SDK gem, that smoothly integrates the Scrivito CMS functionality into your Rails application. Towards your Rails application, the SDK behaves almost like a database adapter and additionally provides helper tools for rendering and manipulating content.

Developing a Rails application with Scrivito

Although you might be programming Rails applications on a daily basis, Scrivito introduces new concepts to your application, the concepts of CMS data structures and in-place editing, to name the most important two. For quickly getting started with Scrivito, the installer adds everything that's required to an existing Rails application. Also, the documentation should help you grasp the underlying concepts as well as support your first and later steps with Scrivito.

The CMS distinguishes between the published content and its working copies for editing. A Rails application built with Scrivito is able to deliver the published content seen by the website visitors as well as any of the working copies for logged-in users to edit content in place. In the application, this can be accomplished by using the helpers the Scrivito SDK provides for rendering CMS content. These helpers not only render the values of CMS model attributes. They also add various pieces of information to the HTML tags they generate to support in-place editing, which is handled transparently by the provided JavaScript code.


Regarding the application development workflow, there is no difference between projects based on Scrivito and those not based on Scrivito. The only thing to keep in mind is that not only your deployed live or staging branch but also your local development environment requires access to the CMS if you wish to test your code.

Scrivito supports you with developing your Rails application for the cloud. We also offer to manage your live servers for you and host your website on the Amazon infrastructure, if you wish.