An Overview of Pixel & Tonic’s Craft CMS.
The successful integration of flexibility, scalability, and functionality into a modern content management system.
| Estimated reading time: 11 minutes
Craft, a newcomer to the Content Management System (CMS) marketplace, released by Pixel and Tonic in 2013, is flipping the script on how agencies and their clients perceive a CMS. Its groundbreaking ideology integrates flexibility, scalability, and functionality, which allows for a fluid system that changes based upon the user’s content. Forever gone are the days of morphing projects around a content management system’s superfluous obstacles to end up with a subpar web solution. However, due to Craft’s relatively unknown reputation, a thorough analysis of its internal strengths and weaknesses, as well as its external opportunities and threats is required to shed light onto its potential.
“Forever gone are the days of morphing projects around a content management system’s superfluous obstacles to end up with a subpar web solution.”
Part One: Strengths
Craft has many strengths that make it a preferred content management system by many digital agencies today. The most praised strengths are its backend usability, lean codebase, robust security, online community, and its unrivaled flexibility when it comes to managing content. Craft’s recent awards and ever-growing user base speak for themselves, but let’s take it a step further and discuss why Craft is receiving a steady influx of positive recognition.
The Control Panel is the administrative backend where all content is entered into Craft. Its minimalistic and aesthetically pleasing design is functional and intuitive. Out of the box, Craft only activates the Dashboard, Entries (Equivalent to Pages and Posts for you Wordpress connoisseurs), & Settings tabs, as those are the only features Pixel and Tonic believe are truly necessary for every project. Beyond that, it is up to the content to dictate what additional features are needed. No more cluttered Control Panels with extraneous options that cause user frustration and anxiety.
“No more cluttered Control Panels with extraneous options that cause user frustration and anxiety.”
2. Live Preview
The most praised feature by project managers and clients at MilesHerndon, an award winning branding agency based in Indianapolis, is Live Preview. Live Preview allows users to observe edits in real-time. This creates a frictionless workflow and makes conceptualizing revisions instantaneous. In addition, Craft allows you to save entries as drafts and share them with others before publishing.
“Observe edits in real time, to create a frictionless workflow and make conceptualizing revisions instantaneous.”
Craft, on the other hand, was created for those needing a lean, custom, and scalable solution that prioritizes performance and functionality over a quick ‘turn key’ solution. Pixel and Tonic describe their software best by saying “Craft doesn’t make any assumptions about your content, or how it will be presented, so developers can spend their time building exactly what they need, rather than fighting with a pre-built theme”.
“A lean, custom, and scalable solution that prioritizes performance and functionality over a quick ‘turn key’ solution.”
4. Unprecedented Content Flexibility and Control
Craft’s fundamental ideology is giving its users the ability to create dynamic content within a fluid and adaptable framework. The application of these concepts lead to the creation and integration of Craft’s Sections, Entries, and Fields, as well as its User Management and Asset Storage capabilities.
All content is not created equal. Some is segmented, while others may require hierarchical or cross-sectional relationships. These dynamic relationship requirements are the foundation of Section Types, which resulted in a broader spectrum of available content frameworks. The Section Types currently available in Craft include:
- Singles: Singles are segmented one-off pages that do not have any native relationship to other Section Types. (i.e: About Page)
- Channels: Channels are a series of multiple related entries that are organized by the date in which they are published (i.e: News Entries).
- Structures: Structures are a series of multiple related entries in which their hierarchy requires specific customization (i.e: Location’s Entries or Service’s Entries).
Additionally, relationships can be formed between Section Types, to allow for the creation of a custom network of Section Types that work together to build the perfect content management solution.
Because we cannot assume that all content within a Channel or Structure follow the same layout requirements. For instance, as shown in the ‘Craft CMS Demo Site’s Settings — News Section Entry Types Panel’ figure above, a News’ Channel may require the ability to be a default ‘Article’, or a ‘Link’ to another article. To account for this, Craft created Entry Types. Entry Types allow single entries, within their respective Channels and Structures, to have unlimited template options with their own unique set of custom fields. Essentially, Entry Types allow for content to differ from one entry to another, even when it is within the same Section Type. Now, Sections and Channels can fluidly scale in unison with its content needs rather then forcing content to fit into a single predetermined page template.
“Fluidly adaptable templates that scale in unison with its content needs rather then forcing content to fit into a single predetermined page template.”
Field Types are the input fields in which all content is entered in Craft. Craft offers a wide range and ever-expanding list of Field Type options, which include but are not limited to Plain Text, Rich Text, Multi-select, Dropdown, Checkboxes, Tables, Date/Time, Categories, Lightswitch, Matrix, and Assets. Each Field Type comes with its own configuration setup, where users can regulate its behavior and specify its autonomous limitation parameters. This allows inputed content to be controlled as explicitly as is required depending on the freedom given to the content managers, as well as the requirements of each Field Type.
Additionally, each Field Type can be further customized when it is added to a specific Section Type. Each Section Type has its own Field Layout Panel which allows for previously created Fields to be added, removed, organized, and configured to meet the requirements of that Section or its Entry Type. Lastly, Craft allows for Field Types to be organized into customized categorical Field Groups, which allows for greater control panel organization.
Among the many Field Types Craft offers to its users, none is more powerful than the Matrix Field. The Matrix Field Type is, for all intents and purposes, an autonomous environment in which unlimited Field Types can be created and reorganized. It can be thought of as a reinvented anti-WYSIWYG editor, which creates an easy and functional formatting engine that allows for limitless layout possibilities. With the Matrix Field Type, content is now more dynamic then ever.
“Craft’s fundamental ideology is giving its users the ability to create dynamic content within a fluid and adaptable framework.”
Craft’s User Management System, at its most primitive state, allows for an unlimited creation of users with the ability for additional modifications. However, as user management becomes increasingly more paramount to a project’s success, Craft offers a well tested User Permission System. Craft’s User Permission System can be molded to fit all user roles (i.e. administrators, editors, authors, etc.) with Craft’s custom User Permission settings, User Groups categorization, and Public Registration capabilities.
User Groups were created to assist in the organization and standardization of permissions for large quantities of users based on their content management roles; as well as making it incredibly easy to perform mass User Permission edits based upon associated User Groups. Furthermore, User Groups are meant to enhance Craft, so they can be created, modified, and deleted at any point by an administrator.
“User Groups make it incredibly easy to perform mass User Permission edits.”
Public Registration allows for outside users of a Craft application to create their own user profile and contribute to the CMS’s content. For instance, social media websites allow users to join their online community and add photos, comments, events, updates, etc. These publicly registered users can also be managed with User Groups, which are maintained by the site’s administrators.
Craft empowers a content manager’s organizational needs with a robust Asset Management system that allows users to create, move, and rename all asset-specific subfolders and their files. Additionally, it uses dynamic directory creation to assemble a custom storage system based upon the content as it is created. This individualized asset management approach empowers users by making it more convenient to store and locate images and eliminates the frustrations that are normally associated to a CMS’s chaotic “one size fits all” approach to asset management.
“Asset Management system that uses dynamic directory creation to assemble a custom storage system based upon the content as it is created.”
If alternative asset storage is a requirement, Craft also has the native ability to connect to cloud-based storage systems. Currently, these systems include Amazon S3, Rackspace Cloud Files, and Google Cloud Storage. Remote and local asset directories sync within the Craft dashboard to allow for easy file transfers between both systems, making a harmonious distribution of power.
7. Freedom to Developers
Pixel & Tonic’s team comes from an extensive Expression Engine background who prioritized the development of plugins to increase usability with the Expression Engine platform. This experience cultivated ideas and beliefs which today make up Craft. At Craft’s application core, it allows for unique development setup configurations, the integration of Twig — a PHP template engine, and a customizable responsive image manipulation solution that are all further supported by a robust online documentation library.
Craft was created to give developers the freedom to customize and mold its architecture to fit into their preferred project scaffolding and coding methodologies. This begins with the ability to redefine Craft’s PHP Constants. PHP Constants define the project’s current environment, geographical locale, site URL, and base paths for core application subfolder’s. These constants allow for multi-environment setups, unique project architectures, translation services, security optimization, and augmented URL structures, which all assist in the enhancement of Craft’s speed, reliability, testing, and maintenance benefits.
Twig, Craft’s templating engine, transforms PHP into a template focused syntax filled with countless benefits that enhance PHP’s speed, security, flexibility, readability, and conciseness. More importantly, Twig is time-tested and easy to use due to its thorough documentation, and intuitive syntax error reporting. However, if Twig doesn’t meet a developer’s needs, it is extensible via plugins.
“Twig enhances PHP’s speed, security, flexibility, readability, and conciseness.”
Responsive images, a critical aspect of modern responsive web development, is the practice of serving different sized images depending on the device’s capabilities. Responsive images increase performance, prevent bandwidth waste, and allows for more greater art direction capabilities. However, the task of creating multiple image sizes for each image becomes a tedious task, enter Image Transforms. Image Transforms are a user-defined, non-destructive, automatic image optimization engine, built to automatically create all production ready responsive image sizes. Now, all those technologically challenged clients can create environmentally responsible images with an anxiety free experience.
“Create environmentally responsible images with an anxiety free experience.”
Documentation influences every developer’s experience when using a content management system. With good documentation, comes an active support group — Pixel and Tonic — that values providing its development community with a strong usable foundation to promote flexible workflows. Craft exemplifies this concept with its diverse documentation outlets that cater to cultivating sophisticated developers with user-friendly learning environments. These environments include forums, news posts, meet ups, and social media outlets, which will be further explained within the ‘Active Online Community’ section.
Cyber security and privacy is a continually increasing priority for organizations. Even more so for those with databases full of sensitive client information. In order to better protect its users, Craft is continually making improvements — releasing 46 updates in 2016 — to ensure the constant fortification of its system’s security. In addition, Craft has made it incredibly simple to keep previous Craft versions up to date with the One-Click Auto-Update feature, which, as the title suggests, allows updating to be initialized from the Control Panel with one click.
When critical updates are needed due to security risks, the Craft team is incredibly responsive. This commitment to security was exhibited during the overnight critical release of Craft Build 2.6.2791 — the only critical release to date, which was in response to discovering a template injection vulnerability. When this critical release was deployed, every Craft Control Panel added special attention to the update to convey its level importance to users, which allows for an immediate dispersion and rectification of the critical security bug.
Craft has cultivated an online community focused on increasing the usability of its CMS by providing its users with multiple touch points to research and help clarify unresolved questions. These channels include their extensive documentation, as well as Craft Forums, News Postings, Stack Exchange, Email, Slack, Twitter, Facebook, and other social media platforms. In addition, Craft has partnered with 3rd party resources that provide additional tips, tricks, tutorials, and forums. These 3rd party resources include, but are not limited to, Craft Cook Book, Straight Up Craft, and Mijingo. Safe to say, when an organization chooses to use Craft for their web solution, they will not be alone.
The active online community has lead to Craft prioritizing the deployment of Craft Commerce 2 and Craft 3. These new releases will feature a new Content Migration solution, Multi-Site capabilities, improvements to plugin architecture, element querying, and a larger array of debugging tools; all built upon the newest Yii and PHP releases, which will increase performance, scalability, and extensibility.
Believe it or not, we have just scratched the surface of Craft’s capabilities. I encourage those interested in learning more to visit Craft’s online resources as well as begin playing around with Craft’s Demo Site.
There are few content management systems that compare to Craft, whose groundbreaking integration of flexibility, scalability, and functionality into a CMS solution makes content creation and management a simple and enjoyable experience.
“An Overview of Pixel & Tonic’s Craft CMS: Part Two” will be released soon, which will cover Craft’s internal weaknesses, as well as its external opportunities and threats.