This Week in devot:ee #4 - February 9, 2012
February 9, 2012
by Ryan Masuga
New add-on filters, template optimization, and more information in add-on lists.
We're still enjoying all the time we've been able to lavish on devot:ee lately. We made a number of things happen this week, so let's dive in.
Recently Rolled Out
New Filters: Page Views, Favorites, and Ratings
The devot:ee filter can now sort add-ons by page views. The count is currently the "all-time" count (and keep in mind our data only goes back to our August EE2 relaunch).
We're doing these filters in an interesting way, by storing the counts directly in the add-on entries, saving trips and queries to the third party tables to get this info. Every time a hit is recorded, or an item is favorited, or rated, or unfavorited, the respective add-on not only records the updated info in their own tables, but also stores these counts in custom fields directly in the add-on channel. This has helped us reduce queries on these list pages, which leads us to the next update:
More Information in Add-on Lists
Many moons ago we removed information from search results, tag results, and basically any page where there is an add-on listing because our performance on these pages was terrible. We've now added this info back in (and gave the faves and ratings color!) so it will be easier for you to make a decision about which add-ons you click on from search results, etc. You can now see review counts, favorites, and ratings on the add-on listing pages (search and tag results, filter area, etc.)
More Template Optimization
We deployed a couple updates that remove 4 to 6 embeds on every template sitewide. The homepage no longer has a single embed on it. We've switched to using Snippets where it made sense, and hardcoded other areas. We've also been removing Template Morsels in favor of CE Cache. Both do a fine job of caching content, but with our workflow, we prefer to use CE Cache.
We received a number of questions about why we're making these changes, or comments along the lines that embeds must be the devil or whatever, but the fact is: embeds are awesome...when you need them. We were definitely overusing them, which was hurting site performance. We only recently started using Snippets, which weren't available in EE1, so these changes are just a natural progression in allowing the site to use items native to newer version of ExpressionEngine.
Converted Ads from OpenX to isocket
We were invited into the isocket ad system, which has more responsive ad servers than the system we were using, and our template conversion is complete. Buying advertising on devot:ee will be more self-serve going forward. Existing advertisers will get a detailed email this month about the switch.
.htaccess Update to Force Removal of Trailing Slashes
We noticed we were seeing a lot of duplicate pages in Google Analytics. We found that just as many people would go to an add-on single entry page that ended with a slash as the version ending without a slash. EE2 is in favor of removing trailing slashes, so we updated out htaccess file to enforce the issue. This caused a few problems throughout the site, most notably in the support forums (still working out a few kinks there).
The Orders API was also affected. If you're trying to access the API with a URL that ends in a slash and it's not working for you, just remove the slash. We've updated the Example Usage section on the Orders API page to reflect this.
EE Garage recently relaunched. Congratulations to the fine team at Newism for making that happen. Maybe one fine day you will be able to purchase their products right here on devot:ee, but until then, well done, friends.
Newism also wrote an add-on called NSM devot:ee Stats to parse information from devot:ee. If you're a developer and want to show information about your add-ons on your site, you might want to check it out.
This Week in Add-ons
- HTML5 Fields ($, for EE2) by Toby Evans
This fieldtype adds html5 input types: text, url, email, number, range & tel; as well as the applicable attributes: placeholder, pattern, min/max/step, multiple, required, etc.
- Wufee ($, for EE2) by Chris Monnat
The simple way to connect your EE site with your Wufoo account.
- Authenticate (for EE2) by Objectivehtml
Authenticate brings proper member authentication into ExpressionEngine with inline error handling, removes the ugly redirect screens, and supports logging in with an e-mail address opposed to a username. Authenticate supports forgot password forms too.
- Safecracker Registration ($, for EE2) by Objectivehtml
Safecracker Registration brings member management into your Channels by extending the all-mighty Safecracker. Safecracker Registration is perfect for those sites that just need a simple member registration form, but need to use Channel Fields to store the data.