Craft CMS Logo

Using CraftCMS

What is craft?

Craft is a CMS by the team at Pixel & Tonic. They had made some cool and powerful plugins for Expression Engine, so cool that they are now major components of the Craft core. Much of Craft seems inspired by Expression Engine. They took what they liked and changed what they didn’t to make something new and unique.

First Impressions

Craft was pretty easy to install, about as easy as any other open source systems. As a designer, though, you can definitely tell the attention to detail and design right from the beginning. The documentation was clean and pretty easy to follow, there’s a good amount of it too. There’s not quite as much documentation as a popular system like WordPress, for example, but there’s enough and it’s easy to read. +1 for that.

When you load up a fresh admin there’s not much to see. Being used to WordPress it’s weird to see a seemingly blank admin area when you’re used to jumping into posts, pages, themes, widgets, and a bunch of other sections. It’s deceiving though because there is so much possibility, better than possibility, flexibility. The admin fills out as you start to build your information architecture. As you create sections, fields, global variables, and asset folders the options begin to open themselves to you. You don’t need an “Assets” admin menu item until you have told the system you have a folder for assets. It just makes sense.

The admin begins to fill out as you create your information architecture and create the content workflows

The investment is time. Because of the flexibility and granular control, you need to think about how the system should be set up. What fields do I create? What fields can be repurposed? What types of content do I have? And how should they be structured? The system forces you to, at least, think about the information architecture before you start inputting content and creating templates.

Creating a template

There is no real templating system in Craft. You decide how to structure your front end code. Which is actually pretty nice. They give you a starting point. A layout file which is similar to the header and footer files in WordPress, a sample section called “news” that comes with an index template and an _entry template (a template for a landing page and one for any entry that falls inside it). There’s also an index file serving as the homepage template.

It’s flexible, though, the layout file is just a starting point and you could create many different “layout” files and load different headers and footers for different page types. Not only can you do this, it’s dead simple. In the admin, as you create sections, which are like channels in Expression Engine, you just tell it where the template is for that section. Now just go ahead and create a folder or HTML file for it. It’s simple, flexible, and under your control. Nothing felt too abstracted away from me, I felt like I had complete control but also a lot of helper functions that made development easy.

Speaking of templating they use Twig for that which is a breeze. So not only do you have a nice set of documentation from Craft, you have all Twigs documentation if you run into any problems with the template syntax. They work well together and nothing feels just bolted on.

The powerful matrix field allows for complex content management within a single “field”.

Other Stuff

There isn’t a giant list of plugins for Craft but there is a good amount, and a lot of them seem well built and useful. The downside is a lot of them are not free, in general, Craft is not particularly free. If you need any sort of multi-user system then you are going to have to shell out the $299 to upgrade to the pro version, and if you want e-commerce? Well, that’s another $700 (or $999 which will include the Pro license). A small price to pay for most companies but for a small business or a freelancer, it’s a little steep.

I have really enjoyed working with Craft. We are actually working on 1 or 2 projects that will launch on CraftCMS soon, which is exciting. Kudos to the team at Pixel & Tonic for building a beautiful, versatile and powerful CMS.