This week is the final Weekly Devot:ee for 2010. What a year for ExpressionEngine add-ons! Thanks to all the developers for their hard work. We hope 2011 is much like 2010 in terms of new add-ons being made available all the time. It’s a wonder to behold.
Per a user suggestion, this week we implement a little something new: if an add-on is commercial, you’ll see a dollar sign symbol ‘$’ just before the EE1/EE2 info.
We hope you had a safe and enjoyable holiday season, and wish you all the best for 2011. Happy New Year!
Hon-ee Pot Captcha(for EE2) by Trevor Davis Honey pot captcha support for Freeform forms and comment forms. Validates to make sure that a field that is moved off of the page is left empty upon form submission.
MC XML Decode(for EE1) by Michael Cohen (ProImage) XML Decoding plugin. Converts entities into reserved XML characters. This plugin is the reverse of Rick Ellis’s XML Encoding plugin.
Edit Tab URLs($, for EE1) by Laisvunas This extension forms URLS of entries which will be used in Control Panel’s Edit section. Now clicking on “View” link in Edit section will display that entry rendered as it was intended. No more lame previews! The concept of this extension is similar to that of Entry Crumblink extension which displays a link on Edit page leading to the entry being edited.
Member Birthdays(for EE2) by Mike Roling Member birthdays is a simple EE2 only plugin that returns an unordered list of member screen names whose birthday falls on the current day.
Templates2Files(for EE1) by Vaya Design Templates2Files takes any templates that do not have the ‘save as file’ option set, creates the corresponding file and updates the database accordingly.
Stand-Alone Member Register($, for EE1 & EE2) by IntoEEtive (Yuriy Salimovskiy) Stand-alone Member Register module lets you display members registration form within your EE templates. Using it, you can give any look to your registration form, give it any URL address and use all power of EE tags.
Filter By Comments($, for EE1) by Laisvunas This extension allows you to filter by comments in Control Panel’s Edit Entries page. You can search for entries having comments or for entries without comments. Pagination and loading results by AJAX are supported.
Channel Ratings($, for EE2) by DevDemon Channel Ratings provides extremely accurate ability to rate and review ExpressionEngine entries. Now you can rate an entry on multiple levels and provide these detailed ratings or overall rating back per review. Channel Ratings finally bring full scale review, ratings, and like (helpful) functionality to ExpressionEngine 2.1+.
Smugmug(for EE2) by Marc Tanis Creates embed code for Smugmug galleries to post in your templates.
I don’t think it would be much of a stretch to say that 2010 was a huge year for ExpressionEngine. It wasn’t necessarily all good, but as a community we should be satisfied about where we are and hopeful to do better next year.
What follows is my take on 2010 in our community and my wishes for the next year.
ExpressionEngine 2 Beta (and beyond)
The year started off with the public beta of ExpressionEngine 2 in full swing after a early December 2009 release. After a long, long (long!) time in development, EE 2 was finally ready for the public. Or was it?
Anytime expectations are high there is bound to be letdown and the public beta of EE 2 was no exception. The software wasn’t as polished and bug-free as some came to expect from EllisLab; it was, after all, a beta. Many were still irritated about the whole thing taking so long. I was writing a book on EE 2 at the time, so I shared that frustration.
The public beta lasted until July of this year and throughout saw small, incremental improvements that added polish and some fine-tuning. The release of EE 2.1 in July was the launch of EE 2 and the first step into moving away from the old EE 1 software.
There has been a lot public handwringing about EE 2: the bugs, the pink control panel and the long delay. I can’t say I disagree with any of this but I do think the public complaining isn’t productive and makes the people whining look like, well, whiners. Do I love the new control panel design? No. Am I happy that EE 2 releases seems to always contain fairly major bugs? No. But I also want to support the company that has helped foster the small ecosystem in which we are able to work. Bitching on Twitter isn’t supporting anything except your own desire to be heard. Let’s use the new year as an opportunity to change this.
ExpressionEnigne 2 Wishlist for 2011
Bitching on your own website is similar, so let me try to be productive and make a wishlist for EE 2. This isn’t a complete list but just some of the more important items.
First, I’d like to see the Control Panel be continually streamlined and revised. Let’s do away with all of the unnecessary jQuery bling in the UI. It feels wrong and makes the Control Panel seems more complicated to use than it really is.
My second wish is for easier theming and that has been mostly addressed in a recent update called “cascading control panel themes” that allows you to only include the code you need in your theme files instead of the entire default theme with your changes.
Third, I’d like a simplification of add-ons. Let’s do away with all the different types and just call them add-ons. This also requires reducing the Control Panel interface to reflect the simplification. Erik Reagan has already made a feature request for this. EllisLab, please consider this!
As a fourth wish, I’d like to finally see enterprise support implemented. When you’re trying to sell a $300 CMS to a client for a project that has a large budget, eyebrows are raised. Price means something and so does the level of support. Posting to a public forum for support simply isn’t acceptable for a lot of people used to working with enterprise software. EllisLab needs to implement a private, ticket-based enterprise support system in 2011.
Some large bugs slipped through into EE 2.1 releases. It’s tough on people who upgrade immediately (tip: never upgrade immediately and never, ever do it on a live site) and each buggy release erodes away the trust we have that the software is stable.
Regression testing is a testing method that makes sure you didn’t introduce new bugs while fixing others or adding new features. I used to do software testing in a past life and I know firsthand that regression testing is time consuming and demanding; but it is also necessary.
Those are my top wishes for 2011. Now onto the rest of the year!
EECI 2010
This year there were two installments of EECI, the conference started last year by Whoooz! Webmedia. The first one of the year took place in San Francisco and the second back in Leiden, The Netherlands. After three conferences—and another one planned in 2011—the EE community now has a regular event to meet in person to share information.
The 2011 conference will take place in Brooklyn, NY. The conference website and final list of speakers will be posted after the new year.
Add-ons Volcano
One of the greatest side-effects of the new EE 2 is that we’ve seen a huge growth in the amount of add-ons that are available. So many of my add-on ideas have been done quicker than I could get to them. It’s a great problem to have! Coupled with coming of age of Devot:ee and their jump into the add-on resale business, it seems easier than ever to find the add-ons you need to get your project done on budget and on schedule.
Devot:ee is arguably the most important EE site on the web. Now, mind you, I say this on my own EE site; but as a person who also tries to serve a community, I know a good thing when I see it. Ryan Masuga and his sidekick Jacob Russell have created a wonderful one-stop add-on shop. The only big add-on developer still sitting on the sidelines is Solspace...I wonder when they will join in and make it easier for customers like me to get their add-ons while buying others.
EllisLab, Our Leaders
In 2010 EllisLab made a big push to include the community and its resources into their operations. At EECI in San Francisco, they announced official community partners, which included this humble news site and a few other resources. This means EE Insider news is streamed to the homepage of the EllisLab site and they work with us to make sure the community is aware of what’s coming and what to expect.
EllisLab also had a small breakthrough in communications this Fall. They were guests on the EE Podcast with me and Lea Alcantara to answer community questions in an attempt to be more transparent. I think that went well.
You can now follow what they’re working on their Forecast page. This will hopefully give everyone in the community a glimpse into the work the EllisLab development team is doing. Adding the Forecast page was a great response the community asking for more transparency.
First, I want to see even more communication between EllisLab and the community. What we’ve seen this Fall is a great start but there are still times when I feel like there’s a weird veil of corporatism being dropped between us. In my mind, this makes EllisLab look timid. There are more people now bravely basing a large part of their business on ExpressionEngine (myself, Brandon Kelly of Pixel & Tonic, Solspace, Ryan Masgua of devot:ee and hundreds of web agencies). I know almost everyone on the team personally and I can’t say that they’re timid people but as a whole the company feels like they’re leaning back instead of into the wind.
Second, EllisLab needs to advertise more (the participation in the Fusion Ads Bundle is a big first step) and get their name out into the same spaces as other similar products. It’s disheartening for me to see every other CMS advertised throughout the web but almost never ExpressionEngine.
This is especially important for businesses that rely on growth of the ExpressionEngine user base to grow their own EE-based products and services. If ExpressionEngine grows by 10,000 users one year, that’s 10,000 potential customers for my training materials or for Solspace’s add-ons. Additionally, the more ExpressionEngine users there are, the more ideas there are for add-ons and the more motivation there is for people to create top-notch add-ons with excellent support.
It’s been a great year to be in the EE community. That’s my review and my wishes for 2011. What are yours?
EE Insider news will be pretty limited between now and the new year. Ryan and I have agreed to keep an eye on the news, so if anything super-exciting happens over the break, we will most likely write about it. Apart from that, though, we are just going to spend some time with our families, sipping nog, wassailing, and whatnot.
On a personal note, the past three months of running the news desk has been a delight. I appreciate the warm welcome you have offered and wish you many good tidings for the holidays. Thank you all!
The third-annual Devot:ee AcademEE Awards have been handed out and a huge congrats from all of us at EE Insider to the winners!
Browsing through this list I’m so impressed with the quality of work that is coming out of the ExpressionEngine add-on community. I think back to when I started using EE just four or five years ago, and it feels like an entirely different era now. Sure, there were some great add-ons at the time, but they didn’t hold a candle to the level of stability, polish, and support that you see now. These developers deserve all the accolade they are getting, and I raise my glass to them! (It’s actually a mug of coffee. I’ve been up since 5:30am.) Cheers!
Tomorrow it will be beer o’clock in the office all day (at least mentally) so we’re giving you this week’s newest add-ons today. Happy Holidays to ExpressionEngine users everywhere from devot:ee!
Value Trimmer(for EE1) by Laisvunas This extension trims the values of entry, forum post and comment fields before saving them in the database.
Edit Comments Link(for EE1) by Laisvunas This extension displays above edit entry form the link pointing to edit comments form. Just click it to reach entry’s comments!
JG Breadcrumb(for EE2) by Jeroen Geusebroek JG Breadcrumb allows adding breadcrumb items for later use in the same or other template (embeds)
Edit Alarm(for EE2) by Thanh Vuong Similar to Edit Alert for EE1.x - This extension alerts authors when another author is editing a resource they are accessing.
EE Picasa Lite(for EE1 & EE2) by IntoEEtive (Yuriy Salimovskiy) EE-Picasa plugin enables you to integrate Picasa Web Albums within ExpressionEngine website. You can easily embed your complete Picasa gallery, album or certain picture in EE
Dynamo(for EE2) by Rob Sanchez (Barrett Newton) Makes Dynamic Parameters play nice with Pagination.
Category Bunch(for EE1) by Laisvunas This plugin allows you to output parent and child categories without iterating tagdata.
Category Group(for EE1) by Laisvunas This plugin allows you to output categories which belong to a certain category group without iterating tagdata.
There is also a great lots and lots of steps tutorial on Nettuts+ about how to do the same with CodeIgniter, but you have to admit Bjørn’s solution is pretty dang elegant.
The EE Help Chats taking a much-deserved rest until the new year. Imagine the two help chats on holiday vacation together, sipping hot chocolate, throwing snowballs and making ice sculptures together. It’s a beautiful thing.
The EE Help Chats will return, rested and ready for both helping and chatting, in the new year.
Just five days after 2.1.2 was out, we are now greeted with 2.1.3. It turns out that upgrading to EE 2.1.2 brought some pretty significant issues with the publish form for some people. Lisa posted a brief note about the update on the blog and of course you can consult the change log for details.
The error I saw the most reports of on the forums was about some sort of 500 error showing up on the publish form. If you’re experiencing that, or if you’re just running 2.1.2 at all, I highly recommend updating.
That being said, let me leave you with one public service announcement: Make sure you back up everything before doing these updates. Using version control of course is one of the best ways, but if you’re crazy enough not to use version control, at least make a full site backup before upgrading. This means the database too! I have my fingers crossed that 2.1.3 is going to fix the issues with 2.1.2, but nobody should ever do an upgrade like this without having a way to roll back to the previous version. Sure, it was EllisLab who dropped the ball in letting some bugs slip through their testing, but even when I’m 100% confident a piece of software has been extensively tested in environments just like mine, I still back up everything before doing upgrades.
EE Podcast #37 is up and Ryan Irelan is back hosting the show with Lea. They discuss the different methods and add-ons you can use to build navigation for your ExpressionEngine-powered website.
We have written about dynamic parameters before, but this new add-on from Rob Sanchez called Dynamo really caught our attention. Dynamo solves some problems with dynamic parameters that I’m sure have plagued many over time:
Until now, it was impossible to have your dynamic parameters persist when using pagination. To alleviate this, Dynamo takes your dynamic parameters and stores them in the database, and assigns a search_id, which can be used in to retrieve your filtered results, without having to perform another POST request with your parameters.
Deploying EE sites has always been a topic that generates some good discussion. Erik Reagan posted some of his thoughts on his blog about the topic. His deployment strategy is very similar to ours at Happy Cog so it definitely caught my interest. He does mention some great things they use Beanstalk’s deployment requests for that improve their process.
It’s a good read and should get your juices flowing for thinking about how you deploy and possible ways to improve it.
This week I’d like to draw your attention to the latest version of Socialee (1.2) from Shotwell Company, which is compatible with EE 2. With Socialee, you can accept registrations via Facebook, Twitter, Yahoo, Gmail, LinkedIn and more. Socially publish custom comments, entries, or any page to users’ status updates. You can also fill out profiles automatically with Facebook Connect. If you’re looking to add that Social Media Special Sauce to your site, you owe it to yourself to give this add-on a look.
Here is the list of new add-ons to come out over the past week:
Safe Harbor(for EE1) by Tom Jaeger (EE Harbor) Automated daily backups of your ExpressionEngine websites (Files & DB). Also includes the ability to create manual backups of your site on demand.
Kyara(for EE2) by Nicolas Bottari Kyara is an addon which performs small modification to your ExpressionEngine database to enable longer maximum characters in a number of control panel fields, such as entry title and custom field labels, changing database tables to specified collation/character sets, and backing up your database in an easy and flexible way.
Mornin(for EE2) by ThoseGeeks Depending on the server time, returns the string “morning”, “afternoon”, or “evening” into your template.
Static Fields(for EE1) by Media Cow Pre-populate static fields on your publish page
Hidee(for EE2) by Cem Meric Hide some stuff in ExpressionEngine 2’s control panel
Usability(for EE2) by Alex Kendrick Higher contrast, monospace text for input and textarea in the CP. Correct cursor type for clickable or draggable elements. Restores field re-order handles for NSM Morphine Theme.
Last Updated(for EE2) by Alex Kendrick A simple plugin that returns the edit date of the most recently updated template or channel entry. Accepts EE date variable formatting.
Mega Upload(for EE2) by DevDemon Mega Upload allows you to take a single field and upload files of any size to an ExpressionEngine entry. The field shows upload progress and does not require the entry to be submitted to upload.
Edit This(for EE2) by Thanh Vuong Similar to Editor for EE1.x. This extension adds a little ‘one click away’ edit link or image next to your channel entries on your website.
Current(for EE2) by Green Egg Media Creates {current_url}, {total_url_segments}, and {last_url_segment} global variables based on the current page.
The Fusion Ads network has put together what very well might be the most killer software bundle I’ve seen to date. Not only are there some really great apps for your Mac, but also a full freelancer license of ExpressionEngine. If that’s not enough, you get the entire Learning ExpressionEngine 2 screencast series by our very own Ryan Irelan.
The bundle costs just $79, so if all you care about is EE, it’s still a bargain. Heck, if you use a PC, and thus physically can’t even install the Mac software, you’re getting a deal—you still get some rad icons and the screencasts.
Anyway, I don’t normally get excited about the yearly deluge of software bundles, but this one caught my eye. I highly recommend checking it out.
This release marks the return of the autosave, completely revamped since we saw it last, as well as saying goodbye to those pesky daylight saving time issues and a much more theme-able control panel.
All of these sound like great things and I’m encouraged by the work that the team is doing getting these releases out. Are there any of these updates which are particularly exciting for you guys, or are you just so thrilled about ditching PHP4 support that you don’t care about anything else?
I feel like this is something I should have known about by now. Either that, or I knew about it all along and just forgot. Did you know that ExpressionEngine 2 has the handy ability to create a bookmarklet for you to quickly and easily get an entry started? Well Wouter Vervloet did, and he blogged about it in his post Rapid content entry in ExpressionEngine 2.
I just double-checked: It is indeed Wednesday today, which means it’s EE Help Chat day! EE Help Chats are a great way to spend an hour talking shop, getting help figuring out something you’re been working on, or just spending time with the ever-so-helpful EE Community.
In our standard style of Choose Your Own Adventure for help chats, you get two options:
European EE Help Chat
Our European EE Help Chat takes place at 19:00 GMT. If you follow @eeinsider on Twitter, you’ll find a reminder tweet about 15 minutes before. Visit this URL at the time of the chat to gain access to the room: https://mijingo.com/europe-chat
EE Help Chat
The original chat still takes place at the regular time of 9 PM Eastern at https://mijingo.com/go-chat. As with the other chat, we typically post a reminder on Twitter about 15 minutes before.
Nicolas Bottari wrote up a how-to on developing a way to have file uploads stored above the webroot. At first I thought “Why on earth would someone want to do that?” Then I started thinking there might be occasion when you would want people uploading something somewhat private that you never want to be able to be downloaded via the web browser. That would be clever.
He uses Solspace’s Freeform Module to pull it off, but he goes on to say that’s not the only way to pull this off. I recommend reading this and putting it in your toolbox of tricks for when this need arises. Great stuff!
Chris Brauckmuller at Nettuts+ wrote a great article about his approach to ExpressionEngine development called Apply the DRY Principle to Build Websites With ExpressionEngine 2. In it he shares a nice solid way to get a default ExpressionEngine installation set up and deployable across servers and groups of people.
His focus is, as you can expect, on not repeating tedious tasks:
I’m not a programmer. However, the programming mantra don’t repeat yourself, or the DRY principle for those acronym lovers among us, has really begun to resonate within me as I get more involved both with web development and running my own business.
Chris goes on to give a great tutorial, with code examples and everything, on using DRY principles in setting up your EE install. As we all know, there are lots of different approaches to EE installs, and for that reason alone I enjoy reading how people set up their systems. There’s always something to learn.
MX Stop Spammers(for EE2) by Max Lazar This module helps to find spammers easily by special member filters. Module also integrates with the Stop Forum Spam DB, so you can block a spammer automatically during registration, check members from your CP or post your own spammer’s list to SFS DB.
CE Benchmark(for EE2) by Causing Effect For developers to benchmark anything with {exp:…} tags.
JP Read Another(for EE2) by Joe Paravisini A fieldtype that shows the data of another fieldtype as read-only text.
NDG Masked Input(for EE2) by Nico De Gols Define a mask format for the field input, making sure the correct format has been entered with inline validation. A publish validation is added for fields that are marked as required. SafeCracker & Matrix Compatible.
Count Entries(for EE1) by Isaac Raway (Airways) Count entries authored by a given member in a given set of weblogs.
Will Hunting(for EE1 & EE2) by Isaac Raway (Airways) Provides a math template tag capable of performing relatively complex mathematical evaluations.
NSM .htaccess Generator(for EE2) by Leevi Graham (Newism) NSM .htaccess Generator is an extension that modifies your .htaccess file when an entry, page or template is created or updated. It was developed to easily remove index.php from URLs using the “include list method”.
Japanese kana typing(for EE2) by Nicolas Bottari A small extension that writes in romaji (roman letters) in the URL title as you type Japanese kana (hiragana and katakana) or zenkaku (full width) characters in the entry title field.
NSM Email Login(for EE2) by Leevi Graham (Newism) NSM Email Login is an ExpressionEngine 2 extension that allows members to login using their email or username.
Countee(for EE2) by David Dexter (dpdexter) Countee is an ExpressionEngine 2+ plugin that returns the number of channel entries for a member.
SP Random StrEEng(for EE2) by Steven Peercy Generates a random string using numbers 0-9 and upper and lower case letters A-Z.
Birthdatee(for EE2) by Zachary Lang This plugin provides a way to quickly calculate a member’s age based on the birthday info (month, date, and year) provided in the member registration process.