How CraftCMS is Winning the Content Management Game

July 11, 2016
Digital Surgeons

At Digital Surgeons, we are well-versed in content management systems of all shapes and sizes. We've seen Wordpress evolve from an immature blogging system to the mature publishing platform it is today. We've worked with virtually every popular proprietary and open-source content management framework across the board, including Drupal, Joomla, and other similar platforms. We've tweaked, configured, and pushed hosted services like SquareSpace and Shopify to their limits, and we've tamed enterprise systems like Sitecore, Demandware, and Magento. In recent times, we've found ourselves reaching for Expression Engine as a mature, flexible, and adaptable platform for building applications with customized taxonomy and unique templates, and it's served us very well.

But there's a new kid on the block. One that offers solutions and alternatives to the many issues that CMS platforms of today present. One that brings a breath of fresh air and a yelp of excitement from development teams across the internet. That platform is CraftCMS.

CraftCMS is a very flexible content management system, one that is well placed serving SME's battling with enterprise level software and for a very good reason. Built by renowned Expression Engine add-on development shop and our good friends, Pixel & Tonic, the platform was always off to a good start. But there are a number of stand-out reasons that more and more developers, designers, and content strategists are turning to Craft to power their applications.

Beautiful Design From the Ground Up

If there is one thing we value over all else at Digital Surgeons it is design. Design is at the core of everything we do, be it experience design, brand design, or designing the architecture of a complex single page mobile application that powers an intranet for the likes of a business the size of GE. We love design and boy does the Craft team too.The CraftCMS control panel is a beautiful example of world class responsive web design, but that’s not just our design-snob bias. The control panel is likely where you spend the majority of your time, working with the software to create great content, and the experience you have while interacting with that software is crucial to the overall success of the application. A great, well-designed user experience makes for great content. We always make it a point to customize and tailor the administrator control panel for our stakeholders, but Craft makes this easy-to-do and requires barely any customization for most users. From the structured and scalable code-base the platform is written on, to the slick user-friendly experience design, we're loving what this means for our clients.

A Rapidly Growing Community of CraftCMS Makers

We're building sites and experiences on Craft for venture-backed startups all the way up to Fortune 50 organizations, and we're not the only ones. Thousands of brands, designers, developers, and agencies are turning to Craft CMS as their “go-to solution.” Recently we've seen brands like Netflix, SalesForce, AssociatedPress, Oakley, AirBnB, and PBS start deploying amazing digital experiences powered by Craft. It's developed on top of a fully open-source codebase which means it will stand the test of time and your team can tweak, edit, and extend to their heart's content.

Easy Administration With Out-of-Box Localization & Editorial Governance

Many of the projects we work on have countless stakeholders all across the globe. Craft makes localization and administration for multiple users, roles, and permissions a breeze. Restricting content and publishing is built right into the platform, and gives administrators all the controls they need to build out a custom user management strategy. Define exactly what your users can do on your site by assigning permissions directly to them or their user group, which grants the permission to every user that belongs to the group.Another huge advantage of CraftCMS over many other platforms is baked in localization. All of your site’s content can be localized to target specific languages and territories, from the entry URLs down to the individual field values. Localization, often a headache-inducing feature, is handled for you from the get-go.

Safe, Secure, and Scalable

The awesome team behind CraftCMS has put a lot of effort into platform security, so there is less to worry about for the developers and content creators using the product. From the one-click update system that allows critical updates to be pushed out and installed with minimal effort, to the smart decisions made in tooling taking care of SQL injection, XSS and other common hacking techniques. There are also many features implemented to protect users including strong password hashing, permission enforcement, temporary account locking, and much more. If you're interested in hearing more about security then drop us a line – we love to geek out.

Taxonomy With Flexibility for the User in Mind

We’ve been avid Expression Engine users for quite some time now and the concept of content channels still wears the taxonomy crown for us. The ability to create custom channels of content coupled with channel-specific custom fields (more on that next) is essential in building advanced front end designs in a content-managed system. CraftCMS brings us revamped content channels. 'Sections' are channels of content, 'Singles' are channels of content with only a single entry, and globals are single entries not assigned to a particular channel of content. These patterns are really useful in designing a flexible and custom content managed website. Not everything is a stream of entries in a channel and Craft provides developers with the tools they need to build content management experiences that make sense.

