Behind the scenes ExpressionEngine Hijinx

On the ExpressionEngine forums the staff have a secret “staff only” forum that we use to ensure we’re all on the same page, and all giving the proper advice.  Sometimes though, things just devolve into nonsense, Simpsons jokes and one liners.  Most of this hijinx never sees the light of day, but Les blogged about one particularly amusing thread today, and I had to share.

Go enjoy, and astound yourself at the high level of intellectualism and 80s rap references… how I didn’t find a way to work “2 legit 2 quit” into there I’ll never know…

Oh yeah, and 2 posts in one day (even if this one is a bit… um… off-topic) officially counts as me breaking out of the blogging slump.


alternating comment styles

I've been asked how I acheive the alternating comment styles in my blog. When this blog was custom built on CodeIgniter, I used alternator() in the string helper. It looked like this:

<?php foreach ($post_comments->result() as $comment): ?>     <div class="comment<?= alternator(' even', ' odd');?>        <p><?php         if ($comment->comment_author_website) {             echo anchor ($comment->comment_author_website, $comment->comment_author_name);         } else {             echo $comment->comment_author_name;         }         ?> wrote on <?= date ('F jS, Y @ G:i', $comment->comment_date);?></p>         <?= $comment->comment_body;?>     </div> <?php endforeach; ?>

When I switched my blog over to ExpressionEngine a few months ago, I decided to change my strategy a bit, and use the tools EE makes available for me. Specificly, the {switch} tag for comments.

{exp:comment:entries sort="asc"}     <div class="{switch="even|odd"}">         <p>{url_as_author} wrote on {comment_date format="%F %d<sup>%S</sup>, %Y @ %G:%i"}</p>         {comment}     </div> {/exp:comment:entries}

I find it ever bit as intuitive as pure PHP, and I love the convenience shortcuts like {url_as_author} (Hyperlink pointing to the URL (if it exists) with the author name as the link title. If the URL does not exist simply the name is returned).

I still have all the legacy code (of course) from the custom written blog app, and while I don't want to release it wholesale, I'd be happy to field any specific questions about any part of it.

Productivity Tools

Ever been working along and say to yourself “whoa, where’d the time go”?  Then you look back and can’t believe how much you’ve got done?  Sometimes it just magically happens to be sure, but I think the tools I’m using must play a big role in it (and turning off my email and cell).  These are the tools I find myself using in those spontaneous moments.
The tools of my productive environment

CodeIgniter, ExpressionEngine, Firefox and plugins, Fireworks, Dreamweaver, Coda and the interweb.

Notice how the operating system is not there?  I haven’t found any noticeable difference between operating systems, as long as my macbook is plugged into a nice big monitor.  I do notice a decline as my screenspace goes down.  That said, there is something psychological going on there, since I want to use the Mac more then I ever wanted to use a pc.  I must be influenced by all those ipod and “I’m a Mac, I’m a PC” commercials.  I’m such a slave to media…

I’ve always liked Dreamweaver (yes its expensive, but feature for feature as good as any editor I’ve ever seen including Textmate), but I absolutely hate it on my Mac - and truthfully, its only 1 thing… I hate all those dopey floating panels.  I’ve been spending a bit of time with Coda.  Yeah there’s a lot of hype, but it isn’t undeserved.  I like the integrated environment, I have absolutely no need for a CSS editor (its nice that its included, but I don’t use it anyhow), and I find the terminal completely adequate.  I might just buy it since the trial runs out in a few days.

CodeIgniter and ExpressionEngine have completely revolutionized the way I build sites in the last year.  Fireworks has been my “go to” image editor for a long time now.  Its combination of vector and bitmap tools have been ideal for me, although a switch to Illustrator might happen if I find the right project. 

What tools do you find yourself using when the magic moment strikes?

Writing personal content, and other assorted thoughts

This is one of those “a little bit of everything posts”.  I’m re-writing my business site, building an ExpressionEngine tutorial and impressed by beautiful javascript, and I’m too sexy for my shirt (so sexy it hurts).  Let’s tackle these in order shall we?

So I’m rebuilding my business website (no links right now, but its not exactly a secret URL).  Through a series of unfortunate events (that would seem much funnier if they had happened to someone else) I lost every non-textual asset from my site 3 months ago.  Every image, pdf, a few flash files… gone.  Backups you say?  Of course I had backups... and I can prove it.  I’ll just get them out… I know they’re around here somewhere… maybe in this directory… no, well I know they must be… hmmm… Found them!  And you doubted me?  Oh wait, it seems this backup (and all my backups) have images from my site from 2 generations ago!  Sigh… so now, only html pages, which means text and styles intact only. 

So I took it as an excuse to rebuild, but then I got sidetracked when I was hired by Ellislab, and other work picked up, and I started getting really active bug squashing in CodeIgniter and well, you know how these things go.  So I finally finished off the design, rebuilt the site using CI on my test server, and now all I have to do is drop in the content.  The problem is of course, that the only content I have right now is probably 4 years old, and I’m not happy with what I wrote.  So I’m off to re-write it now.

Let me just say that writing content for a website is hard work.  No wonder getting clients to hand it over is always such a struggle.  And writing for your own website is twice as hard.  On top of all the normal “extra things to think about” when writing for the web (be brief, summarize, use headings and bullets) when you’re writing your own content you have to walk that fine line between “promote yourself” and “I’m a self aggrandizing attention whore”.  Its a finer line then you’d think at first.

EllisLab rebuild interview on Digital Web Magazine

Digital Web Magazine has posted a great interview entitled Redesigning the ExpressionEngine Site with Jesse Bennett-Chamberlain about his resdesigns of EllisLab, ExpressionEngine, CodeIgniter and EngineHosting (I mentioned these earlier).  Sure, the title of the article isn’t very creative, but the designs sure were!

