Things I'm Loving About Craft CMS
I know, I’m late to the game. Craft CMS has been around for 3 years now, and while I’ve peeked in occasionally I never really built and used anything real with it until recently.
But after 8 years of building ExpressionEngine sites (and the occasional WordPress site) it was time to expand my horizons. It was time for something different.
I’ll save you all the history and reasons why Craft is such a great CMS - that’s been said many times. Today I’m just going to share my initial “whoah, that’s cool” moments as I worked through my first site build.
I though it was really cool that Craft is setup by default to have it’s core folders sit outside of the webroot. I know you can do that with other CMS’s, but it’s nice to not have to jump through any hoops. I also appreciate the straightforward, no nonsense folder structure. Plugins aren’t broken up into function and theme folders like EE was in v.2 so maintaining them is much easier.
Besides being super fast to install a new instance, I love setup screen and the amazing illustration by Paul Burton. Good way to start things off.
Shared Custom Fields
Raise your hand if you had to create the same fields over and over again in ExpressionEngine. Ugh.
Craft intelligently lets me us the same custom field types for sections, users, assets, tags, Matrix fields, and global sets. Seriously. All those things. This saves time and sanity in spades.
Built-in field types
Until recently, you needed quite a few add-on field types when using ExpressionEngine - recently they’ve started to remedy that, but I feel like Craft has an even better default set of field types.
Assets is a robust file manager with a great UI, there’s a color picker field, lightswitch field, position field - even a User field and industrial strength relationship field. All super handy and appreciated that I don’t need to rely on a 3rd party. Then of course, there’s Matrix.
I still believe ExpressionEngine is light years ahead of WordPress in the custom publish area department, but what Craft has done with it’s Matrix content blocks puts everyone else to shame. Rather than force content to be in a certain order, the Matrix fields lets you define content blocks that can each have their own set of custom fields. Then as the user publishes an entry they can choose what type to content to post in what order they want. Or drag and change the order if they change their mind.
There were some 3rd party Add-ons for ExpressionEngine that tried to do this, but since Matrix is baked into the core of Craft, it works with all field types and like we mentioned earlier can even be used for users, files, etc…
No more “dump everything in the WYSIWYG field.” Yay!
Even with Add-ons, live previewing in ExpressionEngine has always felt complicated and janky. Craft’s split-screen, live updating version feels like the future. Or really what it should have been like all along.
After years of “I don’t want to update this because it’s complicated, takes forever and may break something” with other CMS’s I really appreciate Craft’s one click update. It backs up your files and database and updates itself from within the control panel almost instantly.
Where has this been all my life?
Finally, I have to give a shout out to the control panel. It’s clean, modern, easy to use and responsive. The dashboard is customizable and actually useful. And there’s a true consistency to specific types of interactions throughout that are thoughtfully considered.
I love that certain elements are hidden until activated - and that you can customize all your data tables to show exactly what things to sort and filter by. Basically it grows with you and goes to great lengths not to overwhelm you out of the box.
And being a designer - it just feels good. It looks great - professional, but not dated - unlike pretty much any other CMS I’ve used.
Obviously there’s so much more to Craft - I’m just getting started with it. But I hope you enjoyed my initial “hey that’s cool” impressions. Until next time!