Introduction to Craft CMS

Final product image
What You'll Be Creating

For developers who want more control and performance than WordPress offers, Craft CMS offers a compelling solution. In this tutorial, I'll introduce you to Craft CMS and summarize its core features.

What Is Craft CMS?

Pixel & Tonic's Craft CMS is a WordPress alternative for development-oriented publishers who want deeper control and more powerful performance from their content management tools. It's also a potential option for consultants and developers to expand their client offerings.

Craft is not a site builder—you need to build out your HTML, CSS and JavaScript by hand. There's no official theme or plugin marketplace at this time (though I wouldn't be surprised if one appears in the future). But Craft is built to be exceptionably scalable, and offers native features for complex content management relationships. 

It's an appropriate choice for small websites, but will shine with larger content sites that have significant multi-layered, inter-related content.

Craft is written in PHP on the powerful Yii 1.x platform. If you haven't heard of Yii, you can read my Introduction to the Yii Framework at Tuts+. You don't need to know PHP or Yii to use Craft. It's akin to Django-powered CMS tools written in Python.

While you might not have heard of Craft, its developer community is growing fast. This past June, its proposal for a CraftCMS StackExchange site was approved in just five days.

You can view a showcase of sites running Craft here.

Feature Overview

Let's review the feature set that Craft provides.

Documentation

Craft has an extensive set of well-written documentation to guide you through getting started and deepening your experience with the product.

Craft CMS Documentation

Administrative Dashboard

Like other CMS tools such as WordPress, Craft provides a back-end administrative dashboard for authors and editors. Craft's interface is defined with an orientation towards simplicity.

Craft CMS Dashboard

Its dashboard is also fully responsive, so you can manage your site from tablets and smartphones:

Craft CMS Responsive Dashboard

Live Preview

Craft offers an impressive dynamic live preview function, allowing you to manage your page's appearance without constant re-publishing.

The live preview reminds me of Ghost's editing system, but I like that you're not required to use Markdown.

Templating Framework

Currently, there are no template marketplaces for Craft. You define your site’s HTML output with templates built in Twig.

Rich Content Model

Craft's rich, publisher-oriented content model is where the platform really shines. The backbone are its sections and entries. Each entry has an author, a date, an optional expiration, status, and body content.  

Craft actually has three different types of sections: singles (standalone pages), channels (related entries such as for blog entries), and structures (for entries that require their own hierarchy or sort order). Of course, Craft offers categories and tags for entries as well. 

Craft also offers fully configurable custom fields out of the box:

Craft provides the ability to relate elements together using its sophisticated schema.

Craft CMS Relations in the Dashboard

These relations can be brought to the surface for end users with templates:

Craft CMS Relations in Twig Templates

Craft offers a feature called Matrix which allows authors to group related content fragments and assets together and re-order and re-use them with ease:

And Craft offers a custom routing system for managing navigation and requests from your website to your content data store.

Multiple Authors

The free version of Craft is restricted to a single author. The Client license offers an administrative and author user. The Pro license offers unlimited users and groups.

Asset Transformations

Craft provides customizable default asset configurations for your site, so you can control how images et al. appear in your site. These can also be dynamically controlled through templates:

Search

Craft provides support for built-in search.

Localization

The Craft administration user interface is localized in 15 languages and provides a guide to setting up a localized site.

Craft CMS Localization in Fifteen Languages

Plugin Framework

Craft comes with "a powerful plugin framework coupled with a robust set of APIs that paves the way for a wide variety of plugins". There's a third party plugin directory at Straight Up Craft.

Built In Support

You can submit support requests to Craft's team right from the dashboard.

Regular Updates

The Craft platform is regularly updated. Here's a summary of what's new in version 2.3:

One Click Update

Updating Craft is easy. When an update is available, there is an “Update” button. Clicking that will initiate Craft’s self-updating process.

An Active Community

The Craft developer community offers a number of ways to network, find resources and get advice, including a weekly chat.

Pricing

You can run a basic single author website with five static pages and a blog for free. Serious users will want to run the $199 Client license, and power users will want the $299 Pro license per site:

Craft CMS Pricing

Pixel & Tonic also offers discounts for nonprofits and educational institutions. You can learn more about Craft's pricing here

Getting Started With Craft

To install Craft, visit the website and download the codebase. If you run Craft locally from the host names “craft.dev” or “ontherocks.dev”, you will have the option to switch between Craft Personal, Craft Client, and Craft Pro for free, forever.

Before installing, you will want to review the system requirements, basically PHP 5.3x and above and MySQL 5.1.

Craft provides detailed installation instructions and links to guides for Mac, Laravel and Heroku, and even an automated installation with Composer.

Where to Go From Here?

I encourage you to install Craft and explore its feature set further. I'm excited by the power, control and scalability Craft provides as an alternative to WordPress. I'm also a Yii aficionado and it's great to see a CMS tool built on my favorite framework.

If you'd like to see a follow-up series on publishing with Craft, please post a note in the comments. I also appreciate your questions and comments and generally do respond. You can reach me on Twitter @reifman or email me directly.

Related Links

Tags:

Comments

Related Articles