A Close Look at OctoberCMS

You may have heard the buzz surrounding one of the web’s newer content management systems (CMS), OctoberCMS. We will look into its strengths, distinguishing features, and how it stacks up within the current CMS ecosystem.

What Sets OctoberCMS Apart

OctoberCMS quickly rose to popularity with web developers because at its heart lies the Laravel PHP Framework. Laravel itself is a favorite in the web technology world because of its clean MVC orientation, fluid Object-Relational Mapping (ORM) and connection to other types of data stores, powerful templating, and dedication to clean, intuitive syntax. It was only natural that a CMS would emerge that would leverage the best aspects of the framework as presentation, rapid development, clean configuration, and simplicity are all crucial factors in CMS design.

OctoberCMS is also one of a newer crop of CMS offerings that maintain their structure through flat files. A RDBMS (MySQL in the case of the typical CMS) was long thought to be the most dynamic, stable, and consistent means for persisting the relationships and configurations of all of the content in the system.

Unfortunately, since database connections demand bandwidth and are subject to compromise, this approach can actually lead to performance degradation and security breaches. The flat file alternative promotes speed, simplicity, flexibility, and safety. However, it usually comes at the cost of making a site more suitable for small deployment than web or enterprise scale.

Theme Structure and Key Concepts

Here is the default theme directory structure of OctoberCMS (via SitePoint):

themes/

demo/

—assets/

—–css/

—–images/

—–javascript/

—content/

FREE PERFORMANCE CHECKLIST Your site performance checklist to help you assess your website health   

—layouts/

—pages/

—partials/

theme.yaml

It is far more intuitive than the structure for Drupal, for example. Some have argued that the it was designed in a way that needs almost no documentation.

The directories store different types of template files under their respective names. These files depend on a configuration section demarcated with “==” followed by code or Twig templating markup.  Here is a brief rundown of the directory contents:

  • Pages –  markup for pages, including the URL, title, description, and other assets essential for rendering a page.
  • Partials – reusable templates that contain partial code and can be embedded within other resources.
  • Layouts – templates defining the layout of a page that can be called out within a page configuration.
  • Content Blocks – definitions for .htm, .txt, or .md that can be invoked from within pages, partials, or layouts.

One of the defining features of OctoberCMS is its built-in support for AJAX. It is very easy to make dynamic page updates via event handler as it only requires use of the {% framework %} tag within template files and then calls to either the native Data Attributes API or more flexible JavaScript API.

Comparison with Other Popular CMSs

OctoberCMS has gained enough notoriety to invite comparison to WordPress, Joomla, Bolt.cm, and several other leading CMS solutions.

Much like Joomla, OctoberCMS is MVC-based and allows for package management through Composer. It’s plugin availability and community support of course have a long way to go before reaching those of WordPress or Joomla, but given the age of the platform both are already fairly expansive. It should be noted that plugin development tends to be more rapid and straightforward with OctoberCMS so we should see that availability gap close quickly.

Most CMS solutions rely upon post types and custom fields. OctoberCMS does not really compare simply because they are not relevant to its design. It is built with a philosophy of complete control over HTML and content. This gets to the heart of OctoberCMS: its target audience is experienced designers and web developers who have a rich understanding of markup. It is not suited for those that depend on the WYSIWYG options of the average CMS.

Of course, if you want to do serious design in Drupal you will have to understand PHP, the Drupal deployment structure, and the extremely involved View and Structure admin interfaces. OctoberCMS offers a comparative amount of simplicity, power, and flexibility for those that feel at home with HTML, CSS, PHP, and JavaScript.

Newsletter Signup

Share