Curated by: Luigi Canali De Rossi

Sunday, March 7, 2004

Better Than Movable Type? Expression Engine Launches The Challenge

Sponsored Links

Though many have failed to understand this from the beginning, blogs are and have been essentially content management systems for the rest of us. Both in terms of cost, ease of use and flexibility, blogging tools have offered to the enterprising small-sized publisher the opportunity to streamline, control and manage his online presses with little technical knowledge and with an immediacy and flexibility unheard of before.

From the same people who have brought us pMachine, an excellent and truly inexpensive ($45 non-commercial) content management system, arrives a new content CMS called Expression Engine.

For those of you who have yet to make the leap from traditional bare-bones blogs to full CMSs, Expression Engine provides an interesting new opportunity and a great set of good reasons to do so.

"Expression Engine appears to take all of the lessons Rick Ellis learned by creating and supporting pMachine and puts them together in a product that is powerful and more extensible."

If you need a basic server-based Weblog with many nice features, Movable Type as well as pMachine are definitely two possible good choices. If instead you want your site to extend beyond these basic capabilities, a new, very cost-effective CMS/weblog called Expression Engine is set to become one of the best solutions available today.

Expression Engine provides a set of advanced content management and publishing facilities which are going to make lots of small independent publishers very happy and Michael Jackson Web site is among the first to rely on this new powerful publishing solution.

Expression Engine integrates some unique advanced features. These include:

a) Modularity.
The fundamental goal that its authors wanted to achieve with ExpressionEngine was modularity. Think Legos. EE wanted to be a system that could become different things to different people just by integrating add-on modules. The core ExpressionEngine system is a weblog application, just like pMachine. But unlike pMachine, ExpressionEngine natively supports modules and plugins. In fact, most components in ExpressionEngine are modules.

A very common challenge among people who develop web sites is this: How to integrate different web programs into one cohesive site. Most web applications do one thing so a web designer must purchase a blog system from one vendor, a discussion forum from another, and an image gallery from yet another. And then they must figure out how to get these stand-alone apps to talk to one another. Not easy. With ExpressionEngine you have a seamless package that permits your users to have a transparent experience throughout your site.

In the coming months we will release a range of modules that will position ExpressionEngine as the most compelling web community building platform available. An Image Gallery, Discussion Forum, and E-commerce System will be just a few of the exciting new modules to emerge. And our User Blogs module will allow you to offer your members their own weblog, or even let you start your own blogging service. Please note: Some modules will be sold separately.

b) Template Management
Page management and tempting is area in which EE takes a different approach from its predecessor and most other popular weblogs/CMS solutions. ExpressionEngine permits embedded sub-templates, so you can create your pages with shared headers, footers, and other components. The templating system also supports PHP scripting directly in templates, a feature which may prove to be very valuable for all PHP-savvy advanced users.

c) Data Modelling
In most weblogs/CMS tools you have a fixed number of fields for your content, and a fixed number of fields for your member profile information.

Enter Data Modelling. ExpressionEngine lets you define your own unique data model based on your needs. Same with member profile information. EE has applied the same approach to categories, statuses, ping servers, and other components. In ExpressionEngine, each one of your weblogs can be set up to manage completely unique information. And since ExpressionEngine is a true multi-user system, each author who creates content can have unique access and other privileges.

pMachine Pro gives you six entry fields for your weblog content - more entry fields, in fact, than any other weblog application. ExpressionEngine blows that away by giving you an unlimited number of entry fields - per weblog. Fields can be input boxes, textareas, or pull-down menus.

Do you need twenty fields to create your killer e-zine? No problem. Or how about a pull-down menu containing the mood you're in when you post? Simple. Or perhaps a couple fields for your breakout content? Your choice.

d) Member management
EE lets you run a membership site with a robust set of member tools. EE utilizes the concept of Member Groups to enable a very precise degree of member management. And each member has a much better suite of tools with which to manage his or her account. These tools will soon integrate private messaging, subscription management and other advanced functions. If your goal is to build a Web community, this may be the level of member management that you need.

The member management system allows data modelling as well, letting you define what personal information you want to collect from your members. These custom fields can be input boxes, pull-down menus, or textareas. You can even make fields required for member registration.

ExpressionEngine gives you an unlimited number of Member Groups, each with over 40 control preferences. These preferences let you define exactly what each member of your community is permitted to do. Access to your web pages can be restricted to any combination of Member Groups as well - on a page-by-page basis.

e) Scalability through data caching.
A scalable system is one that can meet the challenges that high levels of traffic impose on a web server. Dynamic systems like MT and ExpressionEngine display your website in real-time by pulling information out of your database and building the presentation for each visitor. Dynamic systems place a greater load on a server than static systems do. It takes more server resources to create a dynamic experience then it does to display a traditional static web page. For small and medium sized sites the resource demand of a dynamic system are generally not a problem for a server. However, for very highly trafficked sites, managing server resources is critical. So how does EE solve this? Through data caching. Caching means that the output of your database is stored in a light-weight reusable format. pMachine and MT do not have any data caching (nor do most web apps). ExpressionEngine has instead three full separate caching systems: Query Caching, Tag Caching, and Template Caching. You can cache the output of your database, entire pages, or even sections within pages. Our caching systems are so advanced, in fact, that you can even cache pages that must remain dynamic, like your user comment page. ExpressionEngine will intelligently refresh the data cache after user input.

