CMS choice

I’m looking for a PHP based CMS, easy to scale and flexible enough to be the starting point for the next generation of e-commerce website for the hosting company I work for.

Why PHP ? I started by adding scalability on top and I felt nodejs was the answer. However things are not pretty generous on CMS side. There are few names but they look at the early stage of development or suffering from the lack of features: KeystoneJS, Pencilblue, Apostrophe, Ghost.

Note: Reaction Commerce – is a really interesting project as they are the only one building something for the eCommerce industry. They are using Meteor, Node.js (note: interesting combination), MongoDB and CoffeScript and it is launched as a Docker container.

I’m going to collect the strengths and weaknesses of few PHP options available with the mention I’m going to write a separate post for Reaction Commerce.

We’ll discuss about:

  • Expression Engine
  • Craft
  • ProcessWire

ExpressionEngine is built by EllisLab, a company that also created CodeIgniter, a popular PHP framework for building robust web applications. ExpressionEngine 2.x is built on top of CodeIgniter.

Craft is built by Pixel and Tonic, a company who, interestingly, got started creating third-party add-ons for ExpressionEngine. Their add-ons – Playa and Matrix – are well-built, renown plugins within the ExpressionEngine community.

ProcessWire – It’s basically PHP with a really extensive jQuery-like API – so literally anything is possible.

Data modelling

A model is simply a type of content your site stores. You might have a “blog post”, “product”, or “staff member” model. ExpressionEngine calls these model types a channel while Craft calls them a section.

Flexibility of the model by custom fields.

Craft

  • Responsive control panel
  • Live preview
  • Entry draft/version functionality
  • Has several pricing options to fit your needs
  • Custom entry types (if you have several “types” of blog posts that differ in content/layout)

ExpressionEngine

  • More add-ons for things like e-commerce
  • Been around longer
  • Well known within large companies

Craft uses Twig as its template engine.

Additional links:

  1. https://craftcms.com/
  2. https://ellislab.com/expressionengine