Nov 20, 2013
Exploring Craft CMS
Craft is a relatively new CMS that is created by Pixel and Tonic; the dev shop behind some of our favorite and go to ExpressionEngine add-ons. Craft has been out for around a year and we as a team have been following its growth very closely. I was excited to have the opportunity to spend some time with the platform recently and find it to be both liberating and wonderfully empowering.
The following are some highlights of my time with Craft and why I feel it can benefit both content publishers and web developers.
Above all, working with Craft has been exciting and uplifting, and that is not something you often hear about a CMS!
Craft for Publishers
Craft has a beautifully straightforward and customizable management control panel.
Your recent content is organized neatly on the dashboard, right after log-in. New content can be posted from the dashboard, or you can select a previous item to edit. Beyond the dashboard, all of the content management and CMS settings area of the platform are designed with a refreshingly clean and uncluttered solution. We are huge fans of the interface and ease of use it offers content publishers.
Entry Types Make Publishing Easier:
Imagine you have a “News” channel but would like to have two different types of news entries. One type a “News Image” and another a “News Article”. With Craft’s Entry Types “News” content can be configured with multiple types allowing a content publisher to select the appropriate type and have the relevant fields populate automatically. This is super powerful for CMS designers and content publishers if you have two or more flavors of similar content.
There’s nothing to distract or confuse.
News Image Entry Type
News Article Entry Type
Live Preview Updates As You Type:
When editing your content, you can click a button to show a Live Preview and immediately view your content exactly as it will look like on your website. This preview updates automatically as you type and shows you if anything looks awry.
Improved Content Organization:
Craft is architectured to mould around your content. It currently offers multiple ways to model your content:
- Structures: Sortable content. You can re-arrange your entries to a desired organization/heirarchy, for example: the contents of an eBook, support or resource area.
- Channels: Streams of regularly-published content. This works well for blog posts or news articles.
- Singles: One-off entries, such as unique pages.
- Globals: One-off content elements, such as footer or sidebar content sections.
Each of these structures can be configured with the right fields that match the content they are delivering and combine this with aforementioned entry types
Craft for Developers
Based on my initial exploration, Craft is a swiss army knife of a CMS. The following are some highlights.
Field Definition Flexibility
Craft’s flexibility begins with the fields and field groups. These can be selectively assigned to assets, sections or globals (more on that later). You can assign as many or as few fields from any group, using a nifty drag-and-drop interface.
Content Modeling Flexibility
Between Section types, Globals, and entry types (see above) there is wondering flexibility to model content for publishers in a way that is intuitive for them while at the same time equally intuitive for developers to implement.
Twig for Templating
Templating is based on Twig; powerful and easy to get to grips with. Templates can be inherited and extended using Twig, enabling a very DRY approach. There are a multitude of additional useful features provided by Twig and complemented by Craft’s custom filters. We’re personally excited about this as we have started to use Twig on some of our application development projects and this offers us the ability to standardize on a templating syntax across different project types.
Defining custom routes for your templates and content is easy using Routes management. Being able to do this so directly and thoughtfully is something that we are notably excited by.
Hurray for One-click Updates!
The one-click updates are particularly nice - especially when it fixes a bug you only reported that morning.
Learning and Support
The Mijingo tutorials provide a good introduction to the CMS structure and syntax Craft uses. I started my exploration with these and then started to create a test site of my own.
The support I experienced is fantastic; unbelievably fast responses and updates. I found some of the organization of the docs confusion to start but after some time getting to know them have found them easy to navigate.