Revving Up ExpressionEngine

ExpressionEngineNot long after I moved from Manhattan to Brooklyn, I had that feeling familiar to most everyone who similarly relocates: “This is great. Why didn’t I do this sooner?” Once you’ve given up today’s Manhattan and its generally not-worth-it hassles, you understand how much more livable life is across the East River.

Well, I’ve got something like that feeling again right now, as I take the very first steps towards porting this site from Movable Type over to ExpressionEngine. (This is part of my recently stated desire to resolve the general slowness on this site.) It’s a daunting transition — especially for me, someone with more ambition than free time or technical facility.

To my surprise however, given a few short hours, I’ve gotten much further in getting ExpressionEngine to replicate my existing functionality than I thought I could. I literally started with zero knowledge of the software at the beginning of the week, and with less than six hours’ worth of labor, I’ve hobbled together a rough but serviceable, EE-powered re-creation of

Status Check

By way of illustration, here is a visual overview of my productivity to date: below, early screen grabs from the working home page and article templates I’ve been tinkering with. Everything in red is static and untouched, essentially. But the black areas are currently powered by ExpressionEngine. (Some similar functionality, like the navigation, work on one template but don’t yet work on the other.) The basic functionality is in place.


I’ve got a long way to go, as you can see. By no stretch of the imagination am I nearly ready to debut this new incarnation to the world. And, it’s worth pointing out that I may yet run aground on technical hurdles I won’t be able to steer past. But for right now, it’s going very smoothly. Compared to what I’m accustomed to, ExpressionEngine is quite elegant. And fast. It’s also a lot of fun. Why didn’t I do this sooner?

  1. Can you write a bit more about this process? Will you maintain the “old” stuff in MT and just start fresh at some point with EE?

  2. The more you use EE, the more you’re going to love it. I recently built two sites on it and will never look back on it. The community around it is also superb and very knowledgeable.

  3. I’d love to hear your thought on EE versus MT. I’ve thought about playing around with EE for sometime, but have never gotten to it. I think I may have to now, given your enthusiasm.

  4. I’ve found that EE fits the bill for a very wide breath of my clients, and that the boundless creativity that it allows you to have made building really quite fun.

    Enjoy it!

  5. I’ve used MT, WP and EE. While the new MT has some niceties and WP certainly has a boundless army of folks using it and developing plug-ins for it, EE is my favorite.

    One of the key aspects of EE is that the convention behind it is not entirely blog-based. You can, of course, build a blog with it, but the sucker has so much power and flexibility under the hood, that you could design any number of different “types” of sites using it.

    The templating system is infinitely flexible, there are a load of plugins, extensions and add-ons available (though not as many as either WP or MT), and the support community on the forums is absolutely top-notch.

    In my ramping up with EE — and continued exploration of its capabilities — I consult the EE forums regularly. If an answer isn’t already found in an existing post, I can likely get one from either the EE support staff or other users within very short order. And everyone is nice as hell and very, very supportive.

    Oh, and one other key item: You can completely customize the editing templates for a given section of your blog/site/whatnot — custom fields galore. On the admin side, it makes things so much easier, particularly if you’re using EE to develop a site for a client.

    Look forward to see/hear how things go for you in the port.

  6. Totally agree with Kyle and Ben. I started using Expression Engine in June and haven’t looked back. I’m on my sixth EE-based site right now and it still amazes me how versatile it can beЁ and I’m a designer with dismal programming skills.

    The latest two sites I am currently working on are pretty damn complex and programming the EE stuff has been the quickest part of either project.

    My best advise is to take advantage of the their fantastic documentation and enthusiastic community. I have yet to run into a problem that hasn’t been solved and documented before.

  7. I’ve used EE on a dozen different client projects since being pointed to it over a year ago… it’s pleasantly surprising when you go to scale your site and discover untold amounts of breathing room. I’ve put it through some inconceivable paces and come up with a nice wish list of features, but on the whole it’s damn-near flawless in learning curve, deployment time and site management. Best CMS on the market, especially for the price.

  8. My first CMS was pMachine, which I believe is the EE now, and I loved it. pMachine is so easy to use and customize, I still use it on some projects.
    I can’t wait to switch to EE.

  9. Let me echo Geof Harries’s comment. I’m a fan of this site and as an EE-based developer it tickles me to see Mr Vinh adopt it. I’d love to be able to tell people at parties (ok, my dog) that I helped out a bit at

  10. I’m curious about the free vs paid options. If you stick with Core you don’t get the Pages module, how big of a deal is this? What about “About” or other static pages? Do you just write one “entry” to the “weblog” or do you put the content directly into the template?

    I myself am also just getting my toes into EE and would like to know more about this. I have a client that I may use it with, but they have no blog need and most of their content will be static with minor (mostly date and pricing) updates.

  11. More power to you Khoi. I’ve tried to pick up EE and tinker with it – twice. However for some odd reason I just wasn’t feeling the love back – I probably hit some stumbling block or something. But reading this is encouraging me to give EE a try again. I *really* want to be hooked on it, specially since I need a CMS flexible enough to create all the custom fields I need – the other options out there are just pathetic compared to EE in that respect.

  12. I’ve been an EE user for around a year now. Having used about 10 others before EE, there really is just no comparison. Every other system that I’ve tried, has fallen way short of what EE can do and how intuitive the system is.

    Like others have said, if you need any help with EE, feel free to drop me an email and I’ll be glad to help. 🙂

  13. i feel like we’re leading parallel lives 🙂 i’m learning EE this week as well for some freelance. i really love it so far. can’t wait to see what the ultimate outcome is here!

  14. I switched from WP to EE and haven’t looked back. I just recently completed a site using it and was really impressed with how it worked. Although its not free, its worth the $250 two times over.

  15. Also in the process of learning EE this week. =) While I haven’t picked it up as quickly as some of you it seems, I have been feeling the awesome power of it, and can’t wait ’til I’m fairly versed in it.

    @Beto You might give this nice tutorial by an awesome guy recently hired with EE.

    Also, I haven’t used this one yet, but have been meaning to look at the Building an EE Site in 24 Hours, which is hosted (I think) at, but the site seems to be done at the moment.

  16. Welcome to the wonderful world of EE. Been using it since the beta and couldn’t be happier. I’ve found it to be the most robust/flexible CMS I’ve tried. If you hit any snags, visit the forum, a great bunch of people there just waiting to help out.

  17. If you’re concerned about speed, make sure you have read up on Data Caching and Performance in EE. There are some good habits you’ll want to adopt from the get-go before you get too deep in code (namely manual query disabling). Dynamic Weblog Query Caching is an absolute gem if you don’t plan to use future or expiring entries; I’ve found it can boost speed considerably.

    Good luck with the crossover! Sounds like you’re starting to get an idea of why we love EE so much.

    PS. If you need anything randomized with dynamic caching enabled, you’ll want to use this great little trick.

  18. I fell into using EE and I’m so glad I “found” it. I probably only use a tenth of its functionality, but I very much like the flexibility. There is a lot of mojo in it.

    Will you be using the “Pages” module to publish static pages, alЯ MT?

  19. There is nothing that prevents EE from powering static and dynamic content. One of the best features of EE is the ability to breakdown a complex site into reusable template groups. With the EE tags, you can even do rudimentary scripting and enable full PHP parsing. For instance, you can set EE to display certain classes of page elements, depending on the uri segments. And it’s completely database driven so you don’t even need to use sFTP/FTP. As a developer, I would say it is one of the best written free CMSs around.

  20. Yeah! Congrats on the move. I’m certain you’ll find EE elegant, flexible, powerful, and just plain great to use. I’ve been using it since it replaced pMachine Pro, and I’m still in love with it.

    I found EE pretty easy to gain a basic knowledge of, a bit of a learning curve to go from basic to intermediate, and lots of experience to leave the intermediate level. That said, I found it flexible enough that even if I hobbled something together the first round, I could go back and streamline and make it purr by round two or three.

    You’ve got a lot of offers for help, but if you need it, just ask.

  21. Will you be using the “Pages” module to publish static pages, alЯ MT?

    ExpressionEngine’s “static” pages aren’t static in the sense of files on the server, they’re still generated from the database. The Pages module lets you specify a particular URL ( instead of using EE’s default template group/template/structure (

  22. I moved from MT to EE almost 4 years ago and I’ve never looked back. From day one EE had all the features I needed. That was a nice change from the constant hacking I had to do to MT to make it work the way I wanted.

  23. I actually went through the same transition last year, from MT to ExpressionEngine, and found that once I’d gotten my hands in the organizing metaphor of EE (templates instead of pages, etc.) that it was a quick process to pick up, though God knows I still have plenty of work left. Much luck porting the remainder of the site!

  24. For a couple of years I’ve been building sites with Textpattern and I love it. Lately, however, I’ve been looking into other systems, one of them EE, which looks very good.
    Can anyone tell me what could I do with EE that I can’t with TXP?
    Specifically, is it possible to serve different versions of the site to different user groups depending on their permissions? Let’s say, a customers area, employees area, and such?

  25. Folks, thanks for all the encouragement and tips. For those who have volunteered their expertise, it’s very generous and I may yet ping you for help as I inevitably hit difficulties.

    For Andrew, who commented first, the answer is that I intend to do away with Movable Type completely. Once I’ve replicated the functionality here (and I’ll likely use EE’s greater flexibility to improve upon it), I’ll import my Movable Type content and switch over entirely to that publishing system. Can’t wait.

  26. This post is currently under no category, thus rendering the “categories” line under the title incorrectly.

    I might try EE once I get my blog up (if ever), but I don’t have much experience with CMSs, so thanks for that link, Ben!

  27. I’ve been using EE since its predecessor product, PMachine, in 2003. I run several sites with it, some of which have multiple user groups, all of whom can edit their portion of their site independently. Among others, I’ve run sites for nonprofits, and sites for high-end realtors with it. It’s customizable in the extreme, and the community of users and developers is incredibly helpful.

    It is worth every penny, and enables me to make money and please my clients. It makes my job as a web developer a pleasure.

  28. EE is a superlative piece of coding, and their Code Igniter platform is proof that these folks are nothing short of code poets. EE is certainly better than MT4, what with most of the real functionality being hidden behind the PRO version of MT.

    That said, I’ve been trying to develop a full blown site with photo galleries, reviews, user management, and blogs for users using WordPress MU, and I find it much better than EE in terms of ease of customization.

    WP has been accused of changing their code’s “hooks” with every release but the 2.3 version release is nothing to sneeze at. It’s fantastic code, and the theming and plugin support in my mind beats EE’s community hands down.

    As for people like you, who clearly know what they’re doing with XHTML/CSS/PHP (this is one heckuva elegant site!) either WP or EE is a boon. It’s a matter of preference really.

  29. Khoi,

    To be honest, I’ve never heard of EE before. So I’m wondering what kind of process you went to choosing EE instead of WP. You mentioned in your earlier post that these were your two considerations.

  30. Shanx: what with most of the real functionality being hidden behind the PRO version of MT.

    I don’t suppose you’d care to qualify this statement with examples? The single functional difference between the free/OS and commercial releases of MT is a plugin: CustomFields. And then the Universal template set, which could be duplicated with a little thought and determination if you didn’t feel like paying for it. If that constitutes “most” of MT’s functionality to you, you’re clearly not paying nearly as much attention as you put forth.

    Khoi: I’d also be interested in a semi-regular update of your progress. The last time I toyed with EE, there were still too things I found unacceptable, though it was a fair bit less mature than it is now.

  31. Hi Su. Finally figured out what your reference to “Khoi” meant on the MT thread.

    🙂 I do look forward to your thoughts. I’d give anything to stick around in the MT camp. As you say, as much as EE’s stuff is well done, I just don’t find it’s admin interface and it’s laborious “template groups” acceptable. WP has done a lot of things right. But MT’s static archiving engine and PostgreSQL support is what keeps me coming back.

  32. Khoi: The initial incarnation of my site was created in MovableType in late 2004, and it worked just fine for my purposes. Being one not to leave well enough alone, though, I happened across EE in early 2005, and found its flexibility and power, along with its exceptional documentation and helpful user base, very refreshing. I work on large Java and .NET sites at the day job, and find working in EE an enjoyable experience comparatively for the occasional side project.

    I don’t think you’ll have any issue getting ExpressionEngine to do what you want. Looking forward to the result.

Thank you! Your remarks have been sent to Khoi.