All entries filed under “ExpressionEngine 2”

Reactor Team Work in EE 2.4

I missed this when posting about the release of EE 2.4, but in the changelog for the EE 2.4 release the ExpressionEngine Reactor teams’ contributions to the release of called out (with [ExpressionEngine Reactor]) so everyone can see what the developers are working on. Excellent idea and a nice surprise.

Here’s what they worked on for EE 2.4:

  • [ExpressionEngine Reactor] Added the list of Channels to dropdown under Edit.
  • [ExpressionEngine Reactor] Added third_party_path config item.]
  • [ExpressionEngine Reactor] Changed default text formatting from XHTML to none.
  • [ExpressionEngine Reactor] Fixed a bug with autosave where the save() method would be called for third party add-ons on autosave.
  • [ExpressionEngine Reactor] Added core_template_hook that lets you change the template to be loaded based on the uri_string.
  • [ExpressionEngine Reactor] Added template_post_parse hook that lets you modify templates after parsing.
  • [ExpressionEngine Reactor] Added template_fetch_template hook that lets you see what template is being loaded.
  • [ExpressionEngine Reactor] Added option to suppress errors thrown by loading language files.
  • [ExpressionEngine Reactor] Added all plugins to default text formatting list when creating a new field.
  • [ExpressionEngine Reactor] Abstracted field edit/create logic to the Channel Fields API.

A good description of the team and the idea behind the reactor is available here in this blog post by Leslie Camacho.

Nice work, everyone!

Posted on Jan 29, 2012 by Ryan Irelan

Filed Under: EE Reactor, ExpressionEngine 2

EE 2.6 PHP and MySQL Requirements Increase

Along with the annoucement about EE 2.4, EllisLab also mentioned that in the upcoming 2.6.0 release the MySQL and PHP version requirements will increase.

Lastly, I would like to note that our PHP and MySQL version requirements will change with the 2.6.0 ExpressionEngine release, giving you at least 3 months to prepare. Our PHP version requirement will be 5.2.4 and our MySQL requirement will be 5.0.3. Making the call now allows our developers to plan new features with optimized code while still giving our users plenty of time to make sure their hosting environment is compatible with ExpressionEngine’s future needs.

If you’re running on an older server config or your host is behind in updating PHP and MySQL, you have 3 months to get things in order. EllisLab is usually very conservative with their PHP and MySQL requirements1, so hopefully this won’t affect too many people.


  1. The latest version of PHP at time of writing is 5.3.9 and the latest MySQL is 5.5. 

Posted on Jan 24, 2012 by Ryan Irelan

Filed Under: ExpressionEngine 2

EE 2.4 Released

Today EllisLab released ExpressionEngine 2.4. All of the details are carefully laid out in a blog post but here’s the executive summary:

  • 80 bug fixes
  • Faster Control Panel
  • Better “Remember Me” functionality “optimized for multiple sites and/or devices”
  • File Manager Improvements
    • Sorting and filtering by keywords
    • Category editor now includes file browser for the category image
    • Increased security to files via the browser
    • Credit and location metadata editable through file modal
    • Watermark files without resizing
  • Development Updates
    • Hidden configuration variable for file upload paths (yay!)
    • third_party_path configuration variable added
    • New Developer log to view warnings on depracated functions
    • File field library so developers can use the file browser in their own add-ons
    • Pagingation library improved and simplified.
    • New Hooks: deleting members, modifying template data, defining template types, pulling in rows for content edit page.
    • Two new constants: URL_THEMES_THIRD and PATH_THEMES_THIRD so users can customize where the third party folders live (yay!).

View the changelog for the entire list of bug fixes, feature additions and improvements.

Posted on Jan 24, 2012 by Ryan Irelan

Filed Under: EllisLab, ExpressionEngine 2

EE 2012 Wishlist: Bring Back Core

A couple of weeks ago I asked you for your wishes for ExpressionEngine in the year 2012. The response was wonderful and full of great ideas and, thankfully, very little snark. I wanted to hear everyone else’s ideas but neglected to share my own.

I agree with many of the suggestions in the comment thread of my original post. But if I had to only choose one thing (and, in truth, it’s impractical for me to do so) to wish for with ExpressionEngine in 2012 it’s this:

