dangerousmeta!, the original new mexican miscellany, offering eclectic linkage since 1999.

dangerousmeta! changes to Expression Engine

All my regulars seem interested in what precipitated my changeover to Expression Engine from WordPress. An explanation is in order, in my long-winded fashion.

As my history in weblogging shows, I am a fickle software user. Folks who’ve been around since ‘99, remember my pushing Userland for rollover capabilities in Manila (which they implemented), and then leaving ETP to use Zope shortly thereafter.  I have no allegiances ... when something different or better comes along that seems like it will be of benefit, I switch.  I’ve been through Userland Manila, Zope and variants, Movable Type, WordPress, TextPattern, Drupal, Joomla, and some of the online hosted offerings in my CMS travels.  I still cannot, with weblog or CMS software, keep up with the posting frequency I commanded through hand-coding. Commenting and other features drove me to software solutions in order to keep dm! at status quo, but I’m not wowed by any CMS or weblog software’s speed of use.  All GUIs drive me nuts, for different reasons, bar none. 

I want to be extra clear, because I have online friends who work with these other CMS/weblog packages.  I’m not out to tar and feather any one CMS, just to explain my reasoning as to why I switched. YMMV.

You also need to understand I come to weblogs as a designer more than a programmer.  I use weblog and CMS software as solutions for my clients as well as for myself, and have done so since my first experiments with Userland Manila. The features I most prize are ease of templating, flexible power, and ability to customize workflow for my clients. All of these drove me to Expression Engine.  Chris Ruzin brought EE to my attention back during version 1.3, and I owe him thanks.

I cannot ignore or forgive needless complexity in a CMS; from my designer’s standpoint, CMS theming and templating remain ridiculously primitive. Proprietary templating tags are often nightmarish, introducing the added annoyance of typo-errors ... and some CMSs still require straight PHP and MySQL in their templates.  I see it in my own templates, in others’ templates, this disconnect between “what I want to do, and what this damned CMS wants me to do.”  It’s hard enough for bloggers, eager to opine in the metacosm, to try and parse CSS and XHTML amid browser incompatibilities; pile proprietary templating tags and a smidgen of PHP and MySQL on top, and you’ve got the situation we see today. Most learn just enough to be dangerous, but never enough to create the site that truly satisfies.

So, my friends, why Expression Engine? I’ll take a very simple example.  Compare four templating tags of some common weblogging/CMS environments. Placing the title of a post in your page:

In Movable Type, you type:


In Wordpress, you type: <?php the_title(); ?>
In TextPattern, you type: <txp:title />

In Expression Engine, you type: {title}

Expression Engine handles identifying the templating language in the first call of the loop {exp:weblog:entries}.  You don’t have to repeatedly identify the CMS code, and you’re not dancing in and out of PHP. This makes EE simple to remember, easy to program, a breeze to debug.  This kind of common-sense is just one of the reasons why I’ve switched over. [I should mention you can, by selecting a checkbox, include PHP on any template page in EE, if you would prefer to deal directly with code].

What I love most about EE is that I can design a webpage in whatever HTML editor I wish, get it nice and compliant, FTP my images up to the server, log into the Control Panel and paste my XHTML into a template and start breaking it apart into CSS style sheets, headers, footers, and other logical constructs. I then call them into my templates as {embed}s and start automating and simplifying everything in proper CMS manner.  Again, all in the Control Panel. [Lately, I use a little Firefox widget called “It’s All Text” so I can click a textarea and edit in a proper color-coding text editor; a ‘save’ puts that code back into the EE Control Panel and lets me save it in the template.]  Note, I am adapting EE and my template/theme to how I work ... not how a CMS programmer thinks I want to work.  EE’s the cleanest CMS I’ve used when it comes to shoving information into a database and then presenting it any way I want to by routing it through different templates. It amazes me how I can, now that I know the CMS reasonably well, create a site of astonishing complexity, with such ease of input for my clients, in a very short time. 

It takes some climbing to get on the learning curve, as for any CMS. For me, most of the problem was trying to overwrite the habits I’d formed from other CMSs.  And yes, EE costs money ... $200 at the commercial end. Some condemn it for not being open-source; you know what I think of that argument. I’ll gladly pay for something that works well, as long as the price isn’t exorbitant and there’s a clear benefit.  Not a single client has rued the cost, because I’m able to tailor the input screens to their manner of working, and I believe I’m getting excellent value as a programmer/designer. EE shows off my talents better than other solutions. Response times from Ellis Labs and EngineHosting have been stellar, support has been excellent, the knowledgebase and the fora are always open, and given a few minutes of searching, I’ve found answers to every problem I’ve encountered. 

Best place to start, for those of you interested, is to read Expression Engine’s own “Getting Started” documentation. 

Then, check out BoyInk’s tutorials.  You’ll get a much better idea of what EE can do ... though he takes you in deep, really fast.  Be sure to read and understand before trying all of it out. 

You can also seek out a book called “Blog Design Solutions”, which explains how to set up weblogs in MT, Wordpress, EE, TextPattern, as well as explaining a “roll your own.”  Get a cup of coffee and scan through to see which style of CMS you prefer for your weblog.  If you choose to use any of these systems, this book will help you climb their learning curves (though I think the TextPattern section could be much, much better).

The most embarrassing aspect of recommending EE is those dreadful default templates.  Expression Engine needs to run a templating contest to gather up-to-date designs; offer a full-on Commercial version for the winner, nine or so Personal versions for the runners-up, and retire those dated defaults. You learn a great deal from the code, and any default templates should include any and all cool functionality that EE can brag about.