In it, Jesse walk through the full process discussing workspace, wire-framing, concepts, mockups, typography, icons and more.

South by Southwest Story

“... and its the start of March break, the airports are flooded with hundreds of kids out to enjoy the sun and fun.  If you’re travelling today, get to the airport extra early….” I hear as I flip through the radio on my way to the airport Friday morning.  I’ve only got 1 coffee into me, and I’m not off to a good start.

A pretty customs officer says “And where you heading to today?”.
“Austin by way of Houston”
“No you’re not.”
“... um… sorry?”
“Why would you fly all the way down to Houston to go to Boston?”
“No, Austin by way of Houston” I chuckle nervously.
“Oh” she said unimpressed, “why?”
“What do you do?”
“I’m a web designer, there’s a big conference I’m attending.”
<awkward_silence />
I volunteer, “It’s called South by Southw…”
“I didn’t ask you that!”

And thus starts my otherwise incredible trip to Austin.  I lurch (literally, the plane was really small) into my seat, and the pilot squawks out “we’re a few minutes late, but don’t worry, we’re going to cut a few corners and get you there on time”. 

“Did he just say ‘cut a few corners’?” I ask myself and start to wish I was on a flight to Boston.

pMachine becomes EllisLab with a sexy new look

That’s right, the repositioning has happened, take a look for yourself!
The new CodeIgniter WebsiteThe new ExpressionEngine WebsiteThe new EngineHosting Website

It’s finally happened!  Whew!  The amount of work that’s gone into this by the whole team has been tremendous, but it was so worth it.  The artist formerly known as pMachine, is now formally EllisLab.  There is also now a more clear-cut distinction and cross branding between ExpressionEngine, CodeIgniter and EngineHosting.  And each of the sites has a sexy new look.  The stunning design cross-brands us, and is a sign of things to come!

Although all of areas (EE, CI and hosting) have seen tremendous growth, the update is especially welcome for CodeIgniter in my mind, who has grown from “new kid on the block”, into one of the “must-see” PHP frameworks that automatically gets consideration for most new PHP projects.  Yeah there’s still some growing to do, but heck, its not like []Zend[/url] has released anything except beta-versions of their framework (which is excellent by the way, but has different goals then CI).

One of my favourite new features of the website is the small area near the bottom labeled “Built on CodeIgniter”.  Over the last little while I’ve been accruing a list of sites that are (um) built with CodeIgniter.  There is some really great work going on out there.  Now we show them off a little and feature the great work of the community. has been rebuilt… Again!

Wasn’t it just 4 months ago that I rebuilt this site in a custom built Code Igniter platform?  Wow time flies, but I’m proud to announce yet another change.  Actually, not a change - an upgrade.  What you see in front of you now is completely rebuilt using ExpressionEngine.  It was actually a really painless migration, although moving the data sucked… Anyhow, there are still a series of “under the hood” improvements to be made, and some refining here and there.  If you find anything on teh site broken, please let me know!

I’ll start writing a few entries about using EE as a blogging platform, but I’ve been using it for some time as a content management system in other capacities. Actually, this move brings to mind one of its foremost strengths… flexibility.  I was able to re-create my (old) custom url structure, so no Google penalty.  I was able to implement all the features I had custom built, and easily at that.  And finally, I was able to build it entirely on a local system, and move it live in the time it took to FTP the files up.

If you’re reading this and run a blog, and still use Wordpress but are looking to ditch that horse and buggy, then take a look at the free ExpressionEngine core.  There are easy migration paths into EE, and I promise you that you won’t regret it.  The honest truth, is that there is a learning curve, but its pretty short, and once you are up to speed, you fly!

Incidentally you Wordpress users… make sure you aren’t affected by the latest in a long line of security concerns.

Moving to ExpressionEngine has completed the transformation into ExpressionEngine, but it’s not live yet (want to migrate the data first).  It took all of about 2 hours after I finally forced myself to sit down in front of my computer and turn off my email.  Funny how your own “personal” stuff always seems to take a back seat to “important” work, but I’ve just finally grown frustrated with the roll-my-own solution.

I’m really, really, happy with the codebase I built for this site in Code Igniter, but the problem is that every time I want a new feature I need to go fix it up.  And also, in honesty, it pains me to see all the kick ass features in EE that I haven’t built into my blog yet… and well, I want to be one of the cool kids.

So now the really painful part - data migration.  Anyone who’s ever worked with legacy system and/or code can tell you want a pain that can be.  The good news, moving the posts over is a pretty straight-forward process.  The bad news, moving the comments over won’t be.

Sigh… no rest for the wicked I suppose!

An insiders look at ExpressionEngine tech support

Pssst' wanna know a secret? Let me let you in on how tech support works at ExpressionEngine.

Most of you reading this from the Code Igniter community are probably familiar with John Fuller and my posting patterns on those forums (where let me remind myself - we are volunteers). If you aren't - well, we're pretty prolific. Now, imagine John and I, joined by 2 other support staff who are flipping unbelievable in their own right - Robin and Lisa.  Now imagine that we're all paid.  We're paid for the express job of sitting on the forums, waiting for questions and then answering them and improving the ExpressionEngine resources and community.  Getting good?

Now imagine we're also joined by 2 active developers (Paul Burdick and Derek Jones), then by the vice-president Leslie Camacho (who is also highly technical), and then the Grand Poo-Ba and original author, Rick Ellis.  Now imagine that a hosting company with their own team of support techs also has an active interest in participating in support.  You picturing it?

Now imagine all that, and a community of people, who are passionate and engaged and active.

And THAT my friends, is how ExpressionEngine support works, and it is a scary thing to behold!