In other words, ExpressionEngine is Fast. Really Fast.
ExpressionEngine raises the bar for dynamic systems by utilizing server resources at a level almost on-par with static pages. For the first time, you can achieve static server loads - and static page load speeds - from a fully-dynamic system. No other content management system, other than those costing tens, to hundreds of thousands of dollars does achieve this level of performance and scalability.

f) A template library with full source code. EE template engine lets your pages come alive, with support for sub-templates, conditional operators, dynamic variables, embedded PHP, direct SQL queries, and other features only found in enterprise-level content management systems. As a user, you'll appreciate the elegant touches, like a customizable workspace, a versioning system so you'll never lose a single change you make, and a hit tracker for each page so you'll know which ones are most popular. Templates can be even exported and shared with other users with maximum ease.

g) Security
ExpressionEngine supports cutting-edge security features, like 160 bit SHA1 password encryption, hash-encoded forms and duplicate data denial to prevent spamming, a password lockout feature that deters collision and brute force attacks, a Secure Password Mode that prevents users from choosing passwords that appear in a dictionary or that are based on the username, User Agent and IP matching to deter direct socket access, meticulous user data filtering including the prevention of cross-site script hacking, and more. In addition, ExpressionEngine only allows data to flow though a master system file that imposes security checks like URI and path screening, and denial of auto-globals.

h) Editorial workflow. Create a professional editorial workflow with EE Custom Statuses feature. Define statuses like "first draft", "pending", "revision", "final edit", etc, in order to enable multiple authors to contribute to content.

i) Available already in four languages: English, Dutch, Italian and Spanish.

l) Image Resizing and Thumbnailing. ExpressionEngine lets you resize images when you place them in your weblog entries. Supported the three major image manipulation formats (GD, ImageMagick, and NetPBM).

l) And Much More...
The core ExpressionEngine system comes with many extras, like image-thumbnailing, a double opt-in mailing list, an SQL manager, a skinnable control panel, and more.


I have myself been using the 14-day trial of Expression Engine and I must say I am very impressed.

EE appears to be a great product though it is still at the beginning of its development cycle. As others have also noted Expression Engine feels to me like a more refined and polished version of Wordpress.

Here are a few questions I have submitted to Rick Ellis, the chief developer of EE, in order to help you understand better what Expression Engine is and how it differs from Movable Type/TypePad/Blogger and other popular blog/CMS solutions.

1) Is EE an advisable upgrade for people on MT?

We believe there are compelling advantages to using a PHP-based dynamic system over a Perl/CGI app. Much of the decision to switch, however, depends on what features you use in MT. No two systems share an identical feature set, nor approach data management identically.

My sense is that MT is more of a pure blogging tool, whereas EE is a system that attempts to blur the distinction between blogging and CMS apps.

If you are attempting to push the boundaries of the blogging medium, EE has more capabilities.

One simple example: In MT you are restricted to a fixed number of fields for your content. EE permits an unlimited number of fields per weblog.

2) Is there a safe export route to take content from MT to EE?

Yes and it comes with EE right out of the box!

3) How about from other popular blogging tools (Radio, Manila, Blogger, TypePad, etc.)

TypePad yes. We would like to support as many other systems as possible since easy migration is critical to user adoption.

4) What are the key features of EE that are ahead of what MT/TypePad offers?

EE is a 100% dynamic system. No page rebuilding. Our weblog interface allows much more customization.

Each weblog can have its own set of categories, statuses, fields, etc.

EE has better member management tools, particularly in its member group feature, allowing you to define with a lot of precession what each user of your site can see or do.

The template engine allows more advanced features like conditionals. You can even track how many hits each one of your pages gets.

There are lots of features that EE has, like a full complement of SQL management utilities, that MT doesn't.

5) Is there a feature comparison table of EE and MT?

Not to my knowledge. It's hard to compare any two systems purely based on features. The design goals and focus of each system is quite different, and the underlying scripting environment is different.

The only way to truly compare is to install both and use them.

6) Can you tell us more about the features relating to management of mailing lists?

The default mailing list is a basic opt-in type list. You get one mailing list. We will be offering an add-on mailing list in the future that permits you to run multiple lists.

7) Can RSS feeds be generated out of comments too?

Yes. You can design your RSS feed to output anything you want.

8) What about integration of Amazon books and other lists?

We plan to support the Amazon and Google APIs. Our goal is to make EE as compelling and feature-rich as possible, so you'll see support for these things in the not-to-distant future.

9) Spam management (comment-spam)?

We have several built-in spam prevention features (the admin can choose which ones to use):

- Form hashing. Every time the comment page is loaded, a unique hash ID is generated. When the form is submitted the ID is validated. Only one submission per page load is permitted.

