Published by Mijingo

All entries filed under “ExpressionEngine 2”

Updates on ExpressionEngine Conditionals

A couple of relevant updates for you on the changes with how ExpressionEngine 2.9+ handles conditionals.

Yesterday, I wrote:

Conditionals are parsed better, simple vs. advanced conditional is now a thing of the past, and there are some nice new operators; you can do simple math and more robust comparisons.

I was, admittedly, glossing over a big change in EE and one that impacts some third party developers. Fortunately, because of the Developer Preview Program all developers who participate had plenty of warning on this change. But it doesn’t mean that this will be a simple transition.

(A month ago, EllisLab wrote a good explanation of the changes to conditionals that is required reading for anyone working with EE.)

Already developers are posting updates for their add-ons to support the new conditional handling and they are trying to get the word out about how their add-ons are affected.

Low Schutte pondered:

As I wrote in last week’s Content Mgmt Outlook email:

The forever problem of moving forward versus not leaving people behind.

Low also wrote up some instructions on how to use his Low Search add-on going forward:

And Mark Croxton, the wizard behind Stash, tweeted:

Stash in 2.9 still works the same but Mark highlights an important workaround.

Mark also has an excellent explanation of the conditional parsing:

In 2.9 EE attempts to parse if/else conditionals before each pass and after the very last pass (or you can think of it as after each pass and before the very first pass), and will do so only if they are “ready” - the variables being evaluated actually exist. Previously, simple conditionals were parsed just before the first pass only, and advanced conditionals were parsed at the end of the very last pass only.

Some add-on updates may be backward incompatible (i.e. not support EE prior to 2.9), so always check the release notes before upgrading an add-on and not EE.

Posted on Jul 16, 2014 by Ryan Irelan

Filed Under: EE Add-ons, ExpressionEngine 2

ExpressionEngine 2.9 Released

The changes were enough that EllisLab bumped the version a full point release. ExpressionEngine 2.9, available today, includes an overhaul of the conditionals parser.

Conditionals are parsed better, simple vs. advanced conditional is now a thing of the past, and there are some nice new operators; you can do simple math and more robust comparisons.

A few other nuggets:

  • The hidden template indicator is now an underscore instead of a period.
  • A software license page in the control panel
  • Better Markdown support using Markdown Extra (yay Markdown!)
  • EE requires PHP 5.3.10 now

Read their blog post for all of the changes and, if you’re into that kind of thing, I’d also recommend perusing the changelog.

Posted on Jul 15, 2014 by Ryan Irelan

Filed Under: EllisLab, ExpressionEngine 2

ExpressionEngine Partials Talk Slides

John D. Wells posted the slides from his GeeUp talk called “Partials: A DRY template pattern. Now part of EE core.

That about says it all. John gives an informative walk-thru of how partials will help you. Even without seeing John give the talk, the slides are very helpful.

The addition of real layout support in EE is a huge step forward. No more hack arounds needed. And, layouts even support dynamic variables that you can set similar to embed variables. But better because it’s not embeds.

The update to my ExpressionEngine training course (coming out tomorrow) covers layouts and it was a joy to be able to teach that instead of the old embed way, which was easily abused at the expense of the performance of your website.

Page through John’s slides to learn more about layouts

Posted on Jul 07, 2014 by Ryan Irelan

Filed Under: Development Tools, ExpressionEngine 2

EE 2.8.1 Released: Fixes JS bug

On Friday EllisLab released EE 2.8.1, a minor update that fixes a JavaScript bug.

Even though installations without add-ons are likely unaffected, we are considering this a required update for all 2.8.0 users because of the impact it has on so many popular add-ons.

You don’t have to run through the full update process and the EllisLab blog post about the release details how to manually update.

Posted on Mar 16, 2014 by Ryan Irelan

Filed Under: EllisLab, ExpressionEngine 2

Full List of EE Config Overrides

A new addition to the EE documentation is this full list of System Configuration Overrides. The overrides–in the past documented in the wiki and other places–allow you to override default values or values set through the control panel and saved in the database right in your config file. This is handy if you need those values to differ between environments (local, dev, production).

From former EllisLab employee Kevin Smith:

Posted on Mar 16, 2014 by Ryan Irelan

Filed Under: Development Tools, ExpressionEngine 2

Solspace’s Software Compatibility Chart

From their blog post:

Because it seems to happen often enough that ExpressionEngine release cycles significantly affect third party add-on compatibility, we have created an EE compatibility chart on our site that displays a grid of EE support.

If you use Solspace add-ons, bookmark the compatibility chart and then refer to it before each EE upgrade you do.

Smart move by Solspace.

Posted on Mar 13, 2014 by Ryan Irelan

Filed Under: EE Add-ons, ExpressionEngine 2

ExpressionEngine 2.7.2 Released: Security and Stability

Today EllisLab released EE 2.7.2, which they note is a security and stability release and addresses a bag of bugs, including some work on the publish form and page.

