October CMS

Submitted by peter on Mon, 01/11/2021 - 10:35

October CMS is based on the Laravel framework and stores content as flat files. Flat files offer speed advantages when compared with the average database and Laravel offers speed advantages compared to the monster Symfony framework.

October won a CMS award in 2018. Grav won the same award in 2017 and 2019. Grav might be the first CMS to look at if October is not exactly what you want.

October CMS is an 8.3 MB download from Github named october-develop.zip and expands out to 3,300 files using 31 MB on disk. Unfortunately the file contains nothing usable. This is the first October roadblock.

Flat files

Databases make many things easier but can be hard to configure. Web hosting companies rarely let you control the database used for your small to medium Web site. You can move the data out of databases into flat files or build a local database file using SQLite. A flat file CMS stores all the content/data in flat files and may build a temporary SQLite database for indexing.

A large CMS with heavy processing effectively builds the output as flat flat files stored in a cache for delivery during subsequent page requests. A flat file starts with the content in flat files, instead of a database, then creates the output as flat files similar to the output created by a database based CMS.

Install

I test locally on my notebook and installed several varieties and brands of CMS, flat files. I start with a code review and reject anything that would be difficult to maintain or modify.

This is my second attempt at using October CMS and you still cannot install it in a safe secure way. The recommended way to to use their "wizard", a download that is as big and complicated as some complete CMS downloads. The big lump of Wizard is not the CMS, just code to download the CMS. What a waste of time.

I attempted to follow the wizard code to see what it is doing, if it has basic security, but the code is full of ancient fashion statement Javascript trying to do what PHP does. I gave up.

The only other option is Composer and I am not going to open up my computer to unknown code. Cross off the October CMS plan B.

Their list of requirements follows. The minimum PHP is actually 7.2.9. There is no mention of Composer or Internet access during the install.

  1. PHP version 7.2 or higher

  2. PDO PHP Extension (and relevant driver for the database you want to connect to)

  3. cURL PHP Extension

  4. OpenSSL PHP Extension

  5. Mbstring PHP Extension

  6. ZipArchive PHP Extension

  7. GD PHP Extension

  8. SimpleXML PHP Extension

The code is a mess. Following on from their first error message, when their code crashed my test site, I could not find out what was missing. The message was too generic. The code producing their error message did not help as the test was for a file in a missing directory and the directory does not name a viable download.

When I tried to download some modules from their Web site, I was presented with a list of commercial programs I am not going to buy just to test the code. There is no point in using a free open CMS if important options are not free and open.

What they need is a working download with the "wizard" an option for downloading add-on modules.

One file appears to be jQuery but with the name changed to confuse anyone attempting to understand the code. If you choose to use jQuery, you should keep the original downloaded file with the original name and just create a small loader. Any differences should be in the loader, not hacked into the jQuery code.

There was a long list of reasons I chose to not continue with October CMS the first time I tested it. This time, there are no improvements and what looks like some negative changes.

Laravel

October CMS uses Laravel as the base framework. Laravel uses Symfony as a base framework. Laravel offers some improvements over Symfony, some changes that are neutral, and some changes that push a small number of developers back to Symfony. My only preference is to avoid the massive overhead of Symfony but to use the Twig templating package produced by the Symfony developers.

ORM is something infecting frameworks, removing efficient control of databases. Laravel uses an ORM that is easier to read when compared to the ORM in Symfony. Their performances vary and neither has speed as the main priority. Symfony uses "annotations", one of the bad features of PHP.

Annotations should be replaced by good code options, something that has happened to a small degree in PHP 7. Laravel reduces the use of annotations when compared to Symfony. I did not check October CMS for annotations. Basic frustration with the code made me delete October before investigating how close October tracks to Laravel.

Conclusion

I like privacy, security, and simplicity. October CMS is to complex, breaches basic security rules, and does not meet common privacy standards. Fail. Fail. Fail.