Foreword

In 2008, we open sourced Concrete CMS in order to democratize the process of editing websites. Too often it felt like the people building websites and the people running them weren’t even in the same room, let alone having a conversation.

That’s why we started with in-context editing, and why it remains to this day. With its intuitive editing toolbar, Concrete gives a website editor all the controls needed to update a website. There are no intimidating manuals, no complicated administration interfaces - just point and click. We wanted to make the software appeal to website editors, because these are the people who are going to be using it on a daily basis after a site launch.

But editors are only half the audience, and only half the users of the software. Before a site launch, Concrete had to appeal as much to developers, because it was developers who are going to be using Concrete’s tools, components, and libraries to build these websites. Fail to appeal to them, and you’re dead in the water. So that’s who we’re talking to here -- we’re talking to you, the Concrete website developer.

It’s this dichotomy that you have to understand when building a great Concrete website, and that we’ve often failed to adequately address in our previous training and documentation materials. Building a great Concrete site isn’t just creating a great theme, or building a single block type in a vacuum. These individual pieces won’t succeed if they don’t fit together in a cohesive way. As a Concrete developer, you’ll need to care about front-end features like page types just as much as site editors. Because if you don’t understand how to architect your site to make use of these features, editors won’t understand how to use what you’ve built.

It’s a little embarrassing that it’s taken us this long to put out this guide. There have been a number of great, helpful Concrete books, and we’re really excited about adding this to that list. It’s always been our goal to make digital publishing easy, and we’ve always strove to create tools that anyone can use, powered by software that developers loved to use. Hopefully this guide helps you understand that relationship just a little bit better.

Thank you for reading, and thank you for your continued interest in Concrete.

Andrew Embler