Bring back ExpressionEngine Core (or something similar)

When the end of ExpressionEngine Core was announced, I was all for it. I thought it was a good move by EllisLab to charge for all access to the ExpressionEngine application. And, you know, it might have been good for their business and for our community. There’s something to be said about an admission price (albeit a fairly low one at only $99.95) and how it can keep the community professional. And, for the most part, that’s the case.

But paid-only licensing1 options also keeps out the casual, happen-to-stumble-across-ExpressionEngine users, who may have been suffering for years from the plight that is [insert CMS here] and are looking for a better way to create content websites.

It’s Where I Started

My first ExpressionEngine website was built on EE Core. I wanted to dabble and check out the new-to-me CMS and Core provided me that option. Using Core allowed me to make a ton of mistakes building my first ExpressionEngine site and learn a tremendous amount along the way (although, as usually is the case, many of my best lessons were learned when there was a lot on the line).

I’m not the only one. Ask around or start an informal Twitter poll to find out who started with Core. There are many others who also started on Core and are now thriving using ExpressionEngine in their consulting businesses or other web work.

Can we create the next generation of the ExpressionEngine community with a paid-only admission to the community?

Front Lines

I’m not trying to hoodwink you with a flashy show of altruistic word gymnastics; there is certainly a business consideration here.

I create tutorials that teach people how to learn ExpressionEngine. If there’s a barrier that keeps people from adopting ExpressionEngine I am one of the first (after EllisLab) to feel the impact. Have I? There are so many scenarios that without controlled testing it’s impossible to know. But is it in the realm of possibility that the lack of a free version of ExpressionEngine has slowed growth of the community and the businesses that do commerce in the space? Definitely.

An easier way into the community will help everyone using EE. I’m not just talking about add-on developers who sell their software commercially; it’s you, the consultant, freelancer and agency owner who also benefit from more people using–and becoming proficient in–ExpressionEngine. It makes it easier to pitch EE to clients, hire people to work on your team building EE sites and have access to better add-ons and supporting services.

Having an EE Core version of ExpressionEngine available would increase the number of people joining the community, adopting ExpressionEngine and building new sites on EE. This is good for everyone.

So, that’s my wish for ExpressionEngine for 2012. It’s not a feature, a bug fix or a complaint. I’d just like to see the community open to casual passersby, CMS tinkerers and people who don’t want to or can’t spend $100 on a license.


  1. Yes, there is a 30-day money back guarantee for ExpressionEngine. I know EllisLab honors that guarantee but I think they’re so often used by companies (especially those sleezy television informercials) that they aren’t really taken seriously by many people (including myself). There’s also the situation where some individuals (young students just getting into web development) don’t have the money to throw down for a license. 

Posted on Jan 19, 2012 by Ryan Irelan

Filed Under: ExpressionEngine 2

Mobile Sites with EE

Garrett Winder of Erskine Design wrote a .net magazine article on how to create a dedicated mobile site with ExpressionEngine.

In the last few years mobile has absolutely exploded. It’s the way people shop, browse the web and check email and the numbers are increasing exponentially. Because of this, we need to shift our focus on building websites explicitly for the desktop and really start thinking about the context that our work is being seen in and interacted with. We need to rethink the way we’re building websites.

In this tutorial we’re going to run through some ways to integrate mobile into our ExpressionEngine workflow.

Garrett reviews the differences between a dedicated site and a responsive approach (scaling the site dynamically based on device viewport). In the tutorial he’s opted to use a dedicated approach. He covers using global variables, creating a subdomain and all of the template work required. All of the project files are available for download so you can follow along.

Read the entire article from Garrett.

Posted on Jan 08, 2012 by Ryan Irelan

Filed Under: Mobile, ExpressionEngine 2

ExpressionEngine 2012 Wishlist Feedback

Yesterday I asked you for your wishes for ExpressionEngine in 2012. The feedback is mixed (keep it coming!) but there was more than one mention of easier upgrades and a one-click update process (like WordPress).

As is usually the case with software, I’m sure this is easier said than done but I agree that it needs to be done. I sincerely hope that this will be on the radar for the EllisLab development in the coming year (and hopefully before EE3).

Posted on Jan 07, 2012 by Ryan Irelan

Filed Under: Ask the Readers, EllisLab, ExpressionEngine 2

