On July 12, EllisLab finally released EE2.1, the first non-beta version of ExpressionEngine 2. This is part two of an indepth review of the latest version, including a look at the engine, add-ons and what's gone.
Look and Feel
Part one of this review covered the look and feel of ExpressionEngine 2.1, including:
- A new control panel
- Improved navigation
- File Loader
- Content Entry Screen
You can read the details in: ExpressionEngine 2.1 CMS Review, Part 1
Of course, these cosmetic changes don't touch the biggest shift of all: from a private code base to the CodeIgniter framework. What's that all about?
CodeIgniter is an open source Web framework -- a set of PHP functions and libraries that is supposed to make building Web apps easier -- written by EllisLab. It's been available since 2006, and in the past four years, a rather significant community of developers has been drawn to it.
CodeIgniter has bits of code that make it easy to do things such as: send emails, log someone in and out, parse a template, validate forms, paginate data, deal with dates, talk to databases and handle sessions. All these things are great building blocks for a content management system, and in theory, having ExpressionEngine built on CodeIgniter means that the basic functionality of CI will grow via open source osmosis, while EllisLab can bring design, UI and particular functionality into ExpressionEngine and charge for their additional ease-of-use, support and steady growth.
It's early days to see how this is going to pan out, but both communities of developers seem optimistic about the future, even if fruits of the tree have not yet bloomed. CodeIgniter itself has not seen a new release since September 2009, and it's likely that the work on EE 2 both caused that delay and yet also will give the next version of CI a greater breadth and depth of functionality.
Switching to CodeIgniter has caused the install size of EE to blossom, to 17.8MB / 1,890 items, from 9.4MB for 512 items.
57 CHANNELS AND NOTHING ON
EE grew from a blogging tool into a CMS, and the base unit of the system was the "weblog." EE 2 no longer self-identifies as a blogging tool, and now calls these things "channels" instead. All the terminology throughout the system is updated to ditch the old "weblog" term -- everything from the template tags to the database tables themselves.
The upgrade process makes this change automatically for most sites, but add-ons and people who do custom code may need to adjust their usage in order to upgrade.
OTHER CODE CHANGES
- It now uses UTF-8 as the standard and only character set.
- It introduces a new type of variable, "snippets," which are can contain dynamic code, unlike the EE 1.x's global variables, which could only contain static values.
- In a big change if you're an SEO-expert, EE no longer puts a trailing slash on the page URLs it produces. This may also affect traffic reporting comparisons.
- Many of EE's tag attributes were "cleaned up" to use the same pattern of "yes" to turn on something and "no" to ignore it instead of some more outlandish attributes in 1.6.9.
- If you liked EE's debugging output before, you may love the expanded "Output Profiler" that you can spit out at the bottom of each EE page now; it's much more comprehensive and includes session variables, form data, HTTP headers and more.
WHAT'S IN IT FOR BUSINESS USERS?
At a simple level, EE 2.1 is going to be better for building something, today and more future proof for your site going forward. It will handle advanced character sets, you can customize the entry screens for different levels of editors, and it's going to be easier to add or integrate third-party development on an EE site now.
For businesses on an existing EE site, there's no immediate need to upgrade, because other than the file manager, chances are your existing site does everything that EE 2 is going to do for you. However, that's going to change quickly. Already, there are EE2 only add-ons, and EllisLab will likely be adding new functionality soon, that won't ever be in the 1.6 product.
That said -- in my testing, it was pretty easy to get used to the live updating of the edit page and the autosaving of entries; I missed them immediately when I went back to 1.6.
Support for IE 6 in the control panel is gone: This means you can design your site to be IE 6-friendly, but you can't administer your site with that extremely outdated browser.
Support for PHP4 is gone: This is a last-minute change from the beta 2.0, but acknowledges the fact that 2.1 is supposed to be the base for future growth, and most add-on developers require PHP5 so it was a defacto requirement in any case.
The Photo Gallery is gone: Its upload functionality and image editing is now in the File Manager, and its watermarking, thumbnail generation, batch upload and special tags for creating galleries no longer work. An importer/upgrader is "in the works".
Trackbacks are gone: You get the chance to convert them to comments during the upgrade.
Some extension hooks are gone: For a complete list, look here.
Some add-ons, in fact, many add-ons, are not available for EE 2 (yet?), because they have not yet been converted. That bears a little more exploration, so...
If EE itself has gone through a long plateau on the way to EE 2, the developer community has stepped into the breech and has been busy creating add-ons for EE 1.x that have greatly expanded the power of the EE platform. It might even be fair to say that EE's benefits now come in great measure from these add-ons, which allow flexible e-commerce, social networking, SEO optimization, integration with Google Maps and hundreds of other functions that EllisLab hasn't built into the core of EE.
EE 2, as it exists now, will not run any add-on written for EE 1.x.
In this chicken-and-egg scenario, EE 2 was the egg that the chickens have been waiting for. Now that the egg has hatched, the question remains: what's going to be ported, and when. When I first wrote this review last month, many major add-ons had yet to be ported, but all the examples I picked are now converted; this bodes well for those of you relying on a particular add-on.
Meanwhile, of course, some have been ported and a new group of EE 2-only add-ons have already started to emerge: 183 are listed on Devot-ee http://devot-ee.com/add-ons/ee2/
If you upgrade, ExpressionEngine 2 does a lot of nice things for you, the most important of which is that it's even possible in the first place. Windows 7 required a reinstallation in many cases, but EE 2.0 will upgrade any version of EE back to the embarrassingly outdated 1.0.
In fact, pretty much everything will be taken care of for you. Your tables will be converted to UTF-8. Any mention of weblogs in your template tags will be switched to channels. The database itself gets a lot of normalization, some default values are added where there aren't any now, and your trackbacks will be converted to comments or exported to a backup file.
In addition, your templates files, if you stored them outside the database, will be moved and slightly renamed. The whole process is pretty painless, assuming you have a standard install and you can run the entire upgrade script on your hosting provider; it is a bit of a server hog while it runs.
HOW MUCH FOR ALL THAT?
EE 2 costs US$ 300 for a commercial license, and US$ 150 for a non-commercial (formally personal) licence. This is about a $50 increase from the 1.6 licenses. There's a new, 30-day, 100% Money Back Guarantee (their upper case, not mine.)
There is also a special freelancer license for US$ 99 that can be used only for a freelancer's own Web site.
Volume discounts are available, but are no longer as sharply discounted as they were in the past.
Upgrading an existing license costs US$ 50 -- plus another $20-40 if it's from before 1.6.3. So for existing users, it's under US$ 100, all in.
Until Dec. 31, 2010, buying EE 2 will also give you access to a 1.6.x download that you can use, but not concurrently with your 2.0 download.
If there are parts of EE that still need attention (and there are), it's because EE 2 was designed to be an aggressive overhaul of the entire engine, while also being backwards compatible and easy to switch between.
Think of this as Mac OS 9 to Mac OS X; a large and powerful leap with just a few new features, but one that may poise EE for some wonderful opportunities, assuming their development process is now able to handle the goals they've set for themselves.
- brand new UI
- file manager
- better entry editor
- it runs on CodeIgniter
- It's US$ 149 non-commercial, US$ 299 commercial
- Or get a freelancer license for US$ 99
- You can upgrade from EE 1.6.3 or above for US$ 50.
- PHP 5
- MySQL 4.1
- 16 MB of memory (up from 8 MB, which may cause trouble at some Web hosts)