Faceted Navigation Techniques with John Henry Donovan
Commercial Add-on Development for Clients with Stephen Lewis
Parse Order with Lodewijk Schutte
Setting up the Optimal EE Configuration with Carl Crawley
Going Mobile with Jamie Pittock
There is still time to register for the conference (it only costs £99), to meet other members of the community and listen to the talks. Get all of the details at their website: EEUK Conference 201
Email Address(for EE2) by Pete Eveleigh This simple fieldtype ensures that data entered is in a valid email format.
NSM Categories(for EE2) by Leevi Graham (Newism) NSM Categories is a superior approach to filtering & rendering categories and entry tagdata. Features: Filter categories using category_id, category_group_id or channel parameters; Render category entries and display totals with the same flexibilty as {exp:channel:entries}; Nested category output with flexible tags and options; Cleaner templates without PHP enabled
JCO Entry Catcount(for EE2) by Jerome Coupe Want to only display something based on the number of categories that is assigned to a particular entry? This small plugin grabs that number and allows the use of it in conditional statements.
Obfuscatee(for EE2) by David Hyland A plugin for EE2 that returns a ROT-13 obfuscated string with Javascript decoding. Useful for creating email links.
Structify(for EE2) by Thanh Vuong When using the publish form, the structure tab displays a drop down box by default. Structify gives you a couple enhancements which serves as visual aids. This accessory requires you to have the Structure module installed in order to work. This accessory is only ideal for sites that have a very large Structure tree where the page load of Structure becomes a performance problem. This accessory makes it easier to create pages via Content > Publish.
NSM Publish Plus: Workflow(for EE2) by Leevi Graham (Newism) Do you have a website containing content that needs to stay up-to-date? Then you need automated email updates and entry workflow states. NSM Publish Plus: Workflow is the solution.
Zoo Visitor($, for EE2) by ExpressionEngine Zoo Total Member freedom, from forms to fields! Zoo Visitor gives you total control over your site members, allowing you to use any fieldtype to define their profile. The days of struggling with member registration, profile updates are over!
Comment Badge(for EE2) by Todd Perkins Comment Badge is a simple accessory that adds a badge to the top bar of the ExpressionEngine control panel to show you how many unmoderated comments you currently have.
Sassee(for EE2) by Wouter Vervloet (Baseworks) Sassee is a SASS/SCSS parser for ExpressionEngine. It parses the source files once and serves up the parsed file after that. If the source file is changed, Sassee will compare the dates and automatically parse it again if needed.
OSticket Integration($, for EE2) by w3care This Add-on will provide a seamless way to integrate your Expressionengine website with Osticket’s ticketing system. This Integration is based on a SOAP call for almost all functions osticket system has provided.
Scaffold($, for EE2) by iain Developer theme for the ExpressionEngine 2.0 Discussion Forum module.
IPGeo(for EE2) by Clive Zagno Provides geographical based on a users ip address
EE Donations($, for EE2) by Electric Function, Inc. (Brock Ferguson) Accept flexible donation payments on your site with any payment gateway including Authorize.net, PayPal, 2Checkout, SagePay, eWAY, and more. Donors can even create donation subscriptions which auto-recur each payment period, using the same billing engine as our Membrr addon.
Matt Weinberg filled EE Insider in on some more details. They ended up migrating thousands of entries (over 11,000 URLs) and really focused on making the site easy to use from an editorial perspective:
Editorially we’re giving them lots of control to be able to create the
gorgeous article pages that Jason Santa Maria designed, such as this:
Note the customized blue “highlight” color, chosen separately on each
feature; the divider stars that they don’t need to manually write HTML
for; the different styles and completely arbitrary/controlled by them
placement of pullquotes, without them having to deal with writing the
HTML.
Another great content site makes the move. Welcome, The Morning News.
Leevi Graham and folks at Newism released a public beta of their newest EE2 add-on: Publish Plus Workflow. Some of you may know Publish Plus from the EE1 version. For those that don’t, Publish Plus is a workflow tool to help automate content production (email updates, entry workflow states and more).
The original Publish Plus add-on did a lot and, at times, more than some scenarios required. Newism is taking a different approach by slowly porting Publish Plus to EE2 “in chunks.” Leevi wrote in an email to EE Insider:
Each chunk will be an independent addons which are focussed one or two functions. This is the first of such addons.
This is great news and hopefully will make using Publish Plus easier because I won’t have to install a giant add-on but instead only the parts I need. This public beta is for the first add-on (called “Workflow”) and hopefully there are some more on the horizon.
The features list from their site:
Set configuration options on a per channel basis
Use select template tags in your email notifications
Manage an entry’s state and next review date using the Workflow tab
Have your website tell you when content needs reviewing via a CRON job URL
Find the content that needs reviewing all in one place using the module’s dashboard
NSM Publish Plus: Workflow doesn’t affect your website database or template tag data
There’s a new wiki page to assist you in addressing issues when upgrading ExpressionEngine. It provides some troubleshooting tips with everything from server requirements to MySQL errors.
If you experience an upgrade error when upgrading ExpressionEngine from either EE 1 or EE 2 to the latest version of EE 2, this guide will help you walk through some troubleshooting techniques to get you back up and running.
The guide was put together by Kevin Smith and looks like a great resource. Perhaps it should be included in the official documentation. Either way, bookmark it!
Show Me My Assets!(for EE2) by Michael Rog Replaces the CP link to the default EE File Manager with a link to the Assets module’s awesome file browser.
OmniLog(for EE2) by Stephen Lewis (Experience Internet) System-wide message log, for use by ExpressionEngine add-on developers.
PS Languish(for EE2) by Patrick Stinnett Easy translation plugin that can be used for pulling data from a language file.
cpb Garnish(for EE2) by Curtis Blackwell cpb Garnish is an ExpressionEngine 2 plugin that allows you to control the case of text between its tag pairs.
Cat2(for EE2) by Mark Croxton Convert between category name, category id and category url title. Query results are cached, so you can use the same tag multiple times in your template without extra overhead.
News Bar($, for EE2) by Ahmedeng News bar is powerful extension for creating news bar ticker from channels entries automatically.and with simple plugin to display the news bar.
Multiplaya(for EE2) by Mark Croxton Extends the Playa module to allow retrieval of parent/child relationships for multiple entry ids. Specifically, you can add multiple entry ids to the entry_id parameter.
Social Login($, for EE2) by Yuri Salimovskiy (IntoEEtive) Social Login enables people to log in into your site using their account in social networks (Facebook, Twitter, LinkedIn etc.)
View the tip for the quick how-to, but here’s the payoff:
Now when you type the short alias (EE in my case) then space, add your query and it will search the EE Docs. Great way to save time while searching EE Docs, EE Forums, or whatever custom EE query you want to build.
Ron, I don’t think installing ExpressionEngine is all that difficult but I do agree that it could be made easier. In fact, I think the Drupal install experience is one EE could also learn from, if only for the sleeker UI and, as dumb as it sounds, the progress bar.
We are supporting it, but have no cause for further development at this point. Given the extensive support we’ve had to provide, we barely break even. When we have another project for which it requires further development then we will certainly do so; as a stand alone project it can not come close to justifying the kind of effort that you might expect from other add-on makers such as Brandon Kelly or Solspace. Our company is focused on client development, not selling modules.
Update: this isn’t really any different than what developers of many add-ons do, so Socialee isn’t an exception here. However, they do charge a premium for their add-on and some customers assume that means it will be updated. We regret the implication otherwise.
Social Login enables people to log in into your ExpressionEngine site using their account in social networks (Facebook, Twitter, LinkedIn etc.)
Currently only Twitter, Facebook and LinkedIn are supported. Other sites/providers can be added in the future on demand.
Yuri posted some more information on the add-on at his site and is apparently giving free copies to people in the Pro Network (clever idea)Update: the free copies was only during the beta, which is over.
So, Socialee goes the way of the add-on graveyard is no longer being developed, which is a concern for some people, but a new one rises to replace it. This, I believe, is what one would call an “active and vibrant development community.”
Update: See comments for clarification from Socialee developer.
The guys at Vector Media Group are top-notch and you’d be lucky to work with them on ExpressionEngine projects. You’re in luck because they’re hiring:
We’re looking for a full time front-end web developer to join our NYC team immediately. Your work will have a heavy emphasis on modern, standards-compliant HTML, CSS, and JavaScript (jQuery). ExpressionEngine knowledge is a bonus. Cool clients, free lunch, and a great working environment are just some of the benefits.
How much does an Expression Engine Developer cost?
It was followed by a concern that $100/hour was “ludicrous” and too much money.
I’m not going to begin a discussion about what an hourly rate should be. I have no idea. It depends on so many factors: location, cost of doing business, skill set, experience, desired income and more. There’s no right answer.
Consider this developer may have to pay for an office, accounting services, business related tools, health insurance (perhaps for a full family,) the list goes on.
[…]
Consider that not all hours in a day are billable.
[…]
Think of the average wage of your area, double that wage, and then add something like another 20% for profit and you will get an idea of what developers can cost.
Also don’t forget that freelance developers and other self-employed developers have to pay increased taxes (it varies with your state and city). I can only speak for the United States, but a freelance developer definitely has to pay a self employment tax. That, plus possible state income taxes (if applicable), can easily add up to 30-40% of their income. So, if they’re charging you $100 an hour they only get to keep $60-70 of that money and that’s before factoring in costs of running the business. As John mentions, there are many associated costs: health insurance, office space, hardware, accountant fees and business insurance to just name a few.
There’s a good thread going in the EE Forums (it gets hijacked by people showing their expertise of the Sherman Act) and I hope you’ll chime in with your feedback.
The other day on Twitter, Richard Young mentioned looking back at one of his first ExpressionEngine sites and being stunned by how he built it. He didn’t mince words about how he felt:
Just had to dive into the guts of one of my first #eecms builds. Holy. Shit. #youcantgoback
For those of us who build EE sites for clients, there are probably too many sites to remember but I’m certain we can all remember the first one we built.
Oh, Podcasting
My first EE site was not for a client but it was for a personal project. The project started during the heyday of podcasting (this when everyone was talking about making money at podcasting but no one was actually doing that unliketoday). It was the next big thing and with my longtime interest in audio recording, radio and talking, I thought I’d give it a shot. Because I did have some audio experience from college I started a podcasting how-to site (with tutorials and articles), with the unfortunate name of “Podcast Free America.” Before you criticize it too much, it was a play on the Radio Free Europe network. In hindsight, the name was definitely not the best, the concept confusing and the execution suboptimal. All that aside, it was my first ExpressionEngine site. So, there is that.
Please note: the site is no longer live and I let the domain registration lapse. If you go hunting for it you’ll be disappointed with links to male enhancement products. Or, who am I to judge, maybe you won’t be.
The Mistakes
So, you want to know what the mistakes were. Sure, why wouldn’t you?
First, it’s the mistake we’ve all made: treating channels (or “weblogs” as they were known back then) as a scarce commodity. For me it meant trying to cram too much different content into too few channels. I ended up with a site that was difficult to manage and a major task to improve and extend. I used to joke with people learning EE (and repeating the same mistakes I made) that EllisLab doesn’t charge you based on how many channels you use. They’re free! Use as many as makes sense.
The second mistake I made was similar to the first. It featured my expert ability at underusing the custom fields and field groups I created a single field group with every field I’d need for every channel of content on the site. “Huge mistake!”, you shout while sipping green tea from your ExpressionEngine mug. Oh, I agree. Coming from other CMSes and weblog tools at the time, I didn’t know any better. In fact, I think that’s the case for a lot of people even today. That’s why I get so much great feedback about my ExpressionEngine training videos: viewers are guided toward the lightbulb moment on how to use EE effectively.
Oh, but it gets uglier. After all of this, I wasn’t even very good at building out my templates. I used global variables where it would’ve been better to use an embed template and my templates were far from DRY (Don’t Repeat Yourself). To my credit, I did go back later on and break up the templates to reuse code. The poor template construction was influenced by the poor channel and custom field setup. It all snowballed into one giant mess of an implementation.
It’s no surprise that everything about that site was difficult to manage. It didn’t help that the site was a big flop (low traffic, no revenue, uninspired content). After letting it linger for a few years, I cut the line and ended the misery.
While my lack of skills in properly constructing an EE website wasn’t the only reason the site didn’t succeed, it certainly didn’t help that maintaining it was a chore.
I’m sure we’ve all made the same mistakes but what are some of your least impressive EE build choices?
A few days ago Rob Sanchez tweeted a screenshot that caught my eye – a hook called cp_menu_array that is hanging out in expressionengine/libraries/Menu.php like it’s nothing special. It was added in EE 2.1.5.
If you haven’t heard about the release of Assets from Pixel & Tonic, you might have been living under a rock for the last few days. That, or you’re not on Twitter, where Assets blew up the #eecms hashtag. It looks to be a very solid file manager, and has the attention to detail we’ve come to expect from P&T. It may be worth a look if you have a site that relies heavily on uploaded files or images.
Assets($, for EE2) by Pixel & Tonic (Brandon Kelly) At last, managing your files is just as powerful and elegant as managing the rest of your content in ExpressionEngine.
Strip Line Breaks(for EE2) by One Design Company Strip line breaks is a plugin that will remove line breaks in the text within the tag pair.
pMailer Contacts Export(for EE2) by Prefix Technologies Export ExpressionEngine members directly into your pMailer mailing list(s) with optional Double Opt-In feature
VZ Address(for EE2) by Eli Van Zoeren Combined address (street address/city/state/zip/country) fieldtype with various output options.
Google Weather(for EE1 & EE2) by Marcel Villerius Simple plugin that parses Google Weather information (city, current temperature, wind condition, etc).
pMailer Message Archive(for EE2) by Prefix Technologies Display deployed pMailer email newsletters on your ExpressionEngine website
ED Language Switcher(for EE2) by Erskine Design The ED Language Switcher allows site owners to set a default language, and limits allowed languages to a defined list. Users can select a preferred language that will be honored on future visits. Developers can use template tags to output default or user selected language.
pMailer Subscription Form(for EE2) by Prefix Technologies A subscription form for your website to automatically populate the inputted data into your existing pMailer mailing list(s). Includes optional Smart Forms.
EZ Link Icons($, for EE2) by Vim Interactive, Inc. EZ Link Icons adds icons to your website’s file and external links quickly and easily.
Which browser(for EE2) by Siblify A very basic plugin to return the name of a user’s web browser based on PHP’s HTTP_USER_AGENT variable.
In this video I walk through basic use of the module and field type to manage images in the Channel University website we build in my Learning ExpressionEngine 2 video tutorials.
As part of the EE 2.2 release, EllisLab updated their documentation to include instructions on removing index.php from the URL. This is significant because up to this point EllisLab never “officially supported” the widely-used (including on their own sites) technique of using mod_rewrite rules in an .htaccess file to remove the index.php file from the site URL.
The support is only “limited” and this most likely means that while they want you to know how to remove the index.php from your site URL, they can’t (and rightly so) help support every server configuration, host and web stack out there. That would be tough to manage.
There have been two reactions to this news.
Great news!
Excitement abound on Twitter that EllisLab finally support removing index.php. People are happy to see EllisLab embrace what everyone has already been doing. Finally, they approve!
Who cares?!
EllisLab is now acknowledging in their documentation something that they and everyone else building sites with ExpressionEngine have been doing for years. “Welcome to 7 years ago!” some might say.
And I agree, it does seem a little late to the party.
But there’s more…
As an experienced EE user and developer, no matter your reaction, this isn’t about you (or me).
What is exciting to me is that people new to ExpressionEngine can learn how to do this right from the official documentation. No longer do they have to look to the wiki (if they can even find the page) and then be concerned if it’s even safe. All of that is gone. It’s one small step toward making installing and setting up ExpressionEngine even easier. That’s something we can all support and celebrate.
Just when you thought the new File Manager in ExpressionEngine was going to rock your world. Pixel & Tonic begs to differ. Today they released Assets.
At last, managing your files is just as powerful and elegant as managing the rest of your content in ExpressionEngine.
I’ve had access to the add-on for a while now and it is extremely well done and exactly what we should expect from file management in ExpressionEngine.