EE1 No Longer Included for New Licenses

Stefan Rechsteiner reminded me with his tweet that today, December 5th, is the day that EE1 is no longer offered as a license option when you buy ExpressionEngine. Almost 2 years to the day, EllisLab released the ExpressionEngine 2 Public beta. It is certainly due time to retire the old and focus solely on the new.

The blog post last month from EllisLab with the detail has all the information you’ll need. Including important bits:

If you absolutely must start projects on EE 1.x, please email sales and we’ll work out a solution for you.

Please note that if you already own ExpressionEngine 1.x, download access will not be affected by this change.

Of course, support isn’t gone immediately but it won’t be around forever:

Second, as of April 23rd 2012, ExpressionEngine 1.x will no longer be publicly supported. If you have mission critical projects that need support, we’re happy to continue supporting EE 1.x through private & enterprise support contracts.

Posted on Dec 05, 2011 by Ryan Irelan

Filed Under: EllisLab, ExpressionEngine 2

A Case for Custom Extension Hooks

Everyone’s favorite add-on developer with the last name Lewis, Stephen Lewis, says it’s important for add-on developers to include hooks in their add-ons to allow for custom extensions.

Not all feature requests are created equal. Some are extremely insightful and far-reaching, and improve the add-on in ways you never imagined. Most are narrow, case-specific, and don’t belong in the core product.

Extension hooks provide a means of dealing with the latter in a way that doesn’t adversely affect the core add-on.

He continues with an example of his Campaigner add-on and how allowing for custom extensions lets him, in his own words, abdicate responsibility, for special features or customizations that a developer might need for their project.

Solid advice.

Posted on Dec 01, 2011 by Ryan Irelan

Filed Under: Development Tools, EE Add-ons, ExpressionEngine 2

EE Reactor Team Code in EE 2.4

In an announcement on the ExpressionEngine blog, EllisLab CEO Leslie Camacho talked about the EE Reactor project and the people involved. Some of this was announced previously at the EECI conference last month in Brooklyn. Leslie also announced that the team already has code ready for an upcoming release of EE:

As of the time of publication, the EE Reactor Team has nine confirmed contributions scheduled for release in EE 2.4 (late January).

The team is focused on “code that makes life better for the EE dev community.” It’ll be interesting to see what they have planned. I suspect that the tweaks made are directly related to problems those developers have run into while working on client projects at their respective agencies or while writing add-ons.

Greg Ferrell, Leevi Graham, Brian Litzinger, Jack McDade, Erik Reagan and Rob Sanchez are all members of the team.

I look forward to seeing how this new experiment works out and hopefully I can get some of the members to share their experiences working on the team and code after the 2.4 release is out.

Posted on Nov 18, 2011 by Ryan Irelan

Filed Under: EE Reactor, ExpressionEngine 2

Using Snippets, Preload Replace Variables and the Parse Order

The king of the EE parse order, Low Schutte, has dazzled us once again with a great way to leverage the EE parse order to make your templates even more flexible and reusable than you thought possible. What do you get when take Snippets, Preload Replace Variables and the Parse Order? Super flexible templates that don’t have the overhead of embed templates. That’s what.

According to EE’s parse order, snippets are parsed first, before preload replace variables. These, in turn, are parsed before plugin and module tags, so both can be used as early parsed variables. This combination makes it possible to change the content of your snippet on a per template basis. Much like embeds and embed variables, but without the performance hit.

A series of Preload Replace Variables set your template values and then the snippet just uses those variables to pull in the right data. Read the entire blog post from Low (or, if you’re like me, read it twice) to get all of the details, including some sample code.

Very cool.

Posted on Nov 17, 2011 by Ryan Irelan

Filed Under: Development Tools, ExpressionEngine 2

EE 1 Support Ends Next Year

In a blog post, EllisLab CEO Leslie Camacho announced today that as of December 5, 2011 ExpressionEngine 1 will no longer be offered as part of the download when you purchase an EE license. Additionally, public support for EE 1 ends next April.

There was no mention if they’ll continue to update EE1 with any needed security releases.

Read the entire announcement.

Posted on Nov 09, 2011 by Ryan Irelan

Filed Under: EllisLab, ExpressionEngine 2

Learning ExpressionEngine Resources