Full changelog here.

Posted on Oct 08, 2013 by Ryan Irelan

Filed Under: ExpressionEngine 2

EllisLab Releases ExpressionEngine 2.7

Earlier this week EllisLab released ExpressionEngine 2.7, which includes the new Grid field type, New Relic support, Markdown parsing, and more.

There is already information posted about these additions to ExpressionEngine but here’s a quick recap.

Grid, a new field type that makes it simple to include tabular data in a single field, is essentially a native implementation of Pixel & Tonic’s Matrix add-on. I will leave it up to Pixel & Tonic and EllisLab to convince you which you should use (I personally prefer Matrix). It is encouraging that EllisLab is starting to add features and make the out-of-the-box experience of ExpressionEngine more complete for how people are using their software in 2013. However, the way they went about it wasn’t exactly ideal.

New Relic, a service that makes application performance monitoring services, also gets support in ExpressionEngine 2.7. In order to use this feature you do need a New Relic account. This is very much a nod in the direction of the upper scale enterprise market.

Markdown, my favorite way of writing text for the web (and how I’m writing this post), also gets some attention in EE 2.7. Previously, you had to use the excellent Smartdown add-on from Experience Internet but those add-ons have been set free and are no longer maintained or supported. Markdown is now a native formatting option so there’s no need to install another add-on to get that functionality. Very nice.

There’s more in EE 2.7, too. Read the entire blog post by EllisLab] to get the scoop.

So, should you upgrade now? Well, that’s tough to answer.

I always wait a bit before updating so I can let some bugs shake out. EllisLab’s releases have gotten a lot better compared to earlier releases of EE 2, however there could still be bugs in there that haven’t been caught. Be careful and always back up.

Over at Mijingo I am running ExpressionEngine but I try to keep slightly behind the current version because it’s ecommerce and, well, I’d rather not have a bug interrupt my customers’ ability to get the learning materials they need.

Evaluate your situation, carefully measure and assess the risk involved in upgrading and then make your choice.

Posted on Aug 30, 2013 by Ryan Irelan

Filed Under: EllisLab, ExpressionEngine 2

EllisLab Gives Closer Look at Grid

Back in June EllisLab lifted the curtain on Grid, a new field type that allows tabular data in a single field. Yes, this is what Pixel & Tonic’s Matrix does. The news of Grid was buried by the odd commentary in their blog post, but they’ve come back with more information.

Last week, EllisLab gave a closer look at Grid, including an example use (baseball player stats) and some code samples.

A Grid field can be configured with multiple columns, each capturing data with any of ExpressionEngine’s existing fieldtypes, including any Grid-compatible third-party fieldtypes. From there, each channel entry can have a dynamic number of rows in the Grid field to suit the needs of that particular entry.

Grid is currently part of the developer preview for EE 2.7 and distributed out to developers to test and adopt. I wrote this before but I expect to see 2.7 drop soon.

Posted on Aug 12, 2013 by Ryan Irelan

Filed Under: EE Add-ons, EE Fieldtypes, EllisLab, ExpressionEngine 2

New Developer Build for EE 2.7

It’s the second one, if I remember correctly, so that probably means we’re getting close to the public release.

I look forward to updating to the previous release.

Posted on Jul 25, 2013 by Ryan Irelan

Filed Under: ExpressionEngine 2

EE to Support New Relic

In an upcoming release ExpressionEngine will support New Relic, an application monitoring service.

New Relic gives you all sorts of juicy data about your website and web application (in this case it would be ExpressionEngine). It can also do PHP application monitoring and measure response time, throughput and other server information.

From the EllisLab blog post announcing the upcoming support:

ExpressionEngine will soon be bringing out-of-the-box compatibility with the popular application performance monitoring service New Relic. We’ve been using the service ourselves and find it incredibly useful and oftentimes enlightening. With no need to install a module or add any tags, ExpressionEngine will automatically detect if New Relic is enabled in your PHP environment and provide you with a wealth of useful information.

If you’re unfamiliar, New Relic gives you a look into all aspects of the full stack of your site’s performance, particularly at the transaction level.

Do you already use New Relic and want to give input into the features of the New Relic API that ExpressionEngine will support? EllisLab wants your input and feedback. See the blog post for more details.

Posted on Jul 01, 2013 by Ryan Irelan

Filed Under: Development Tools, EllisLab, ExpressionEngine 2

Reactions to Grid and EllisLab

Here are some reactions from Twitter to the EllisLab announcement about Grid and competition:

Have a reaction you want to share? Let me know or leave it in the comments.

Posted on Jun 28, 2013 by Ryan Irelan

Filed Under: EE Add-ons, EllisLab, ExpressionEngine 2

EllisLab Adds Grid Field Type

Today EllisLab announced that it is adding a Grid field type to ExpressionEngine:

Today’s developer preview for ExpressionEngine 2.7 includes a feature that was previously only available through the third-party add-on market: a fieldtype that allows authors to used grouped fieldtypes to publish any number of rows of related content within an entry. We’re calling it Grid, and it’s great for photo galleries, addresses, product details, baseball statistics and more.

More on the rest of their announcement and thinking later. I’m sure you have an opinion on it. We do, too.

Posted on Jun 28, 2013 by Ryan Irelan

Filed Under: EE Add-ons, EllisLab, ExpressionEngine 2

The Long Road to EE2

Coming off last week’s Engine Summit we’re already hearing chatter about the next big release of ExpressionEngine. For me, and this site, however, it’s been a long road to ExpressionEngine 2.

I originally built EE Insider in late 2008 and up until a month ago it was still running a 1.x flavor of ExpressionEngine. It was the last remaining site that I regularly interacted with that was running the old friend we all knew so well.

So, why did it take me so long to upgrade? I mean, goodness, it’s been almost 3 years since EE2 was released.

Here’s why I stayed on EE1:

  1. It was stable and worked perfectly for me at all times.
  2. I had add-ons in use that were not updated yet (back when I originally looked at upgrading)
  3. I had some functionality of the site that would require major re-working through an update. I didn’t see the investment as being worth it at the time.
  4. Did I mention it was stable and worked?

ExpressionEngine 1.6 and 1.7 were (and are) excellent releases. I depended on them over and over again for all sorts of sites. EE2 has certainly matured into a great CMS (I use it to power my e-commerce store) but there was the risk of disturbing something that works fine and gets the job done. I could still post content from MarsEdit, my guest authors could still log in and post their content (although they did comment how weird it was to see EE1). We could do the business of the site without any problems.

It didn’t take long for all of my add-ons to be updated (the most impressive part of the EE1 to EE2 move was how responsive and quick the add-on developers were) so that reason didn’t last very long.

Up until EE Insider moved to EE2 I had the EE Insider Tips section of the site where people could submit their own EE tips. This section, while starting strong, never took off and the interest wasn’t there to sustain it as a great catalog of EE tips and tricks. As time went on I turned off the ability to add new tips. Now you can’t even access the tips unless you come from a search engine (99% of the traffic) or from another link on the site.

For EE Insider Tips I was using a handful of add-ons to make the posting functionality work properly. I would have to decide it was worth the time to rework that section of the site that was performing so poorly. In the end I decided it wasn’t worth even having it running and I turned off the ability to submit new tips. Another reason not to upgrade wiped from the board.

After those reasons were no longer, well, reasons, I decided that I did need to update but was working on other projects that needed my attention more than upgrading software on a site that wasn’t broken. I also saw the pain and struggle that Ryan Masuga and the Devto:ee team went through when they upgraded their site. I didn’t want that pain. I don’t like pain.

But one big frustration I had was that I couldn’t try the latest and greatest add-ons from our prolific developer community. Sure, I could use them on other sites but there were add-ons I wanted to use right here on EE Insider.

A month ago Chris Imrie and Eric Lamb announced the Entry Analytics add-on. Eric writes for EE Insider and told me he wished he could see the analytics for his articles on the site. I broke it to him that EE Insider was still running ExpressionEngine 1. He encouraged me to upgrade. I told him I don’t have time.

But then I thought, hey, why the hell not? Why not branch the repository and test the update again? Sure, I’d have to kill some stuff on the site to make it happen but it would be a good time to prune the dead wood.

I went through and made a list of everything I needed to have and then completely disabled all add-ons. After the EE2 upgrade I looked at what was broken and then fixed only the stuff I needed. It was a liberating and refreshing exercise.

There was only one issue with the upgrade, which involved some entry content that contained single quotes being truncated during the migration. This could’ve been disastrous (and, frankly, it’s a little concerning that this could even happen) but fortunately I had a good backup and the ability to whip together a quick bit of SQL to migrate over just the truncated content from my backup.

The upgrade took less than two hours, including all prep, planning and backups. The content migration to fix broken content after the upgrade only took about an hour to determine the problem, test a fix and do the final migration. For a project I didn’t want to do it only took me about 3 hours to actually get it done. That’ll teach me.

Do I regret not upgrading earlier? I only have a few regrets over the last 38 years and none of them have to do with software. The time was right when I did it and it worked.

What’s next? With the big update out of the way, it’s time to shake the dust off the design and code and make them more modern.

Superfish Menus for the EE CP

There’s a new extension available that makes it possible to use the Superfish drop-down menu plugin in the ExpressionEngine control panel.

You should install it on your copy of EE and give it a shot. The main navigation in the control panel no longer needs a click to open and Superfish includes hoverIntent functionality so the menus only open when they should.

Here’s a quick look at the normal EE menus vs the Superfish menus. EE menus are first. Take a look:

Posted on May 07, 2013 by Ryan Irelan

Filed Under: EE Add-ons, EE Extensions, ExpressionEngine 2