Perhaps the "2" stood for 2 years.

On July 12, EllisLab finally released EE2.1, the first non-beta version of ExpressionEngine 2, a massive change from the EE 1.x line that changes all the underlying code of the software itself, adds an impressive array of new features both large and small, and (EE developers hope) brings to an end a long plateau in the evolution of ExpressionEngine.

Back in February of 2008, EllisLab, the Oregon-based makers of ExpressionEngine, announced they would be showing off a demo of ExpressionEngine 2 at SXSW, and that it was scheduled to arrive in the summer of 2008. But that deadline passed -- "I love deadlines. I like the whooshing sound they make as they fly by," as Douglas Adams once said -- and it wasn't until mid-2009 that anything more than "we're still working on it" was heard of the next-generation tool.

In December 2009, the company finally released a public beta called ExpressionEngine 2.0, which was, unlike some "beta"-labeled products these days, a true beta; change notes for versions between 2.0 and 2.1 use the phrase "fixed a bug" more than 500 times.

Now, with the full release of EE 2.1 in clients' hands, EllisLab hopes it has iterated a version of the product that will continue to please and support those who rely on ExpressionEngine, while offering a new technological base for (we can hope) more rapid growth of tools and development once adoption of EE 2 ramps up.


Here, then, is a look at the massive changes that EE 2 brings.


We could start by talking about the code changes, but really, when you renovate your house, is it the paint or the pipes that people notice first?

The new control panel was designed by Dutch Belgian designer Veerle Pieters, and features a hot-pink accent color that, while a big change at first, helps to draw your eye to what's important. You'll like it, and you'll need to: there are no other themes by default (though there are two extra themes available from the downloads page: corporate and fruit).

Gone from the home page are the lists of most recent comments and entries; this may eliminate clutter but also removes a quick path to the most recent content you might want to work with; it's much less likely that someone will want to edit a template group regularly from the control panel home page, for example, than a recent entry.


The control panel seems to be ready for wider monitors, with a visible right-side sidebar. The sidebar that has a Flickr-photo-style editing system, where you simply click on the notepad text to switch to editing mode. Here you can leave notes to yourself that follow you around the control panel.

There are also a series of quicklinks here that seem to be, essentially, a poor man's bookmark menu. The search box searches EE's own functions and third-party add-ons to help you navigate the administrative interface. Perhaps third-party developers will add the abilityt to search your own content or the documentation.


The new top navigation is:
"Content, Design, Add-Ons, Members, Admin, Tools, Help"
instead of the old:
"Publish, Edit, Templates, Communicate, Modules, My Account, Admin"

This shorter list groups related concepts together much better. Finally, access to the various kinds of templates is all listed together -- though the actual member templates, error templates, email templates, forum templates and wiki templates remain separate silos and don't draw on common elements. However, the member pages are now parsed through the main template parser, which gives you access to much greater functionality than EE 1.x offered.

An instantly useful feature is that the Help link is context sensitive. Clicking it will likely take you directly to the most relevant help page in EllisLab's well-loved documentation -- though the link should open a new window but currently loads in place.


EllisLab is rightfully extremely proud of their File Manager. It's featured highly in promotional material, and it represents a great deal of new code in EE 2. In the new Content menu, it's given equal status with Publish and Edit.


The file manager is sensationally powerful: it lets you upload files independently from creating entries; it lets you browse and preview items that have been uploaded, and it shows you file permissions and other file information, like when a file was uploaded. You can download and delete in bulk (but not upload in bulk).

And for images, you can now do basic editing operations -- crop, resize and rotate -- that were previously only available in the Photo Gallery module (more on that later).

The file manager is completely integrated with a new field type: the File field -- which lets you upload or pick a file as part of a new entry. There's no doubt that file handling is much, much easier in EE 2, and that a significant amount of thought went into the new system; in my testing, it worked fine with 10 file groups and hundreds of files.


Another big new feature touted by the company since back in 2008 was the ability to customize the editing screen for individual entries, and they weren't kidding, this is pretty slick. In a nutshell, you can take the default editing page, and with simple drag and drop, modify the size and position of elements, even moving elements between tabs. No longer do you have to remind clients to fill out the category tab -- put it right on the first tab, the main screen they see.


It's a good example of how 2.1 has powerful, incremental feature design -- the entry screen resembles what it was in 1.6.9, but now can be made even better with some very easy work by an administrator.

That said, one feature that is still missing from EE 2 is a WYSIWYG editor (the one in the screen shot is a third-party add-on). This feature is something that EllisLab has resisted adding for quite some time, but with a very well constructed third-party add-on, Wygwam, available now, and with the addition of a WYSIWYG editor to EllisLab's new product, MojoMotor, it may be just a matter of time before this appears in ExpressionEngine (and yes, that's completely unsubstantiated).


The third-party add-on called FieldFrame, which allowed developers to more easily add new field types like color pickers and maps and such, was integrated into the core of EE and is now called the Custom Field API; several of the existing FieldFrame types are also included: Multi-select, Checkbox and Radio. 


And to support all the fancy -- and in some cases, gratuitous -- animation effects in the control panel, JQuery and JQuery UI are included and necessary to run the control panel.


  • The editing screen filters live: choose a filter from the pulldown menus or type in some keywords, and the list changes instantly. All edit screen columns are also sortable.
  • There's a date picker on the editing screen now, too, for searching by date.
  • There's a new add-on type you can create called an accessory, which will appear on every EE admin page. The potential for this functionality is unknown, as there isn't really a broad base of examples to choose from. But think Apple's desktop widgets, or iGoogle's gadgets.
  • The template editor is a lot smarter, making it easier to add new templates and to work with specific templates in specialized programs like CSSEdit or TextMate. The template editor also points out basic errors in your templates, which might cut down on your debugging time.
  • The entry page autosaves (much like Movable Type and Wordpress and many other applications do these days).
  • You can add new authors without leaving the entry page, which may help streamline your workflow.
  • You can now use the tab key when editing templates, and resize the template editing area with a mouse drag.

In Part 2 of this ExpressionEngine review, we look at the changes to the engine, the add-ons, what's in it for business users and more.