Blog Entry

Somehow I missed writing a post last week, which has never happened before. Might have been due to the birth of my baby boy, and the subsequent lack of sleep. Looks like some new developers have gotten into the mix while I was on Diaper Duty. We love to see new developers throw their hats in the ring!
The big news this week is the release of Adman, a native ad banner manager for ExpressionEngine by the talented Carl Crawley (Made by Hippo). If your site already has ads, or you want to offer ads on your site, this might be a great alternative to the often confusing and seemingly overly complex ad solutions that are out there.
- Reevision (for EE2) by GDmac
Simple fieldtype that increments every time an entry is saved. Useful as revision counter for iCal.
- Adman ($, for EE2) by Carl Crawley (Made by Hippo Ltd.)
With AdMan, you can schedule your ads, set automated expiry dates, track impressions and clicks, obtain individual and collective CPC (cost-per-click) and CTR (click-thru-rate), define ad sort orders or random display as well as define ad groupings that can be integrated into your existing Google Analytics or website tracking software. Fully self-contained tracking and reporting system direct within your EE Control Panel
- Secure Ajax Forms (for EE2) by Visible
This simple plugin allows users to utilize EE’s embedded security-enabled forms via an AJAX interface.
- Etsur Entigy (for EE2) by Etsur
This plugin allows you to grab templates and template groups that are assigned to an entry via the structure module.
- Gooee (for EE2) by Brett DeWoody
Gooee allows you to bind your entries together with a snippet of text. The text can be anything your heart desires; an image, some HTML, text, etc. This is useful if you want to display something BETWEEN your entries, but not after the last entry in the loop.
- Disposition (for EE2) by Brian Litzinger
Disposition adds sorting capabilities to the edit list page by altering the entry_date for each entry in the list.
- htaccess Maker (for EE2) by IntoEEtive (Yuriy Salimovskiy)
.htaccess maker can be used to create an .htaccess file out of a regular EE template. Use all the power of ExpressionEngine templates to create the rules that you want - and you no longer need to update files manually.
- Category ID to URL (for EE1) by Jim Doodle
This plugin will return a category URL when given a category ID. Handy when you have a parent_id from a category but no category URL.
- VWM Polls (for EE2) by Victor Michnowicz
VWM Polls is a free ExpressionEngine 2 module and fieldtype. It requires PHP 5.2 or higher.
- Zoo Triggers ($, for EE2) by ExpressionEngine Zoo
No more fiddling around and wasting time trying to get categories and archives to play nice with your Structure setup. Zoo Triggers is the add-on that fills the gap between Structure and ‘categories and archives’. Within seconds you have ‘category and archive’ functionality on your base Structure install.
- AC Categories (for EE2) by Alpen Consulting
This plug-in allows you to access category information in various ways like breadcrumbs, trees and lists, and independent of the channel module.
- Heelp! (for EE2) by Trevor Davis
Provide channel specific help on the publish pages.
- Check Member Permissions (for EE2) by IntoEEtive (Yuriy Salimovskiy)
The plugin lets you perform check in ExpressionEngine templates for the permissions a member has based on the group they belong to.
Blog Entry
Over at the Erskine Labs blog, Jamie Pittock walked through the building of his language switcher extension. His extension needed to allow a default language, limit the number of languages, allow users to set a preferred language that will be remembered on subsequent visits and a way to display or access the language choice in the EE templates.
He came up with a language switcher add-on (freely available on Github) that does just that. Jamie paired his add-on with NSM Multi Language to make it easy to input content in multiple languages.
Read Jamie’s write-up: EE2 language switcher extension at Erskine Labs.
Blog Entry
If you’ve tried to use the Twitter API to display tweets on a website, you probably have come across a situation where tweets just didn’t display, especially if the Twitter account wasn’t regularly updated.
Solspace ran into this same problem:
Pretty quickly we learned that depending on Twitter’s search API creates a fragile system. The API limits requests per IP. If you are on a shared server then you may be sharing this limit. Additionally, Twitter’s API changes occasionally. These issues can potentially leave an empty spot on our site or even a page that won’t load. I’ve seen a situation on a client site where the client was displaying their own tweets, but they tweeted infrequently and the search API wouldn’t pull their older content, sometimes leaving the space on their site devoted to tweets empty.
and created a workaround by importing the tweets into the EE database. To follow along their tutorial you’ll need the Twitter Timeline plugin (free from EllisLab) and the Solspace Importer ($79).
The process is simple enough: create an XML feed using Twitter Timeline and then pull that in using the Importer module. You can also use DataGrab, if you prefer that add-on.
Read their tutorial: Importing Tweets Into ExpressionEngine for Reliability and Control
Blog Entry
Earlier this month I noted that AdMan, a new “fully integrated banner ad management system for ExpressionEngine” was in private beta. Well, it’s now available to everyone.
The add-on (module and extension) costs $75 and boasts the following functionality (just a selection I gleaned from their website):
- ad scheduling
- automated expiry dates
- impression and click tracking
- CPC and CTR
- multiple ads per page
I use OpenX for ads for this site, so I’d be interested to see how it matches up.
Learn more: AdMan for ExpressionEngine 2
Blog Entry
If you’re old like Ryan Masuga, you’ve probably used Leevi Graham’s original Twitter add-on that allowed you to easily post to Twitter from inside the Control Panel.
Today Leevi and Newsim released a brand new version of the add-on for EE2: NSM Twitter.
NSM Twitter is an oAuth authenticated ExpressionEngine addon that allows you to post Tweets to one or more Twitter accounts when an entry is modified or from a handy accessory.
The add-on is customizable to control which member groups are allowed to access it. Learn more NSM Twitter at the EE Garage website.
Blog Entry
Tickets are now on sale for CICON 2011 in New York City. The conference is the place to meet up with other CodeIgniter developers.
The two-day mixture of masterclasses and talks will give you a great chance to meet fellow CodeIgniter developers, listen to talks from some of the well known CodeIgniter bloggers and Reactor Engineers and learn new skills in our masterclasses which cater for beginners and advanced users alike.
Topics range from “Writing Friendly Libraries” to a crash course in the Redis caching system. If you’re an ExpressionEngine add-on developer who wants to learn more about CodeIgniter, this conference should be perfect for you.
Learn more: CICON 2011
Blog Entry
This is a on-going series of entries where I highlight EE experiences.
The notification dropdown in #eecms 2.x is nice, but I don’t think I need to be informed that I just created a new template group.
Deron Sizemore via Twitter
The notifications in EE2 are a nice addition but I agree that they need a little tweaking. I feel like they’ve improved since the original release but I don’t know that any work has been done on them.
Blog Entry
Last week I wrote my opinion on the recent EE2 release issues and recommended that those who are gun shy to wait until upgrading.
Some readers shared their thoughts but I want to ask everyone: do you upgrade to each new build or release immediately or wait?
Share you thoughts and experience upgrading in the comments.
Blog Entry
Mike Boyink wrote up his thoughts on the Train-ee EE developer class that Erik Reagan taught earlier this month in Phoenix, AZ. Mike sat in on the class and came away with this:
One of the things I’ve always liked about working with ExpressionEngine is that I don’t ever feel like I’m done learning it. New addons aside, there are always interesting new ways to string together it’s native functionality to either solve new puzzles or better solve old puzzles.
But in my years with EE I’ve played mostly at the EE template level, only once in a while looking at ways to tweak addons to do what I needed. I was probably bringing up the rear of the short-bus in terms of existing PHP skills to build on, but after taking this class I have a much better understanding of the various files that comprise addons and the courage & direction to start poking around in them to tweak & learn more. I will also be much more confident in being able to scope out and specify custom addons for client projects.
Overall though? I came away with a newfound respect for the EE developer community. I’ve been in and around the software and web world for over 15 years now and am ever amazed at the skillz you folks have.
Read Mike’s entire write-up on the class: A Student, A Host, A Business Owner
Blog Entry
Some developers have gathered in the forum to promote their cause of bringing back two important add-on hooks in EE2. These hooks are available in EE1 but never made it over into the newest version.
These hooks allow developers to alter, for example, the Edit screen where entries are listed. If you feel strongly about this, too, you might want to chime in. No one from EllisLab has joined the thread but maybe they can shed light on why the hooks are missing.
Forum thread: Please add the edit_entries_modify_tableheader and edit_entries_modify_tablerow hooks to 2.x
Blog Entry
Tony Geer walks you through how to implement the Disqus commenting system on your ExpressionEngine site.
Disqus is a service that allows you to easily and quickly add comments to your site that include ratings, threading and sorting. But the real gem is that in addition to allowing users to enter their names and email addresses to comment, they can also log in with popular social networking site accounts like Facebook and Twitter, as well as Google, OpenID and Yahoo accounts, and it’s all controlled by a powerful and beautiful user interface.
I haven’t used Disqus before but it has become very, very popular. Even the EllisLab blog is running it now.
Anyone else out there use it on EE? If so, what’s the advantage of using it over the native EE comment module?
Read Tony’s how-to: Integrating Disqus with ExpressionEngine
Instructional Video
The perfect companion to your Playa add-on, this video covers all of the basic information you need to know to get smart about creating relationships between entries in ExpressionEngine.
Sit back and watch as we enhance the Channel University website to include a course listing and a faculty directory. We will link courses and faculty together using related entries and the Playa add-on from Pixel & Tonic.
This 35 minute training video is a starter guide to using Playa.
Get the Video
Blog Entry
Last Thursday EllisLab posted security and maintenance builds of ExpressionEngine 2.13, 2.14 beta and 1.71. All releases included important security patches and bug fixes, so it’s not surprising that many people upgraded quickly.
If you’ve spent any time in the forums you know that the first thing the support folks will do is make sure you’re running the latest version. Always being up-to-date has been pounded into the collective brain of the community (even EngineHosting’s Acceptable Use Policy requires you to run the latest stable version) and rightly so; staying up-to-date with EE releases is a good strategy…
...except when it’s not.
Four days later:
Well, we really blew the “last of the old EllisLab releases,” aka the April 7th ExpressionEngine 2 release (2.1.3 and 2.1.4 Beta 20110406 builds). As the Product Owner of ExpressionEngine and on behalf of our entire team, I’m sorry this got into the wild and is causing problems for you. Its a great example of why we’ve changed our entire release process.
I know a lot of people on Twitter and in the forums have been up in arms about this. If my site was broken because of a botched release I’d be upset, too. And ever since the public release of EE2 last Summer it seems like a lot of releases have had problems. I say it seems like because I looked back at the releases and that really isn’t the case at all.
For me, there are two takeaways from this situation. First, doing software releases isn’t easy. The team at EllisLab are, Derek Jones notwithstanding, human. They make mistakes and then fix them. Is it frustrating? Yes.
Second, you can protect yourself. This is definitely against the official advice of EllisLab but I would advise everyone to do what I do with all new software releases (especially for mission critical apps): WAIT. Don’t upgrade right away. Give it a few days or a week until the any potential issues shake out.
If you do upgrade, do it on a development server, locally or in a different branch of your version control repository. As customers we should expect EllisLab to provide reliable software releases but there is no automatic update feature in EE so ultimately we are the last line of defense. Take advantage of that.
Blog Entry
All versions of ExpressionEngine have an important security and bug fix release, per a blog post from Robin Sowell:
Updates for all versions of ExpressionEngine have been released today in order to incorporate several security improvements and critical bug fixes. No sites are known to have been affected by the security issues, all of which are obscure. However, it is a possibility, and therefore this update is recommended for all users.
Log in to your ExpressionEngine.com account to access the updated downloads and be sure to closely follow the update instructions in the documentation (including the part about backing up your site files and database)!
Robin also mentioned at the end of her post that there are changes coming with how they do the releases. I’m interested in what this is but according to Robin we will have to wait for Leslie Camacho or Derek Jones to share more.
Blog Entry
EllisLab is currently hiring for two positions. First, it’s for a designer/ux position to help them improve their product interfaces:
Your primary job will be to make people smile when they use any EllisLab application, starting with our flagship web publishing platform ExpressionEngine, by owning the UI and user experience. You will make this your baby. Your baby will delight people and they will be impressed that your baby, though only 2, speaks seven languages fluently and can do advanced algebra. But, more importantly, your baby will make their lives easier and happier. Just seeing your baby will make people smarter and quite possibly better looking.
The position doesn’t require relocation so it’s great for someone who likes to work from home. They’ve already received a lot of applications, so it looks like they have a lot from which to choose! Still plenty of time to apply if you think you’re the right person for the job.
Learn more about how to apply for the designer position: Designer/UI/UX Lead, A Practitioner of Visual Delight
In addition to a designer, EllisLab is also hiring a new technical support specialist. It’s a part-time gig and pays part-time wages but great for someone looking to help other ExpressionEngine users and make a little extra money on the side.
Learn more about the position: We’re hiring: Technical Support Specialist
Blog Entry
Currently in private beta and touted as a “fully integrated banner ad management system for ExpressionEngine 2,” AdMan by Made by Hippo definitely looks interesting. I hope to get a look at it soon.
I use the popular OpenX for this site and while it is cumbersome to use, it does support all of the advertising world requirements for reporting and campaign runs.
Here’s the pitch from AdMan:
No longer will you need to rely on third party delivery systems for your site banner ads.
With AdMan, you can schedule your ads, set automated expiry dates, track impressions and clicks, obtain individual and collective CPC (cost-per-click) and CTR (click-thru-rate), define ad sort orders or random display as well as define ad groupings that can be integrated into your existing Google Analytics or website tracking software. Fully self-contained tracking and reporting system direct within your EE Control Panel.
Great domain name, too!
Blog Entry
Jamie Rumbelow posted the first part of a series he’s doing on covering the finer details of the ExpressionEngine 2 config file.
Configuring ExpressionEngine is a black art; the layout of configuration values in the control panel isn’t particularly well thought out. Some values are on one page, others are on a different page, and the whole thing needs much more logical grouping.
Additionally, storing configuration in the database has its own set of downfalls: deploying sites is a real pain because DB values need to be updated and some of them are even encoded in the database. Accessing and modifying them quickly becomes cumbersome.
Thankfully, EE can be configured through an alternative method. You can override pretty much any configuration value in ExpressionEngine in the expressionengine/config/config.php file.
A nice walk-thru of a simplified and cleaner config file. Another great how-to on this is Matt Weinberg’s multi-server config setup for ExpressionEngine 2.
Read Jamie’s full write-up: Getting to know ExpressionEngine 2’s config file - Part 1
Blog Entry