Couchable put together a list of beginner EE resources, which includes dozens of links that will help you install ExpressionEngine and get started building your first site.

I’ve put together a collection of tutorials, books, articles and videos for ExpressionEngine newbies and novices. Smashing Magazine had a similar collection but it is now pretty dated being from 2008. I tried to find as many free examples as I could but ultimately I went with the resources I felt were the best, paid or otherwise. So this list will have some paid stuff but you can learn ExpressionEngine for free if you so choose.

Missing from the links is my free HD video on installing ExpressionEngine (also available on YouTube).

Great list and if you need help learning about ExpressionEngine, check out the weekly EE Help Chat.

Posted on Nov 01, 2011 by Ryan Irelan

Filed Under: Development Tools, ExpressionEngine 2, Training

EEsaver brings Treesaver to EE

Tim Murtaugh and Mike Pick at Monkey Do released EEsaver, a set of templates and instructions for getting started implementing the Treesaver framework on ExpressionEngine. Treesaver makes it easy to build magazine-like interfaces using standard HTML and CSS markup. From their EEsaver project page:

What we’ve put together is a free set of ExpressionEngine templates, plus instructions for configuring EE to make them work. Drop in some content and you’ve got the beginnings of your own cross-platform magazine.

Tim and Mike include some templates and complete instructions to help get you started using Treesaver on EE. They plan to offer premium Treesaver themes at some point but for now grab their free theme and see what you think!

Posted on Oct 20, 2011 by Ryan Irelan

Filed Under: Development Tools, ExpressionEngine 2

ExpressionEngine Videos Now in HD

ExpressionEngine training tutorial videos I first released my series of ExpressionEngine video tutorials in 2008. That was back before EE2 was released and even before the infamous “Summer of 2008” came and went.

Last year, I released an updated version of the videos, with a brand new example site, under my own Mijingo imprint and redid them for the ExpressionEngine 2.1 public release.

Today marks another milestone in the videos that helped countless people learn EE. This update to the series includes completely redone videos in HD size (1280x720) The larger sized videos will make it easier to watch them at fullscreen or on bigger screens.

The videos still only cost $48 for about 4 hours of training over 8 different videos. That’s a tremendous deal to quickly get up and running with EE.

Read the announcement at the Mijingo blog and if you haven’t tried the videos before, today is a great time to get started.

Posted on Oct 18, 2011 by Ryan Irelan

Filed Under: Development Tools, ExpressionEngine 2, Training

The Curse of Transparency

It’s sometimes called “Kennygate” but some who are paying attention know it as that time EllisLab got called to the mat, acted on it and is now paying the price.

For the uninitated, “Kennygate” started with a blog post on October 13, 2010 by Kenny Meyers wherein he laid out several complaints about and suggestions for EllisLab and ExpressionEngine. Most of them were valid points about ExpressionEngine 2 and how they communicated. I once described it as a “ranticle” because it was a rant and perhaps, in my personal view, a little more incendiary than was warranted.

In the end, it didn’t matter how I described it because the community responded and raised their digital hands and pixelated voices in agreement. The outcry from the community was only tamped down when EllisLab responded. Not only did they respond with a blog post but it triggered a series of decisions and announcements whereby they promised improved communication about ExpressionEngine bugs, releases and plans. You could hardly find anything wrong with this response. It was swift, decisive and came directly from Leslie Camacho, the CEO of EllisLab.

But that’s where it began.

Quietly Growing

I started using ExpressionEngine in early 2006, which is relatively recent compared to others who have been around since the pMachine days. My recollection of working on EE in my early days in the community was that EllisLab (then called pMachine) was notoriously quiet and private. Maybe this was just the company inherting what I see as EllisLab founder Rick Ellis’ personality: outside of the limelight and just interested in creating cool things that help people. EllisLab weren’t interested in bragging about what they created. They knew it was cool. Their users loved it. I loved it.

Feature for feature, it is tough to argue that ExpressionEngine wasn’t a giant leap forward for how people created and managed websites. In a time when blogging tools were surging, ExpressionEngine was the affordable CMS that could do more than just set up a blog. It was the prim and proper, powerful CMS that would help designers and developers out of the awful situation of having to cram a website into a buggy, unsecure blogging tool.

March 2008

