A Study in Craft
Developing an online publishing platform with a powerful CMS.
Recently we had the opportunity to build a new responsive website for a client who had a myriad of short- and long-term goals, many of which would evolve as their vision gained traction. The first objective was to build a publishing platform that would include multiple sets of content types, with isolated author access to entries based on user permissions, the type of content and authorship. Additionally, the pieces of content needed a relational component in order to easily reference each other throughout the many facets of the website.
Given the initial requirements and the need to accommodate an array of future unidentified features, we immediately thought of using Craft. We had used it previously for a handful of smaller projects and absolutely loved the entire experience.
Craft is a CMS that works wonderfully with structured data, and it doesn’t make any unnecessary assumptions about how that data will be used on the front-end. It provides a head start by supplying the common features needed for a publishing platform such as:
- User accounts and fine-grained permissions
- Content entry with drafts and versioning
- An assortment of built-in field-types
- A robust query builder
- Routing & pagination
Most importantly, it has a powerful API to extend its functionality for your project’s specific needs which we’ll be discussing in future blog posts.
The Publishing User Experience
While it’s important for us to enjoy building products with Craft, it’s even more important that our clients enjoy using the CMS. Thankfully, the client feedback from previous projects has been excellent. Navigating the CMS’ admin is simple and straightforward, while managing content is extremely easy.
A feature that was especially loved is the Live Preview feature, which displays a side-by-side view of the content entry page and the actual output that visitors will see. This is notable because as content and data is entered, this feature of Craft will render the end result as the content changes. Here is Craft’s official promo video of it in action:
During the project, we created a few libraries to extend Craft’s functionality or connect to external services. The plan is to extract some of these from the project and open source them in the coming weeks. We’ll be following up with more blog posts when we do, as well as tips on Craft configuration and deployment. Check back here or subscribe to our monthly newsletter to receive updates.
Everything considered, Craft was a wonderful choice for this project and we highly recommend taking a look at it for your next endeavor. We certainly can’t wait to use it again.