- Sitemap Pinger ($, for EE2) by IntoEEtive (Yuriy Salimovskiy)
Sitemap Pinger is an extension that allows you to notify major search engines about your updated sitemap each time new entry is created.
- Page History (for EE2) by David Hyland
Returns the last pages visited by the user, from the current page to up to 5 pages ago. Useful for a proper “back to page” link rather than using javascript.
- Category Parents (for EE2) by IntoEEtive (Yuriy Salimovskiy)
This plugin lets you fetch info about parents of given category (direct parent and root).
- Upload Rights ($, for EE1) by Laisvunas
Allows to assign the rights to upload files to server directories and subdirectories to member groups and to individual members. For use together with Subdir Upload fieldtype.
- Time Select (for EE2) by Derek Hogue (Amphibian Design)
Time Select is an EE2 fieldtype that offers a configurable dropdown menu of times - perfect for use in an events channel.
Blog Entry
Announced earlier today on Twitter, EECI has made available some of the videos from EECI 2009 and EECI 2010 in San Francisco.
Lots of great presentations there, including one of my favorites: Matt Weinberg on e-commerce and ExpressionEngine.
Blog Entry
This is a on-going series of entries where I highlight EE experiences.
EE2 user feedback: visibility of error/success messages in the #eecms CP is too low. No complaint about the CP design, though
Jérôme Coupé via Twitter
I couldn’t agree more. I don’t like messages that disrupt my workflow but the EE2 messages seem too subtle, especially when there’s a problem with a file upload.