In March 2008 at SXSW, EllisLab held a special session to demo and talk about their upcoming release: ExpressionEngine 2.0. It featured a complete rewrite of the code using the open source PHP framework CodeIgniter, a colorful new interface designed by Veerle Pieters and lots of eye candy. The group in attendance was excited (I was not at SXSW that year) and buzz online palpable. This was the big coming out party for a company and product that had always lived quietly in its own corner of the CMS world. I was excited, you were excited, the nerds were excited.

The release date for EE 2.0 was set at “Summer 2008.”

21 Months Later

One of the highlights of Kenny’s blog post for me was this part where he addressed the nearly 2 year delay in releasing EE2:

Stop licking your wounds over the EE2 release date fiasco. We get it. Nobody won. ExpressionEngine 2’s release caused a lot of internal and external strife.

That’s right. Nobody won. Not EllisLab and the staff, not the community, not the add-on developers, not the people writing (and rewriting) books and other training materials. That’s why this article isn’t about rehashing that particluar piece of ExpressionEngine history.

In December 2009, EllisLab released the EE2 public beta. This was the first time the public could purchase and get our hands on and use ExpressionEngine 2. Up until that time you had to be part of the private beta or developer preview, the latter of which started earlier in the year (in February or March, if I recall correctly).

EE2 beta wasn’t always pretty but it was a beta.: feature complete and in need of a lot of testing in the field. There were major bugs, some unnecessary use of jQuery effects and a lot of gnashing of teeth in the community over the Control Panel design.

The beta was far from perfect but it was released. That’s a huge milestone. Within days of its release there was a book available on ExpressionEngine 2 and some developers had already migrated their add-ons to work with the new release. It seemed like we turned a corner.

Two Point One

The following Summer, in July 2010, EllisLab released ExpressionEngine 2.1 as the first non-beta version of the software. It still had some issues, but again, it was an improvement and between then and this week—with the release of EE 2.3—ExpressionEngine has slowly gotten better and more reliable.

The response by the community to the EE 2.1 release was to embrace the new version and run with it. Quicker than I thought would happen, people stopped building sites in EE 1.x and moved to EE 2.1. EllisLab, did you notice that? I know you did. That’s a huge achievement.

Today we have EE 2.3, a thriving add-on community with more than 800 EE2 add-ons listed at Devot:ee and a bunch of community websites and services.

The Response

If A equals success, then the formula is A equals X plus Y and Z, with X being work, Y play, and Z keeping your mouth shut. –Albert Einstein

After “Kennygate,” Leslie Camacho responded with a blog post. He acknowleged Kenny’s post and talked about what they plan to do and the problems they’ve faced.

Historically its no secret that we’ve been bad at communicating with the Community during times of growth and the stress that goes with it. That’s precisely why I hired Leslie Doherty.

There’s no arguing (not even from EllisLab I’m sure) that ExpressionEngine 2 was a messy situation. But the community survived thanks to the relentless efforts of the EllisLab team. I don’t write that glibly or as a backhanded compliment. We ship websites. They built the software that let us ship those websites. Let’s not downplay or forget the difference.

The reaction by EllisLab—to somehow atone for their sins of shipping EE2 two years later than originally announced and communicating poorly along the way—was to open up and communicate more but, a lot of the time, overcommunicate. The overcommunication led to speaking freely about ideas that weren’t solid yet, talking off the cuff during podcasts and other public interviews (I’ve had several off the record conversations with EllisLab where project information was shared with me that was still in progress or still in the idea phase. I am not including those conversations as part of my analysis).

As part of an effort to be more open about what the team was working on, they took Kenny Meyer’s great suggestion to set up a status tracker, which listed the current work on EE2 and who was working on it. It was widely lauded and appreciated. Now we’d know if they were working on an oft requested feature or a particular annoying bug we’ve run into. It was our little window into their daily work on EE2.

But then they stopped updating it. It is stuck in an unclear time and lists people that no longer work at EllisLab. The problem isn’t that they stopped updating it, it’s that they create the tracker in the first place. I have never worked for EllisLab, so take this as pure speculation, but I don’t think it’s in their company culture to have public work trackers like that. Isn’t that okay? Yes, I think so.

This is the curse of transparency.

