Journal
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
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 opensourcecms.com! 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: padawan.info has a great article on a MovableType / ExpressionEngine comparison.
Most recent entries
- Don’t screw with conventions
- Design isn’t about tools
- Where’s the D in D&AD?
- Coolspotters: Where people and products meet
- Alys Rose Boulton
- abcdefghijklmnopqrstuvwxyz
- From Poly to Pole
- Ten Crimes Against Web Typography (and how to avoid them)
- Start Your Own Business
- Coolspotters and Garcia Media
Categories
Search
Journal feeds
Books
Stuff I like
Powered by Expression Engine



I'm a graphic designer from near Cardiff in the UK. I've been a designer for over ten years now and primarily work on the web. I'm still partial to a bit of print every now and then though. I used to work for
Comments
Nice article! You can simplify your rewriterule a little if you wanted to…
RewriteEngine on
RewriteCond $1 !^(global|archive|images|expressionengine|index\.php).*
RewriteRule ^(.*) index.php/$1 [NC,L]
I’d say the learning curve is reasonably steep simply because of the sheer amount of functionality available. Initially I had speed issues and had to stop using it (10 second page build times) but it turned out to be my host fault. Switching to a different host and all those issues went away. It’s almost as fast as Textpattern with judicious use of the caching system.
Chris Winfield
Thu 13th Jan 2005
at 7:46 am
Thanks Chris, that rewritesimplification looks good.
As you say, Expression Engine has such an amount of functionality it can be a bit daunting, and therefore the learning curve is quite steep. I guess I did have a couple of weeks learning Expression Engine, at least the basics, before I sat down and built the site.
Mark Boulton
Thu 13th Jan 2005
at 7:50 am
anybody considering cms should look at drupal.org which is for free
neon
Thu 13th Jan 2005
at 8:24 am
neon- I’ve spent quite a lot of time with Drupal. It’s a wonderful system, and superior to EE in a few respects (eg. threaded comments, post/comment editing links, plugins for wysiwyg article editors, user avatar uploads, already has polling and forums modules).
But from a site design perspective, which I believe to be the focus of Mark’s article here, Drupal is nowhere close to ExpressionEngine. Changing the look of your site in Drupal, especially if you’re a “non-techie”, is a major pain in the rear. (In fact, that’s why I eventually dumped it, despite all the awesome features) In ExpressionEngine, tweaking your layout or completely redesigning your site is amazingly simple.
dave frey
Sat 15th Jan 2005
at 5:11 am
neon - I’ve dabbled with Drupal a few times as well as other CMS frameworks such as Drupal and Typo3. As dave points out, to alter the design, especially when some of the code for modules is so buried, generally is a bit of a pain. This is where I think Expression Engine has the edge - it’s just so accessible and easy.
Hopefully there will be more modules on the way, there is talk of an ecommerce module (which will probably not be free) and a forum module. Beyond that i’m not sure as to further functionality. One thing is for certain though, as the user base for Expression Engine grows, as does the amount of plugins available.
Mark Boulton
Sat 15th Jan 2005
at 6:47 am
First let me say I really like the design of this site. Nice and clean. Let the content be the main feature. I like it a lot.
Second, dave frey commented that there aren’t edit post/comment links in EE, which isn’t true. There may not be a specific tag for it (like exp:entry:editlink), but you can have these tags. I do on my site, but only I can see them. If you do a search on the EE support forums, you’ll find how it’s doable.
Also, user avatars are also doable since you can create custom member fields. I believe there are a couple people who have enabled user avatars on their sites (not counting the Gravatar system).
Where he’s correct is there are no threaded comments, no forum module (yet) and no WYSIWYG editor in the control panel.
Chris
Sat 15th Jan 2005
at 11:23 am
Thanks Chris,
Yeah I believe there have been avatars produced (some of them to really good effect, especially cool for intranets and that kind of collaborative work space).
The other functionality dave frey mentioned is probably just round the corner, in some form or another. Pmachine seem to be knocking out the updates quite fast. As 1.2.1 was released today, which is mostly just a maintenance release, then hopefully work on the important modules, such as ecommerce and the forum, could progress.
Mark Boulton
Sat 15th Jan 2005
at 12:15 pm
dave frey commented that there aren?t edit post/comment links in EE, which isn?t true. There may not be a specific tag for it (like exp:entry:editlink), but you can have these tags. I do on my site, but only I can see them. If you do a search on the EE support forums, you?ll find how it?s doable.
My point was that in Drupal,it’s already there; in EE, it’s not native functionality; you have to do a workaround to get it. In my view, that’s an area where Drupal has EE beat.
Also, user avatars are also doable since you can create custom member fields.
If you read what I wrote more carefully, I said Drupal has avatar UPLOADS. In EE, there’s no way for users to UPLOAD an avatar.
dave frey
Sat 15th Jan 2005
at 2:14 pm
I guess I misunderstood your point. The functionality is there in EE, there’s just not a simple tag for it. You’re saying that Drupal has a tag (or the equivalent) for it, right? I guess a plugin could be made that would enable the use of a simple tag in EE templates.
And I didn’t see “upload”. In that respect, you are also correct.
Chris
Sat 15th Jan 2005
at 3:28 pm
I just wanted to say that I really like your design. I love clean designs and yours looks great! If you ever wanted to contribute a free template to http://www.eedesign.org I would be honored to host it! :)
Charles
Sun 16th Jan 2005
at 10:54 am
Charles - Thanks! I was thinking of getting a couple of templates together for another project, these could quite easily be made opensource - once they’re complete i’ll pass them your way.
Mark Boulton
Sun 16th Jan 2005
at 11:31 am
I’d like to hear your take on how to handle navigation and general “section-based” site design - say, a small commercial site with typical sections. There’s several schools of thought on how to do this best in EE, but this is something I struggle with immensely when looking at implementing an EE solution.
For example, how would you approach navigation design? EE is amazingly powerful (I came up from pMachine, which runs my site), but hard to learn if the goal is anything but a blog. It can move beyond the blog, but it seems difficult to mold it in that direction. Thoughts? Resources?
Allan White
Sun 16th Jan 2005
at 12:55 pm
Hi Allan,
I found EE quite easy to move away from a blog cms to more of a general cms. As you say, a commercial site with typical sections, can be quite difficult to get your head round, especially using a system which grew out of managing blogs. There were a few things I did when constructing this site to help me.
Firstly, this site is constructed out of several EE ‘weblogs’, one for each section. So, to help me out, I renamed those weblogs, within EE, to ‘sections’. I’ve tried to eliminate as much as I could the word ‘weblog’ from the system and replace it with section. That way if I need to create another section on the site, an item which would appear on the top navigation bar, then I simply add it through EE.
Posts to that weblog, now are called pages of content within that section - i’m not altering functionality, just terminology. If you can move your concept of EE away from ‘weblog’ and into one of ‘sections’ of a site, then you’re a step closer…
Mark Boulton
Sun 16th Jan 2005
at 2:18 pm
Excellent overview considering you are so new to EE, Mark. I have to say that EE is as flexible for large content management sites as it is for blogs, it’s just that they sell it and prepare the install as a blog tool. Dip into the user guide and the ways of using it for corporate sites, fanzines and magazine sites become more obvious.
Incidentally, the install (latest version 1.2.1 - released 16th jan 05) now comes with a template by my good self, which was designed to be a truly simple guide to marrying the system with some smart, easily editable CSS. Try the ‘Logical Blocks’ template and see how you get on if you’re doing a frsh install.
As for larger sites, it soon becomes easy to define a logical system of building using multiple weblogs that takes EE well away from merely a blog tool.
Colly
Sun 16th Jan 2005
at 4:25 pm
Good tips, folks. I was happy indeed to find that one could set the terminology (blog/section/site et. a.)Two questions on sections/weblogs:
1. How do you handle search results? At least as of 1.1, the “search result URL path” was set on a per-blog basis. This means that search results that cross sections (i.e. blogs) can have incorrect paths. This was something I ran into - have you guys?
2. How would you handle “global” includes, such as headers or navigation? From what I could tell, templates could be global - but only for a given section. I suppose they could be global variables, but then EE tags can’t be parsed.
I hope this isn’t off-topic - but I am curious how you might solve these problems, which were the two big obstacles for non-blog use of EE in my experience.
BTW - this is probably the nicest EE-driven site I’ve seen to date! Well done.
Allan White
Sun 16th Jan 2005
at 5:36 pm
Allan, in version 1.2 onwards you set your URL paths for search results in the Preferences of each weblog - an essential addition.
And if I understand you right, templates are global. Use {embed="setname/template"} to include a template anywhere. I always have a template set of vital includes which I then include in any relevant templates in any set.
Best way of doing global nav is to use URL segments (see User Guide) to test for which section you are visiting, then performa function based on that.
Colly
Sun 16th Jan 2005
at 5:58 pm
Hi Mark, thanks for the interesting article. I am also gonna move my blog over to ExpressionEngine in the future. Hope you don’t mind that I’ve linked to this article in today’s post about pMachine Pro being no longer developed.
Veerle Pieters
Mon 17th Jan 2005
at 1:49 am
Sorry to post twice but a question just popped up. As you know I’ve built my first commercial site using EE. Just like you I’ve used 1 ‘weblog’ for each section and I’ve changed the word “weblog” to “section” so my client gets a better understanding when he needs to make an update. For the subsections I’ve used ‘categories’ and so they are called this way in the admin. Do you know if this can also be changed in ‘subsections’? Hope this make sense to you. Thanks in advance.
Veerle Pieters
Mon 17th Jan 2005
at 2:17 am
Colly - Thanks. As i’ve been using several similar cms’ for quite a while now, getting to grips with the basics of EE was quite straight foreward - the big task, and one that i’m still working through, is getting to grips with all of EE’s functionality. Like that search URL thing you mentioned, that’s just fixed my search results url’s - ta! Oh, and well done on the template - it looks great.
Allan - As Colly mentioned you can use the tag embed, or you could use php includes (which is what I use, mostly as I wanted to get this site up quickly and it was one less thing to think about! I may change to using the embed tag a later date, as having these chunks of code in EE is better than having them as separate files on the server.)
Veerle - I read on your site about your upcoming change this morning - I don’t mind you linking at all. Re. Your question. I’m not sure how you could change the category, and I see what you mean, for a client that would be a good thing to do. Anyone else know?
Also, due to this mornings announcement about pMachine Pro, i’ve had a bit of a rethink about a photoblog i’m planning to do for my brother. I was thinking of doing this in MovableType, as he has no cash to spend on any management software, so, as pMachine Pro is now free I was thinking of using this.
Is it easy to make a photoblog with pMachine pro? Is the tagging and general concepts similar to EE? I guess I should just download it and have a look.
Mark Boulton
Mon 17th Jan 2005
at 2:37 am
Well, one thing is for sure pMachine is totally different from EE. It doesn’t have the flexibility like EE. On the other hand it is even more simple to set up. Although I haven’t got any experience with setting up a photoblog, I think it is pretty doable. Did a bit of a search on this and found this url. It’s from Chris Curtis, one of the developers and he explains how he did his gallery.
Veerle Pieters
Mon 17th Jan 2005
at 3:53 am
Thanks Veerle. After much deliberation i’ve decided to tell my brother to buy Expression Engine. His prime reason for a website in the first place is for digital photography, and as the Gallery module is so good (I haven’t actually used it yet though), he’s got no choice. :-)
Mark Boulton
Mon 17th Jan 2005
at 9:22 am
I’m an EE fan, and I do love the idea of having my albums integrated with my site, but I’ve actually found EE’s gallery module to be rather limited and lacking very basic features found in most popular gallery programs (such as Menalto’s Gallery and Coppermine, plus the gallery that comes with Typepad) I’m hoping they’ll improve on it, but based on some things I’ve seen in the forums, the EE dev team doesn’t seem very interested in enhancing it much beyond what’s there already. For now, I’m forced to stay with Coppermine so I don’t lose features I like.
dave frey
Mon 17th Jan 2005
at 9:38 am
I have downloaded and installed just about every CMS out there. I have been looking for the perfect solution for my portfolio, but I think I may have found it in Expression Engine. I will first download the trial and then go from there. I have also been working with Drupal...let me tell you off the bat...Drupal makes it tough for Code-sensitive designers like myself. I had lots of trouble ( still do ) with making the site look like something I designed and not just a template that has been modified. So...expression engine will be my next step...$149 to try though it pretty tough to swallow...so we shall see.
Scott Simon
Mon 17th Jan 2005
at 12:17 pm
To everyone nervous about dropping $150, keep in mind that there are two trial options to get you feet wet with.
Also, in case anyone is curious about using EE for a larger site, the key is to familarize yourself with its caching. Even if just for a minute or two at a time if you’re running a high traffic site can be a big help.
Finally, while I’m not a developer, they have very clear developer documentation for writing modules.
~cc
Cameron Corda
Mon 17th Jan 2005
at 4:33 pm
Oops, also meant to throw up an example for multiple content types: ACT’s Truth Center.
There are 7 different content types on that page, each with slightly different fields.
Here is another with a wider variety: http://ohio.actforvictory.org/
Notice content types like field office, and volunteer of the week.
EE is also great about reusing components. For example, when we created a group of fields for a state press release, we were able to create weblogs for each state’s press shop using the master set of fields. Add one new field and everything is auto-updated.
~cc
Cameron Corda
Mon 17th Jan 2005
at 4:39 pm
Scott - Like you, i’ve installed plenty of CMS’ over the years and never installed one which is as easy to use as EE. For me it was the custom data sets which was the clincher. Now, I don’t have to remember what data goes in which standards field (as in MovableType, because I label my fields and I can have as many or as few as I want. As Cameron points out, you can install a trial version (I did, although it does require Zend Optimiser to be installed on your system.)
Cameron - That’s a good point about the field sets, I hadn’t really thought about the power of those, especially when dealing with a large site and potentially a lot of authors.
Mark Boulton
Tue 18th Jan 2005
at 2:25 am
Hi Mark, thanks for taking the time to writethis up. Especially helpful is the rewriterules in the .htaccess file. :-) I knew that had something to do with it… I got myself a copy of EE and all I have to do now is get my site to work with it. I can’t wait.
I hope you continue writing about your EE implementations and experiences (on top of your other design-related posts).
Lea
Tue 18th Jan 2005
at 6:57 pm
I don’t have my main design site up yet, but I am using pMachinePro for other sites. One thing I do like about pMP is its flexibility. I can build my page(s) using normal HTML and CSS, add pMachine tags where appropriate, then upload them. In fact, I’ve had *no* trouble building pages and sites using just pMP.
But now, I’m looking at EE hard, since I get an upgrade price which is very attractive. I understand EE has features pMP doesn’t have, but I’m wondering if the design is as easy. I *don’t* want to have to do everything from a web page in a control panel! I’m a visual person and that just doesn’t work for me.
Julie
Wed 19th Jan 2005
at 8:08 pm
Julie, EE has an option to load templates from flat files allowing you to work with templates in Dreamweaver/Go Live over FTP so you don’t have to use the control panel. The control panel is essential for configuring everything else though. I haven’t yet tried it so I don’t know how it affects perfomance. See here:
http://www.pmachine.com/expressionengine/docs/templates/flat_file_templates.html
Chris Winfield
Thu 20th Jan 2005
at 12:17 am
Marc, first off love the redesign, nice and clean!
However, and this plagues a lot CMS’s not just EE, running this very page through the WC’s validator gices 52 errors against the XHTMLStrict Doctype you’ve declared. What are your experiences with EE as far as valid code goes?
Heiser Erwin
Thu 20th Jan 2005
at 10:21 am
Chris,thanks for the pointer to that doc; that’s very good to know. A bit less intuitive than my present method with pMachine, but I understand EE uses templates differently, all contained within one page. At least I can use BBEdit/GoLive/LayoutMaster to do the HTML and CSS offline and test it!
(Yeah, I’m an application junkie!)
Julie
Thu 20th Jan 2005
at 10:29 am
Ok...so I am sold on EE...I purchased PmPro a while ago...never installed it...The question I have for you all is this...can I have flash within a post? The plan is to upload a standalone flash SWF for each portfolio entry. Kind of like a flash image gallery all encapsulated in one. Anyway...thanks a lot for all of your help everyone.
Scott Simon
Thu 20th Jan 2005
at 10:36 am
Heiser - I’ve noticed this problem and i’m hopefully going to address it as I become more familiar with EE. Basically in EE you have the option of formatting text in an entry either by hand, br’s or auto-xhtml. This post is the latter. Therefore EE inserts H tags into P tags and p tags into ul tags so you get in a bit of a mess validation wise. Things for reminding me though - it’s on my to-do list.
Julie - Chris is right you can have templates stored as flat files so EE refers to them when it builds the templates. I’m not that familiar with pMachine so i’m not sure what the similarities are tag wise.
Scott - You can define upload file types in the EE control panel, so I don’t think setting .swf as an allowed file type would be a problem. As to displaying flash within the templates there is a plugin available to easily do that.
Mark Boulton
Thu 20th Jan 2005
at 12:18 pm
Mark, interesting about how EE treats auto-xhtml. I guess that’s the only way they CAN do it, because to EE a double return means a p tag. (Same thing with the newest version of pMachinePro.)
I like to validate, so I’ll just writein BBEdit and cut and paste. Unless,of course, EE’s posting form is much, much better than pMP’s. (You can’t select a paragraph,and click a tag button and have it enclose the selection.) I guess I’ll find out soon; I’ll download EE’s trial as soon as I finish designing my site.
Julie
Thu 20th Jan 2005
at 4:40 pm
Julie, you can also choose to use Textile or Markdown to process text entered through EE’s forms. You can do it in the template or configure it as checkbox in the post form in the same way you can choose from br’s, auto-xhtml or plain text/hand coding. EE has the clever buttons too. This make EE the most flexible user input system I’ve used (I’m not a big fan of wysiwyg forms though).
Chris Winfield
Thu 20th Jan 2005
at 4:52 pm
Messy URLS? I seem to have a problem with my .HTACCESS file...does anyone know how to have it default back to “Messy URLS” ?
Scott Simon
Fri 21st Jan 2005
at 8:41 am
I downloaded the trial version and attempted to install it on Dreamhost, but when I reached the point where it wanted me to choose a theme, it stopped - no ‘next’ link, no submit button, and no themes in the drop-down list it had generated. No nothing.
Shame, it looked like it was pretty good.
paul haine
Tue 25th Jan 2005
at 6:57 am
Scott: there’s a thread in the forums on pmachine.com that discusses .htaccess for this purpose.
Paul: I haven’t heard of that issue before. I would at least check the bug forums; their software quality is in general very high, and they are very responsive to fixing valid bugs. If you can get it to work (it’s never failed for me to this point), I think it’s worth checking out.
Allan White
Tue 25th Jan 2005
at 8:39 pm
I seem to remember some threads in the EE support forums specifically relating to the trial version and Dreamhost. I would recommend going to http://pmachine.com/forum and searching for “dreamhost” and see what comes up. If you don’t find what you need, maybe start a new thread asking for help. The folks in the forums are very helpful *IF* the title of your thread is very descriptive of the problem. If your title is vague, the thread sometimes gets ignored.
Good luck.
dave frey
Wed 26th Jan 2005
at 3:22 am
Ah, seems that Dreamhost doesn’t have the Zend thing that’s a requirement.
paul haine
Wed 26th Jan 2005
at 6:36 am
Paul - I had the same thing when I installed the demo. I was lucky enough that my Hosting Provider installed Zend Optimiser shortly after requesting it. Maybe you should give that a go.
Mark Boulton
Wed 26th Jan 2005
at 7:31 am
Great thread as I’m new to EE and loving it but having a time wrapping my ahead around it’s paradigm.
One question for either Mark or Colly, I’m setting up my site the way Mark is describing with different “weblogs” for different sections, and I love Colly’s idea of using the url segment to display different content but how exactly would one do that? Since EE’s “if” condinals don’t allow an else or default like a switch, I’m confused how you’d display the default index content for a given template.
Anyway, sorry if that question is too off topic, but kudos on the new site and it reassures me in my choice of EE.
mike
Sun 6th Feb 2005
at 10:43 pm
Mike - I haven’t used url segments too much as I too had a bit of difficulty getting my head round them. I’m hoping to use them quite extensively on a project i’m working on at the moment but i’ve yet to dive in. Let me know how you get on.
Mark Boulton
Mon 7th Feb 2005
at 10:04 am