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.
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.
Let's review the feature set that Craft provides.
Craft has an extensive set of well-written documentation to guide you through getting started and deepening your experience with the product.
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:
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.
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.
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.
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:
Craft provides support for built-in search.
Built In Support
You can submit support requests to Craft's team right from the dashboard.
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
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.
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.