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.
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.
Its dashboard is also fully responsive, so you can manage your site from tablets and smartphones:
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.
These relations can be brought to the surface for end users with 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.
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:
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.
Comments