ExpressionEngine 2.7.0 Released

22 comments

Today, we’re releasing ExpressionEngine 2.7.0 which includes several new features, improvements and stability updates. We’re also releasing MSM 2.1.6 with stability and compatibility updates. Here’s a look at some of the new things in ExpressionEngine 2.7.0.

Grid fieldtype

A few weeks ago, we shared ExpressionEngine’s latest fieldtype called Grid which allows authors to use grouped fieldtypes to publish any number of rows of related content within an entry. To see what Grid can do, the full documentation is now online.

Grid is already primed with ExpressionEngine’s existing native fieldtypes, and third-party add-on makers have been given early access to ExpressionEngine 2.7.0 to get Grid-ready, so look for announcements from the providers of your favorite add-ons or watch our blog post for updates on Grid-compatable add-ons. The documentation for fieldtype developers is now publicly available.

New Relic monitoring

New Relic is a service for monitoring application performance. We’ve added custom reporting to ExpressionEngine so site developers can see which requests are taking the longest and where bottlenecks exist. This information can let site developers know which templates may need optimizing or if there is a problematic add-on.

The best part is you needn’t install or configure anything extra. If the New Relic agent is running on the server, ExpressionEngine will take care of the rest.

Markdown parsing

We believe content should be portable and Markdown is a great way to achieve that. The goal of Markdown-formatted content is to keep the content as readable as possible without cluttering the content with markup or formatting instructions.

Using Markdown in ExpressionEngine is easy. Either select “Markdown” as the formatting option for your custom Channel field, or use the Markdown plugin to parse any text in a template:

{exp:markdown}
    {body}
    Other text to be 
**parsed**.
{/exp:markdown} 

SafeCracker is now Channel Form

SafeCracker was originally a third-party add-on acquired by EllisLab to improve ExpressionEngine’s Standalone Entry Form (SAEF). But as time goes on, it makes more sense to simplify and call it what it is. Now any references to SafeCracker have been replaced with Channel Form, and Channel Form settings are now in the Channel Administration menu.

Changing the name wasn’t the only thing we did; we’ve also made some under-the-hood improvements for stability. Oh and that SafeCracker File fieldtype? It’s been merged with ExpressionEngine’s native File field so there’s no more confusion there.

There’s more…

Here are a few more things of note you can expect to find in ExpressionEngine 2.7.0:

  • Added <, >, <=, and >= numeric comparison operators to the Channel Entries search parameter.
  • Added {current_query_string} global variable.
  • Added {entry_id} and {url_title} variables to the Channel Category Archive tag.
  • All files regardless of type are now linked for viewing in the File Manager.
  • Added GET support for Dynamic Parameters in Channel Entries tags.
  • New hooks for developers in category editing and custom field handling.
  • Fieldtype developers can now add validation routines to their field settings.

Go to the changelog to see a complete list of changes. ExpressionEngine 2.7.0 and MSM 2.1.6 are available in your download area.

