Expression Engine - Designers Questions

Since the launch of this redesign a few weeks ago I’ve had quite a lot of emails asking how I built it using Expression Engine. A large proportion of these emails have been from designers who see, and want, the benefits of a low-cost, flexible content management system for their own portfolio websites. Hopefully I can answer some of the specifics here.

My requirement


p> First off, it might be useful if I list some of the requirements I had for a Content Management System before I rebuilt this site using Expression Engine.

  • Free or Low cost
  • PHP/MySQL dynamic environment
  • Custom fields - (This was a big one, see below for more detail)
  • XHTML / CSS template system
  • Easy updating via a web based interface

As I said, Custom Fields wa a big one. one of the major gripes with MovableType was the amount of hacking around I had to do in order to get all of the information in to MT. Originally I used a bunch of PHP variables in the MT Keywords field. This isn’t a bad solution and I know quite a few designers do that (Jon Hicks did before moving to Textpattern, Doug Bowman still does).

The problem with this is it requires you to have the list of variables to hand, which isn’t ideal. Also, from a technical point of view it isn’t good practice to have so much data in a field like that. As I found out, it makes migration to other systems tedious.

Most designers who wrote to me want to build, or rebuild, a portfolio. MT doesn’t make this easy for you, it is afterall nothing more than good blogging software. Expression Engine has it’s roots in blogging, but goes much further. I guess a lot of my requirements would mirror most designers needs - A simple, intuitive piece of software for managing a portfolio online. That’s what it boils down to.

Questions and Answers

Is it worth the money?

Well, this really depends on your budget and what you want to do with it. I think Expression Engine is extremely good value for money, especially considering the Gallery module shipped with version 1.2.

I use Movable type at the moment, how does Expression Engine differ?

In essence, the functionality of any content management is similar - you update content, via an interface, which then gets inputted into templates for display on the web. In terms of functionality Expression Engine is much more flexible than Movable Type. It comes with default custom fields which means you can tailor the data sets for any section you create. There are many differences between the two once you get down to to the detail, I really can’t go into all of them here - best you look at the websites to do your own comparison.

Was it very difficult to set up?

No, Expression Engine is very easy to set up. A simple process of setting up a database, making some changes to a config file and some folder permissions, then running an install wizard. That’s it.

How is the learning curve?

The learning curve isn’t too bad, especially if you’re familiar with a systme like MovableType. I would say this though, you do require a degree of knowledge of HTML and CSS if you wish to customise the sites you produce, Expression Engine isn’t WYSIWYG. There are however plenty of tutorials and templates available to help you out.

How long did it take you to do your site?

From start to finish, probably about 4 days. I did have a lot of the css already written though from the previous version of this site. The way I have the css configured is as separate stylesheets for the colour, structure & typography which means I can apply changes to one without affecting the other. A lot of the grids and structural layout was already done.

Have you used other systems before?

Yeah, loads. I think i’ve dabbled with most of the cms’s on! Three versions ago, this site ran on it’s own custom php/mysql based cms I built using dreamweaver and a bunch of other plugins. This was ok, but required a lot of messing around if I wanted to change the design (as it was built using tables etc, and minimal css, shame on me but it was 1999!). The version after that was built using MT 2.6, I then upgraded to MT3 and with it another big redesign.

But I did get tired with MT’s continuing spam attacks, limited flexibility and slow rebuilds. It was time for a change.

How were you able to get rid of the /index.pbp/ in the url

With a little help from the Expression Engine forums and an .htaccess file.

In the root of my server I have an .htaccess file with the following code in it.

RewriteEngine on
RewriteCond $1 !^global/.
RewriteCond $1 !^images/.

RewriteCond $1 !^archive/.*

RewriteCond $1 !^expressionengine/.
RewriteCond $1 !^index.php.

RewriteRule ^(.*) index.php/$1 [NC,L]

Basically this code gets rid of the index.php and still allows access to the folders - global, images, archive etc. You need this so your site can use stuff from those folders, if they aren’t in the list it won’t work. Now, I must say, this works for me, on my version of Apache, it may not work for you.

Do you use Expression Engine on any other sites?

Not yet, but there are a couple of sites in the pipeline which I am planning on using EE on. Another one of the reasons for choosing EE is that it’s a system I can invest my time in learning, knowing that I can use it for a wide range of commercial applications as well as my own site. I was getting a little of tired of learning another system everytime I built a site, or having to re-learn how I hacked MT that last time.

This way I can invest my time in learning Expression Engine very well and as it’s PHP based I can also use what PHP knowledge I do have to good effect.

Any more questions?

Feel free to let me know, or comment here, and maybe we build up a list of answers tailored to questions which a designer may ask.

Update: has a great article on a MovableType / ExpressionEngine comparison.

Recently : Are users blind?