Core Docs - Digital Publishing - Intro to Websites in Rock
Rock Version: v20.0
Last Modified: 2026-05-01 1:28 PM
Rock RMS was conceived and built by web designers and programmers just like you. We understand that you might be a little hesitant about using Rock as your Content Management System (CMS). In fact, many of you are probably thinking that you won't use Rock as a CMS at all. Instead, you're considering integrating it to your current CMS using our REST API. We don't blame you. We thought the same thing years ago when we developed our first relationship management system. But we were wrong. Hopefully, you'll read this entire guide. If you do, we think you'll see the light too. But let's be honest right up front and address some of your top concerns.
Your Top Five Concerns with Using Rock as a CMS
But What Are the Benefits?
Hopefully you're starting to see that some of the barriers aren't as large as they may appear. But there's no reason to change for change's sake; the benefits must outweigh the cost. Reading through this guide will show you numerous ways to exploit the power of Rock's CMS features. But let’s touch on one simple example. The biggest "killer app" of Rock is personalization. Just picture adding the markup below into your baptism page using Rock's on-page HTML editor (You’re going to love the editor!):
{% if Person %}
{% if Person.BaptismDate != '' %}
{{ Person.NickName }}, remember the joy of your baptism? Share that joy
with a friend who hasn't yet taken the plunge at one of our upcoming
baptism events!
{% else %}
{{ Person.NickName }}, now is the time! Don't put off baptism any longer,
take the plunge at one of our upcoming events!
{% endif %}
{% else %}
Take the plunge at one of our upcoming baptism events!
{% endif %}
Rock uses an upcoming templating engine called Lava. Paired with Rock data, Lava is very powerful. The markup above does this:
Armed with just a little knowledge of Lava, we've created a very personal experience on our site; one that is much more likely to draw people in and promote action. Are you starting to see the power of Rock? And we're just getting started.
Anatomy of Rock CMS
Grab your lab partner and let's dig in to what makes the Rock CMS tick. There's no better place than to start at the top with sites and work our way down to the components that make up a page. Pass the scalpel and let's start cutting.
Sites
The top of the CMS hierarchy is the site. Each website you create should be created as a unique site. Think of sites as a collection of related pages that share a consistent look and feel. Sites aren't limited to external websites though. You can use them to contain your check-in pages or a set of pages for a metrics dashboard.
Sites are created and managed under Admin Tools > Websites. Be sure to use the article Creating a New Site before setting out on your own.
Site Themes
Themes are a set of resources that add styling to the pages of a site. The theme is defined at the site level. This makes it very easy to change the look of an entire site with a single configuration change. You can read more about themes in the Themes article.
Pages
The concept of pages is pretty obvious; they represent a single web page. Unlike many CMS however, the page doesn't exist as a file on the website. Instead, a page is dynamically assembled by Rock with each request. This allows each page to be personalized by the person requesting it and allows you to secure portions of the page based on the person's security rights.
Pages are arranged in a parent-child hierarchy. This hierarchy allows us to build dynamic menus.
Layouts
Each page is configured to have a specific layout. This determines the content areas (or zones) that the page has. Available layouts are defined by the theme that the site is configured to use. While you can create as many new layouts as you'd like, we strongly recommend that you use the standard names for reasons that will be made obvious in future articles.
Zones
Zones are content areas that are defined by the layout. They represent things like the header, navigation menu, footer and content areas.
Blocks
Blocks make up the actual content of the page. They come in all shapes and sizes. Each has a specific purpose. The most common block is the HTML Content block. This block allows you to display and edit HTML content to a specific zone. Other blocks are used to generate navigation menus, list groups, show maps, etc. Think of blocks as your Legos® that you can use to build a world of new inventions.
Blocks can be placed on either a page, a layout or a site. When tied to a layout they're displayed on every page that uses the layout. When tied to a site they're displayed on every page within the site. This is very helpful when adding content like navigation in the header or footer text that should be the same across all pages.