There was the time CCO James Mathias was chatting on the EE Podcast and took a completely inaccurate and inappropriate swipe at a popular ExpressionEngine add-on developer and add-on that undoubtedly made EE a better product. It came just after Pixel & Tonic released Assets, completely overshadowing the updated File Manager (which is now a solid feature in EE2). It came off very poorly but I would guess that the CCO was just trying to have a candid, frank conversation with his hosts.

I wrote extensively about the odd state of the announced yet unannounced EE Reactor project. In what was most likely a gesture of openness by tweeting progress and mentioning it in a blog post (see my posts for more information) it created genuine confusion. And now I’ve written twice about and helped publicize a project that might not ever happen or go past the experimental stage.

This is the curse of transparency.

EllisLab was very public about their hiring of a designer (which turned into hiring James Mathias as CCO). It was a much needed position for a company that didn’t employ a single designer. James is a great hire for EllisLab. In the blog post announcing James’ hiring, Leslie Camacho noted:

After a long in person interview in Seattle, he persuaded me to take the risk and bring him on in such a way that he’d have the authority and leeway to do what needs doing to make EllisLab a user experience focused company, something we started out being but drifted away from.

This note about refocusing EllisLab on UX was lost on most of the community (including myself until I reread the blog post while researching this article), because everyone thought James was coming in to fix the Control Panel issues. In fact, that was the focus initially and announced as such. As far as the community is concerned, the only new design we’ve seen is a community page for EllisLab, new forum badges and some other designs unrelated to the Control Panel. There have been some EE Control Panel tweaks but just not the overhaul that perhaps some expected.

This isn’t a bad thing at all. I’m not arguing that EllisLab is making wrong business moves. EllisLab has an internal agenda that fits their business and product goals. You can’t argue it should be anything except what they want it to be. But after “Kennygate” they’ve been giving the perception of being transparent about their plans and now the community expects it.

This is the curse of transparency.

A New Tack

Almost two thousand words later, we’re finally here. What is EllisLab to do today, right now to break the curse of transparency? This is total backseat CEO advice, but I’ve come this far, so why not go all ten toes in?

First, I’d like to see them go back to only talking about stuff that is solid and ready to launch. In his blog post Kenny Meyers wrote:

The Apple silence strategy works when you release high quality, excellent products that surprise everyone. You released ExpressionEngine 2 beta. Start talking.

EllisLab, go back to the Apple silence strategy. No, your products aren’t as beautiful as what Apple delivers. But few achieve that. In my personal projects, I rarely pre-announce anything. What happens is that excitement of announcing saps the energy to complete the project. Yes, annonucing is exciting but save it!

A favorite article of mine is Joel Spolsky’s Mouth Wide Shut. It opens like this:

When Apple releases a new product, they tend to surprise the heck out of people, even the devoted Apple-watchers who have spent the last few months riffling through garbage dumpsters at One Infinite Loop.

Microsoft, on the other hand, can’t stop talking about products that are mere glimmers in someone’s eye. Testers outside the company were using .NET for years before it finally shipped.

EllisLab, please announce products and services when they’re ready. Not when you think of them and not because you think announcing early will make the company seem like it communicates more. That’s just playing into the hands of the curse.

Being transparent about major bug fixes is, of course, important. And those active in the forums and the bug tracker know that EllisLab is responsive and transparent about bugs, bug fixes and when they will be rolled out into releases. You’ve even updated us on your release schedule so those people who maintain a lot of sites can plan and schedule updates.

As your customers that’s what you owe us. You don’t, however, owe us to expose your entire annual master plan 12 months before you want to see it come to fruition. If you ever feel like you did, I’m sorry. I think that sucks.

The secrecy and announcement of MojoMotor was a great example of not saying anything until it was ready. That was a great unveiling of a new product—despite the awkward timing with EE 2 still in beta—and it generated a ton of excitement.

If you do go radio silent on everything that is unfinished people will still complain. Yes, Twitter will be full of bitching and moaning and plenty of flapping jaws. That’s okay.

Stick with it. Show us your stuff when it’s polished and ready. I can’t wait to see what is coming next.

Posted on Oct 12, 2011 by Ryan Irelan

Filed Under: EllisLab, ExpressionEngine 2


Hosting by EngineHosting

ExpressionEngine Training Videos and Screencasts