Custom Fields, Painless Content Architecture

Another Expression Engine feature on steroids, the CraftCMS implementation of custom fields offers a number of awesome new features. Firstly, the baked-in custom fields are killer, Pixel & Tonic had a head start to be fair, their Expression Engine add-ons are second to none and the CraftCMS implementations have had an update and a half. There are a number of new custom fields that every Expression Engine developer would love to have baked into core including color pickers, position selectors, lightswitches, and more.

But the real power in Craft's custom fields comes with Matri. A name all too familiar with Expression Engine developers, this version of Matrix brings a whole new dimension to content creation. At it's core Matrix allows developers to create content schemas for multiple rows of content. However, CraftCMS introduces a brand new core concept to Matrix called “Block Types.” Block types allow developers to create multiple content schemas within the same field so that users can create rows of content of various types. We have had great success with this format, building UI kits and style guides mapped to block types meaning administrators can design web pages directly within the CMS control panel while keeping within the restrictions of the brand.

Real Time Live Preview That Just Works

Live preview is one of those features that we all know we need but all fear implementing. Live preview seems like an after thought with the majority of CMS platforms, either a third party plugin or a half baked core feature. Due to clunky implementation and oftentimes having to duplicate and modify existing templates and views, live preview has become one of those features essential to content creation but feared by all. Craft’s live preview is pretty damn amazing, as it works right out of the box with no set up required. Content can be created on the fly with the preview updating in real time. It is beautifully designed both visually and technically, keeping with the theme of the CraftCMS control panel. Combined with Matrix block types it’s a joy to create content and design web pages, all while keeping on brand.

Headache Free Templates With Twig

Templates, an aspect of content management systems that only developers ever touch, can be a dark and convoluted place at times. Rather than integrating scripting languages directly into HTML templates, like Wordpress, or implementing their own custom template tags, like Expression Engine, CraftCMS made the smart of choice of integrating Twig – a fully fledged template engine that many developers are already familiar with (and those that aren't will pick up in a flash.) Twig is a template engine that for all intents and purposes looks like a scripting language like JavaScript. Loops, functions, filters, and other useful features make coding Craft templates a pleasure, not a chore. But it's not just developer morale that makes Twig a great choice. The language makes building custom templates with unique and advanced designs a walk in the park – something that other platforms have struggled with in the past.

API Administration With the ElementAPI Plugin

These days, JavaScript-driven single page web applications are all the rage, and for good reason. With a smart approach, moving logic from the server to the client can make for a much faster and more enjoyable user experience. We have worked with both Expression Engine and Wordpress on the back end generating JSON on the front end for our JavaScript to consume. While Wordpress is making great moves in this space with their REST API, it's never as simple as it should be. Platforms like Contentful are great for this mold of web application, however are often less advanced than more traditional content management systems.

Craft has another trick up it's sleeve here, in the form of official add-on “Element API.” The Element API plugin allows developers to set up a configuration file that tells Craft how JSON endpoints should be served. It allows real customization of the API to suit the application perfectly, without having to build out JSON within CMS templates like Expression Engine, or querying a RESTful API manually like Wordpress. It's a perfect middle ground and we've had great success with CraftCMS powering single page web apps and even mobile applications.

It's All About the Right Tool for the Job

It's important to remember that there is no single solution to all of life's problems, and as smart problem solvers, it is our responsibility to find the right tool for the right job. At DS, we're a design-driven organization, which means that we always pick the best tool for the job. We'll still continue making great products with all the major supported platforms ranging from Enterprise solutions like SiteCore and Demandware to open-source alternatives such as Wordpress, Magento, and ExpressionEngine. But right now the flexibility, extensibility, and attention to detail the Craft CMS team are putting into their product, make it a platform we are leading the charge with when it comes to flexible and fast content management systems design.

If you are still wondering what has us so excited about CraftCMS, drop us a line and we'll show you.

Thanks for reading.
Digital Surgeons
Spread the word!