- Duplicate data denial. No two identical comments can be posted.

- Comment time interval. You can set the number of comments per hour that can be posted by any one IP.

And of course you can ban IP addresses and require site membership to post.

There is no magic bullet with spamming, but I think we do a good job of limiting the damage that can be done.

ExpressionEngine is now available as a public beta.

Users who purchased pMachine Pro before February 8th, 2004 can purchase ExpressionEngine at a 50% discount.

Please visit the ExpressionEngine page for more info, and don't forget to read the FAQ page for details regarding the update process.

There is also a Hassle Free Trial. New users are offered a hassle-free 30 day trial. For only $10.00 you can also receive full support to install a full-featured demo version of ExpressionEngine on pMachine servers for you to try.

The Expression Engine full license costs USD $ 199.

Alternatively you can download the 14 day trial for free and try it on your existing hosting account.

Readers' Comments    
2008-04-08 11:51:33

Dan Hezron Biboso

The ExpressionEngine is great but then I'm just curious about the adaption process. Utilizing a certain web software package then re-engineeredmodified and migrated into EE. So how convenient does EE perform in adaption process in general? Is it possible? Is it easy to engage with the migration process?

References: and http://www.dzoic.comfeatures.php
(if these two would be possible to shall i say integrate into EE)

Kindly send me an enlightenment regarding this. Thank you so much in advance.

2007-01-19 10:18:51

Robertson Adams

I am using Pmachine Expression Engine 1.5.1 and am trying to modify the member-registration process. I have a registration form that requires check boxes, which are not enabled by default. Does anybody know of a plug-in that helps enable this?

2006-04-16 15:01:38

Ilija Hrvatska

Expression Engine is great CMS system. I use it for all my sites. And Rick and Paul(developers) are really graet people.

2005-12-19 07:53:07

Bruce Prochnau

No longer,1.31 changed that, and now 1.4 is even more advanced. After years installing various ones (over 20), I find EE the best install besides Wordpress, which is very simple and easy.

2005-09-03 09:54:27


I like EE although I think their install and especially their update process is sub-standard (eg. between say v1.01 and v1.04 you need to do incremental updates from 1.01 to 1.02, then from 1.02 to 1.03 etc...)

2005-07-30 22:11:00


Good article but is needing updating. I do website design with both platforms.
Expression Engine has now released version 1.3 with an excellent photo gallery and an integrated forum. The forum is used on their own website for support and is full featured.
I worked with Movable Type for 2 years b4 EE came out, I tried it out about 4 months ago, and changed my entire website from MT to Expression Engine.

The company itself is way more responsive to developers and the program itself is more advanced. The only time I use or recommend MT now is if writing to or editing static files on disk are absolutely essential.

Comment spam is history since I switched, and the features have to be seen to be believed/

2005-07-17 22:03:33


pmachine is cool cms (blog)
i have it on my site

2005-01-13 22:34:50

Oklahoma Wine News

After a few weeks of failed attempts to get MT running on the Windows servver my host provides me, I am near the point of surrender.

I am considering trying EE, but two things worry me.

1. Search Engine indexing - Often Dynamic sites fail to index as well as static sites. Has this been addressed by EE? A site that Google can't find and keep updated is worthless to me.

2. Does it install on Windows systems? MT folks answered yes on this one, but have no instructions for getting it done. Every techie I get to try and help me just wants to convince me to switch to Mac or Linux platforms.

I don't want to join a cult, I just want to blog!

2004-08-25 13:41:36

Robin Good

I can reassure you that I am in NO WAY affiliated with PMachine. Actually, thanks for asking.

2004-08-24 22:43:47


Very interesting read. I'm also wondering if you are affiliated in any way with Pmachine. Love the comparision to blogs as well.

2004-03-17 06:50:50


Thanks, Sue. I also found a post to the pMachine forum with Rick's answer to the ETAs for the modules. Gotta say I'm looking forward to them, as they'll finally give me the features I need for my family site. Thanks also for your how-to resource. It will help once I do implement EE.

2004-03-15 00:04:18


Anton, the content you are referencing was said by Rick Ellis, the head guy at pMachine. :)

Rick has stated that he'll be releasing a photolog solution after EE is released. User blogs are also coming. No time line given.

Great article, btw. I'm the one that did the Michael Jackson site. We had everything up and running in three weeks, even with beta software.

2004-03-12 14:05:23


Nice review of EE. Are you affiliated with pMachine, or an independent developer? You mention you plan to release modules in the coming months - do you have a road map for these releases? Image gallery? User blogs? Are these just ideas or have you, or someone else, already begun to develop these modules?

2004-03-12 06:35:14


Movable Type is not a dynamic system. It uses static files. Each time you update your content you must rebuild file(s).

posted by Robin Good on Sunday, March 7 2004, updated on Tuesday, May 5 2015

Search this site for more with 








    Curated by

    New media explorer
    Communication designer


    POP Newsletter

    Robin Good's Newsletter for Professional Online Publishers  



    Real Time Web Analytics