And with that, I’ve got work to do. I hope that answers everyone’s questions.

01/07/08 • 04:22 PM • Expression EnginePersonalWeblogs • (15) Comments


Thanks for the link!  I’ve been working with EE for so long I can forget some of the learning curve…;)

Posted by Boyink on 01/07/08 at 07:13 PM

I didn’t mean to criticize!  Your tutorials nicely fill a void.  I’d add a ‘tip jar’, if I were you ...

Posted by Garret P Vreeland on 01/07/08 at 07:53 PM

Oh - no offense taken. It’s good to get feedback from a new perspective.

RE tip jar….Stay tuned…;)

Posted by Boyink on 01/07/08 at 08:04 PM

....and what’s a Dutch guy doing in NM?  wink  I live in Holland, MI—home of Tulip Time..also Dutch here.

Posted by Boyink on 01/07/08 at 08:08 PM

9th generation Dutch here.  Read my “About” page for more info.  NY/NJ is filthy with Vreelands, most of whom have no idea they’re related.  Why NM? I needed breathing space.  Princeton, NJ was getting too urban.

I suppose we both build EE ‘wooden shoes’ ...

Posted by Garret P Vreeland on 01/07/08 at 09:06 PM

G-man, ...


Posted by Hal on 01/08/08 at 07:48 AM

Bug report: in the RSS feed the paragraph tags seem to be stripped, making this post hard to read (not that you frequently post more than one paragraph at a time grin

Posted by Scott Hanson on 01/08/08 at 10:53 AM

I will look into that right away, Scott.  Between my nonstandard use of TITLEs and other things (weblog software often doesn’t handle repetitions well), I always have to perform custom tweaks to get everything working.

Posted by Garret P Vreeland on 01/08/08 at 04:39 PM

Agreed on the paragraph tags but in Google Reader it appears all HTML
tags are stripped (hard to tell what is a link and what isn’t when nothing is highlighted or clickable…)

Interested in the EE tutorial links, thanks for those. I’ve used Code Igniter (the “free, stripped-down” PHP framework built by Ellis) for a couple projects and been very impressed, if I was building a commercial site I’d definitely want to learn Expression Engine for it.


Posted by Curtis on 01/08/08 at 05:55 PM

I haven’t looked at EE in a couple of years but was impressed enough back in 2005-2006 to keep an eye on it. I’m sure it’s come a long ways since then.

In the meantime, I struggle on an almost daily basis trying to shoe-horn MT and WP to do what I want them to do, with varying degrees of success. I have some old clients locked into MT 3.x because I had to fork some of the core code, assuring any upgrade would break the functionality they wanted—and these clients are unwilling to pay for an upgrade of the forked functionality. So their MT installs hum along, again with varying degrees of success and happiness.

One thing I would truly like to know is how well EE scales, when compared to MT and WP. I’ve had so many MT sites kicked off shared hosting servers because of CPU hogging I no longer recommend it as a solution for any potentially heavy-trafficked site or one that gets a lot of comments (triggering of mt.comments.cgi).

I have a similar problem with some of the older installations of Drupal, but they are less severe since those issues can be solved in a variety of ways, including one client who was making enough money off advertising to warrant the leasing of dedicated servers for Drupal.

Someone with a deep working and intimate knowledge of MT, WP, EE and Drupal should do a scaling and speed comparison, document it and output some nice charts. Such an article would surely generate a virtual tonne of traffic and be genuinely well-received.

Posted by Cameron Barrett on 01/08/08 at 06:29 PM

The five sites I’ve done are not big traffic-gatherers (except for DM!, and time will tell here).  DM is hosted on a rather mundane reseller account.  My other sites are hosted on EngineHosting.com, which is Ellis Labs own hosting service. It is optimised for EE.  I’ve never had a problem there, except for small annoyances that were easily handled (usually email or urchin related).

Here’s a list of forum articles that might illuminate some of these issues, in the meantime:

EE Performance Issues

EE CPU Hogging

EE Scalability

Media Temple Fun

I’ve included both positive and negative articles, I believe.  Do your own search on the fora, for your particular concerns, and you’ll find answers there.  Remember that the latest 1.6 build has solved a great deal of lingering issues.

Seems like the biggest issue, in scaling, is smart data structuring so one doesn’t call “the loop” unnecessarily in multiple template embeds.

Drop EngineHosting an email, if these are not sufficient. They know more about hosting EE than anyone on the planet.  If there’s any specific information I can provide that will be valuable, let me know and I’ll post it.

Posted by Garret P Vreeland on 01/08/08 at 07:26 PM

Oops, I’ll add this from the Wiki:

Optimize EE

I haven’t gone through this, but I will when I have time, and check my template load times.

Posted by Garret P Vreeland on 01/08/08 at 07:29 PM

One other link:

Data Caching and Performance

Posted by Garret P Vreeland on 01/08/08 at 08:01 PM

What I would like to see is one web site design and set of templates implemented in each blog platform/CMS, with benchmarks for each piece of functionality.

If I had all the spare time in the world, I’d tackle this myself. grin

It could be called Blog Software Shootout, or something like that.

Posted by Cameron Barrett on 01/08/08 at 08:39 PM

I suppose it would be easiest if someone ran their own Apache server ... volunteers?

Posted by Garret P Vreeland on 01/08/08 at 10:14 PM


Commenting is not available in this weblog entry.

<< Previous entry: SF New Mexican:

Next entry: NY Times Editorial: >>