Comments & Feedback

  1. Great news. Been waiting to see how the New Relic monitoring was integrated. Can you tell me where i can see the data? I’m testing on OSX and have NR installed and the data is showing in my NR dashboard, but I can’t see where the information is displayed inside the EE CP?

    Thank you. smile

    Picture of doubleplusgood

    doubleplusgood

  2. @doubleplusgood You’re welcome, hope you enjoy! New Relic data isn’t available inside the control panel, we think New Relic’s interface is best for that. ExpressionEngine and all its gathered stats should show up as a separate application in your New Relic dashboard. The integration we’ve done is more to separate stats by requested page so it’s easy to narrow down performance issues. We’re looking into other ways of usefully reporting data so you may see new metrics down the line.

    Picture of Kevin Cupp

    Kevin Cupp

  3. Oh I see. smile No worries, I can definitely see it all inside NR dashboard. It’s a new site setup so at the moment it’s just showing all the admin stuff inside Web transactions. smile Very interesting to use as you’re going around setting up new Channels and Fields and seeing things like /Admin_content/field_edit taking 54%. Heh.

    Picture of doubleplusgood

    doubleplusgood

  4. Markdown, great…! Think MultiMarkdown in the 2.8.0…

    Picture of JChris

    JChris

  5. * Removed the Corporate theme

    Bad move… Default Theme is awful.

    Picture of FiSt

    FiSt

  6. Markdown, great…! Think MultiMarkdown in the 2.8.0…

    MultiMarkdown is more about full documents and not individual content blocks, so I’m not sure we’ll be going that route. However, we are using PHP Markdown Extra so you get some of the same benefits like footnotes, tables, and definition lists.

    Picture of Wes Baker

    Wes Baker

  7. Yes! I’ve been waiting ages for this grid fieldtype, but the Markdown things is a bonus!

    Picture of Clive Portman

    Clive Portman

  8. Wait… does the grid fieldtype support related entries? I can’t see it in the docs.

    Picture of Clive Portman

    Clive Portman

  9. Wait… does the grid fieldtype support related entries? I can’t see it in the docs.

    Yes all of our existing native fieldtypes, including Relationships, work in Grid.

    Picture of Kevin Cupp

    Kevin Cupp

  10. Well thank you. Im starting to warm up again since things started to happen!

    PS. users needs to remove the SC-folder inside of 3rd party folder when going with upgrading since it is no longer a third party add-on wink
    Or am I wrong?

    Anyways, i think i see the light…

    Picture of Riverboy

    Riverboy

  11. During updates and upgrades, it’s actually best to rename the old system directory before uploading the new one rather than simply uploading the new system directory overtop the old one. (The same is true for the themes directory.) That way you’re assured your updated installation won’t have old files or directories (like SafeCracker File) scattered throughout. smile

    Picture of Kevin Smith

    Kevin Smith

  12. @Kevin, i know this. But in the docs is told that you have to restore the folder (3rd party). So if you dont delete the SC-folder inside of it, you run into error when accessing fieldtype section. (if i now anymore even remember right since i run into that error because restored my 3rd party folder without deleting the SC-folder in it.).

    Picture of Riverboy

    Riverboy

  13. That’s a good point, Riverboy. I’ll make sure there’s a note about SC File in the update docs as well.

    Picture of Kevin Smith

    Kevin Smith

  14. No Problem. If i find anything else, i let ya know!
    Cheers.

    Picture of Riverboy

    Riverboy

  15. The Markdown conversion, is it done when content is entered or done on every page load?

    Picture of eduqate

    eduqate

  16. Btw, when i some day in future upgrade my mission critical site, does the upgrade script do the needed work when it comes to SC -> channel:form?
    I have few SC’s there that has to work and can not be messep up cos they are very important for our team and also to users.
    Cheers

    Picture of Riverboy

    Riverboy

  17. The Markdown conversion, is it done when content is entered or done on every page load?

    It’s done on page load. The idea is the data stored in the database should remain portable with no markup or formatting instructions, so text formatting plugins are processed on page load. This allows you to easily change existing text formatting settings for a field later too.

    Btw, when i some day in future upgrade my mission critical site, does the upgrade script do the needed work when it comes to SC -> channel:form?

    Yes the updater will go through your existing templates and convert any exp:safecracker tag pairs to exp:channel:form tag pairs.

    Picture of Kevin Cupp

    Kevin Cupp

  18. 2.7 is delicious! And hooray for a ditching Safecracker in favor of Channel Forms.

    Picture of Leslie Camacho

    Leslie Camacho

  19. Can we convert the textarea and RTE fields right to markdown? Or is it dangerous for our sanity?

    Picture of Robson Sobral

    Robson Sobral

  20. Is it possible to add row ID visible in the actual entry form? Without knowing the ID, its a hassle to find out the id of the row you want to show, if needed. thanks.

    Picture of Riverboy

    Riverboy

  21. Looks great and am enjoying using it so far. Will definitely be migrating from Matrix. The only problem I’m having is using a Channel Form to populate my Grid Field. The docs are a bit vague on how to go about doing this. Currently I’m getting the following error when trying to achieve it.

    Message: Undefined offset: 0

    Filename: libraries/Grid_lib.php

    Are you able to provide an example of how to do this in either the Grid or the Channel Form docs?

    Picture of David_Leitch

    David_Leitch

  22. Can we convert the textarea and RTE fields right to markdown?

    Textareas should convert just fine, RTE fields may not convert as cleanly due to the extra markup stored.

    Is it possible to add row ID visible in the actual entry form?

    It is possible, we’ll take it into consideration.

    Looks great and am enjoying using it so far. Will definitely be migrating from Matrix. The only problem I’m having is using a Channel Form to populate my Grid Field. The docs are a bit vague on how to go about doing this.

    Thanks, David, and sorry you’re having trouble. You should be able to display the field with either the {field:grid_name} syntax or using the {custom_fields} loop as documented in the Channel Form docs. Either way, you shouldn’t be getting errors. Can you submit a support request or file a bug with steps to reproduce?

    Picture of Kevin Cupp

    Kevin Cupp

You must be logged in to comment on this blog post