ExpressionEngine vs Drupal

Heard of the hype of [ExpressionEngine]( for a while. Now it's time to try. ExpressionEngine is yet another PHP/MySQL CMS. It can do blogging and usual CMS job. From the comment I heard, ExpressionEngine is well known for its rich feature set and ease of use. EE is __not__ open source. Though the source code is visible and edible by PHP web application nature, you don't have freedom to redistribute it like other free software. The basic version called "ExpressionEngine Core" is free to download. The full version, with more features and tech support, is sold $99.95 for personal use and $249.95 for commercial user. The following text is my note of trying EE Core on [MAMP]( environment. Since the other CMS I'm only proficient is Drupal (this site is run by Drupal) so I will write it 'in comparison' with Drupal. __Installation__ * EE package is quite big (1.5MB) but compared to its complete feature set, the size is reasonable. * Installation is straightforward, just browse to the root folder of EE and the installation screen will show up. (Same as Drupal and WordPress) * The installation screen looks pretty. I like it more than Drupal. * You need to agree on EULA before doing anything else. * There are some numbers of fields in installation screen. Some fields are quite technical (e.g. encryption type). These fields cause no problem with me geek but I think it's quite difficult compared with Drupal or WordPress. __General__ * EE separates itself between frontend and backend (like WordPress, Joomla and other CMS, Drupal is unusual in this case) * There are some dummy content (including category but not comment) to give you some idea of the actual running site. This is the same as WordPress and Drupal is going to do as well. * The front end looks very like WordPress/MovableType. It's quite pretty too. * Like Drupal, There is pre-configured URL schema for site content. Some example: * User page: /member/1 * Category: /C1 (using category id, not name) __Back end__ * After login, you will be greeted by 'Dashboad' page * EE uses Horizontal tab interface, same as WordPress. * At default, there are 7 tabs for admin account: * Publish - 'Write' in WordPress language * Edit * Templates * Communicate - Send email to other member * Modules * My Account - Manage your account * Admin - All other administrative tasks * Note: You can add any number of new custom tab anyway. From the screenshot of paid version. There is additional 'Sites' tab for managing multisite. * I'm confused with the word 'Publish' at first. 'Write' or 'Create' is better word. * 'Admin' tab used control-panel style interface. Remind me of Webmin. * In Drupal language, EE Admin panel is Drupal admin minus Build section and 'content' screen. * The content managing __Editor__ * URL (or 'postslug' in WordPress language) is auto-generated from post title by default. It's nice feature. Thai text in title is dismissed by EE (only Latin text is converted to URL). * No WYIWYG but there are HTML code buttons. A bit downside. * Built-in spell checker, complex HTML symbol and Smiley. * File uploading is enabled by default. Nice feature too. * Trackback and Ping is enabled by default too. However, I don't use this two feature much. * Date screen has calendar to point and click. Good, in term of usability. * Category is basic compared to Drupal. EE Category is 1-level, no Free tagging. __Theming__ * EE uses 'template' approach. Each kind of page (e.g. About or Archive) has its own template file, which is HTML with special syntax. There is no concept of 'Block' (Drupal) or 'Widget' (WordPress). * The access permission is template-based. Admin can assign access permission to individual template. * I can't find any theme management screen inside the back end. However, there is 'themes' folder in the EE package which you can edit manually. __Features__ These are available features in free Core version. * RSS/Atom * Blog API (Metaweblog/Blogger) * Statistics * Search * User profile, signature, avatar * Private message The paid version will offer: * Multi-site deployment * Forum * Gallery * Wiki * Mailing list * Moblog * eCommerce __Extensiblity__ * There is simple module management panel in the back end. You can only remove/install the module. No throttling or update notification like Drupal. * [EE web site]( confuses me very much. It calls everything extensible as 'Add-On'. There are four types of Add-on: __Expansion, Module, Plugin, and Extension__. Honestly, I can't recognize the difference between each. * At my glance on EE Add-On Library site, few example add-ons are: * Markdown/textile * Captcha * Cron * Page number * Some add-ons/modules/whatever are commercial. __Conclusion__ I'm quite impressed with EE. The available features are comprehensive. It backend might not be clean, simple and elegant as WordPress but it has much more features anyway. Unlike Joomla!, EE respects the web 'page' mental model, which I like. It has some learning curve but it's not high as Drupal, very easy if you have WordPress experience. Anyway, there is nothing in EE that Drupal can't do. Both CMS tie in term of feature, just use different approach/interface. EE might lead in usability/appearance (still fall after WordPress anyway) but this advantage will be gone once you get used to with Drupal. At this stage, EE's main downside is price, which is expensive in my opinion. For poor Drupaller like me, Drupal is still best option. But, I will never rant about EE for sure, it's one of good CMS I ever try. __Copying EE__ Few suggestions for Drupal to catchup with EE * Separation between frontend and backend seems to be necessary. It's de facto approach for CMS and create norm/mental model to CMS users. * Looks is important. New cool admin interface is a must. * Drupal distro is the way to compete with full-featured CMS like EE. All features are ready, just make them easy to use and deploy. I mean: * Drupal Community Edition * Drupal Commerce Edition * Drupal Enterprise Edition * Drupal Extreme/Ultimate Edition * All edition come with module/install profile/attractive default themes
Submitted bywillon Mon, 09/29/2008 - 13:44

Nice write up. Biggest feature of Expression Engine for me is the ability to customize the "write" page for any type of content (blogs/pages/specific page...) by creating custom fields sets. Wordpress has similar features but EE's are far more robust.

While EE does have a lot of nice features, it does have issues, to be sure. Main among them for CMS development is overcoming it's legacy as a "weblog" as much of the functionality is built around that. You can certainly do quite complex things with it's version of the blog paradigm (a site can have any number of blogs and different blogs can have custom fieldsets, templates...) but there are certain bread and butter "page/subpage" things it's still catching up to. From what I understand, most of this and more is addressed in EE2.0, due sometime this year.

Submitted bybeickerton Tue, 10/28/2008 - 02:40

We're setting up a site for a client who is not very Web savvy. They want us to design and establish the site, but then they will need to be able to add and update content within certain designated areas. We were going to use Drupel...too difficult to set up, no help...and then WordPress...told that it was too difficult to place sections/areas for update, and now Joomla. From the blogs I'm reading it sounds like Expression Engine is a better play because they actually have tech support, but will my client be able to add/update content easily?