Putting OctoberCMS into words

Posted in Philosophy on Apr 01, 2015

It's official! The Release Candidate version has been let loose! This is exciting news, as of today you can confidently use OctoberCMS for your live websites. For those of you who have arrived late to the party, here is an introductory summary that should answer some of those questions you have about this incredible platform.

What exactly is OctoberCMS?

You can’t pigeonhole OctoberCMS. This can make it confusing for the developer who is trying (unsuccessfully) to associate OctoberCMS with other CMS’ they already know. The reason we call it a CMS is because that is what it most closely resembles, a content management system. In actuality, OctoberCMS is more of a platform, an online operating system for building websites. The word ‘platform’ loses meaning through everyday usage, as everyone claims to be a platform, yet October CMS is a platform in its truest sense.

It might be easier to describe it in terms of possibility. Think of any CMS you have used before, it’s possible to build that entire CMS with all of its features using October. In the early days, we borrowed the core concept from Ghost CMS and built that as the plugin RainLab.Blog. Not all the features are included as we continued on with other things, but it only took a short amount of time to build, about one week.

So it's a framework?

The short answer is no - October sits on the shoulders of a clever framework called Laravel, all of the benefits of this are intrinsically available at a low level. October's development approach sits at a high level, that is too guided to be considered a framework. This makes it both opinionated and un-opinionated, enigmatic, we call it disciplined.

Developing solely with a framework grants you full control, but since you have to do everything yourself, it can feel like driving in the slow lane. The majority of OctoberCMS' traits strongly resemble a framework yet in contrast development is significantly faster.

Then it's a starter CMS?

A starter CMS is a patched version of a framework that completes common tasks for common websites. It gets you started quickly with a back-end, users, and other features presumed to be useful. You are then left alone to carry the baton and grow the features you need using the framework.

OctoberCMS shares one benefit with a starter template, you get a rapid startup ability. It leaves behind some of the downsides: there are no assumptions made about your features (even front-end users are optional!) and the platform continues to carry you when building out your features. This means that rapid development is a continuous cycle.

A rapid builder CMS?

This is the most common CMS that October is type-casted as. There are countless content management systems that fit this description, they have the ability to rapidly create entities with custom field types. We love this feature, it is so good that you could build an entire CMS around it, and some people have. In fact we like it so much we have a plugin planned that offers this very thing, except in our version it creates real files no different to files created by hand.

The crux of a builder-type CMS is offering the same robust features as a framework but targeting it towards non-technical users. Everything is solely managed through an interface and any limitations are soon realized when trying to step outside the box.

October's secret sauce

October makes one bold but obvious assumption: clients don't build websites, developers do. The role of a client is to manage the website and convey their business requirements. The web developer, and the industry itself, revolves around mediating these factors.

When a platform is built with a client-centric development process, it only results in one thing: an unhappy developer. The developer is forced in to a pacified mentality knowing that there is no chance of reaching their full potential. Eventually, a limitation of the system is reached and the obvious solution is to use a framework next time -- to go back to the slow lane.

With October you don't have to ride in the slow lane, it is a developer-first platform that assumes you have entry level skills in HTML, CSS and PHP just to get started. Of course there are polar exceptions: managing the website requires no special skills and developing plugins requires further PHP knowledge. This approach may sacrifice initial acessibility for non-technical users, but its benefits are astounding once experienced and understood.

OctoberCMS is a web platform unlike any other, it's the happy medium between a framework and a CMS.