Is ExpressionEngine the best form of expression?
Updated July 07, 2015

Is ExpressionEngine the best form of expression?

Frank Milne | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User

Software Version

2.5.5

Overall Satisfaction with ExpressionEngine

The job was for the site Monumentsmen.com, a marketing site to advertise the upcoming feature film directed by and starring George Clooney, as well as advertise the book The Monuments Men by Robert M. Edsel as well as his follow up book Saving Italy. The site was also set to feature a vast amount of historic information as well as a subscription restricted access section featuring lesson plans for University art programs. I was also given a deadline of two weeks to develop a stable release.

ExpressionEngine was also used as the CMS for a corporate presence site for a well known cloud storage company.
  • What you're given is a CMS with a strong database schema to group and deliver contextual data with fantastic ease of development. Accessing data from a table is an easy scripting language in which the results read like English language sentences yet still powerful enough to adapt to infinite design needs.
  • No need to amend a template system. Build the templates on the fly and let ExpressionEngine deliver them. This resulted in an easy front end development with no learning curve. It was like having a blank slate in which the CMS would exist to mainly feed the data to the front end.
  • ExpressionEngine can deploys the entire site as flat files for an extremely fast loading product which also pleases the SEO nerds.
  • At it's base, all of the site, HTML, CSS, javascript, data, etc... , are stored in a sql database. If you have a site that needs to be dynamic: IE a site that has a blog, or comments, or customer contributions, you'll find that each and every page load would result in thousands of database calls. Queries to a database is some of the slowest transactions a page load can have. If the entire site is loaded through said transactions you'll find it's impossible to break any speed records. ExpressionEngine would not be my choice if those are a requirement. Though there are work-arounds. As of 2.5.5 there was no option to render part of the site as flat file and part of the site as dynamic.
  • Because the development of the site is saved entirely in the database it became somewhat cumbersome save versions of the site to a git repository. The only difference between one install of ExpressionEngine and another is the database itself. You could make a SQL dump from one site and load it into another and have completely migrated the site. This sounds great if you need to migrate sites all the time, but backing up versions of an existing site meant backing up sql dumps.
  • In EE v.2.8.1 you can now export template files to flat files so that database connections will be reduced. This addition will help the CMS greatly.
  • This is actually in part and parcel with the last point. Being that git repository back up is difficult, collaborate development would also be a challenge. I was lucky to be the sole developer on my projects, but if you have multiple developers working on one product and they have branching code sets, the merging of this code would be time consuming, being that the developers would have to manually add the code to the same install rather than an easy deploy script. Why would this be? Because until the product is rendered to flat files it's all in the database. Of course this could all be overcome by having a dev environment that is shared by all developers. Then deploying to staging or production would just be the act of dumping then loading SQL files. But that is not the current work flow that developers have grown to appreciate.
  • Definite boost in development efficiency.
  • Good speed boost for a flat site that can be rendered with ease from the CMS, slower site if you leave it in the database. Though when running speed tests without rendering the flat version , the site was rated as a 86/100 by http://tools.pingdom.com. Thus the site even when slow was faster than 85% of the web. Flat files ran 96/100.
  • Intermediate learning curve for lay persons who are adding articles and content.
  • Drupal,Joomla,WordPress
ExpressionEngine was easiest to develop in. Wordpress is easier to train a lay person on how to add an article/content to. Word press is slightly better at delivering blog type content, but ExpressionEngine is quite good. ExpressionEngine is easier to train a lay person for than Joomla and Drupal. Drupal is a better choice for creating a dynamic application site that requires interaction from customers.
Best suited if the development time is short, and if the end product will be a website with few dynamic elements. The CMS itself is intermediate to learn for a lay person. Not a good choice for a large development team working on the same project. Not friendly for git repositories.

ExpressionEngine Feature Ratings

WYSIWYG editor
4
Code quality / cleanliness
8
Admin section
8
Page templates
Not Rated
Library of website themes
Not Rated
Mobile optimization / responsive design
Not Rated
Publishing workflow
8
Form generator
7
Content taxonomy
9
SEO support
9
Bulk management
9
Availability / breadth of extensions
5
Community / comment management
7
API
8
Internationalization / multi-language
10
Role-based user permissions
9

Using ExpressionEngine

My decision really all depends on any future contracts that match the product requirements of: Short development time, lack of dynamic interaction with end product, and the need to turn the product over to a lay person to maintain. If the project meets all of those requirements, I will choose ExpressionEngine.