Published by Mijingo

All entries posted in 2008

Solspace releases User Module 2.0

If you’ve ever tried to create user account pages inside of normal EE templates, then you have most like come across or used the User Module from Solspace.

In an anticipated (by me, at least) update, Solspace has released 2.0 of the popular module.

So, what’s new in 2.0? Well, there is a very long list in the Release Notes, but some highlights (taken from the Release Notes) are:

  • Added User:Forgot_Username function, which allows members to have their username emailed to them.
  • Added allowed_groups=“” parameter to User:Register and User:Edit forms allowing one to specify which groups a member can be a part of.
  • Added ability to send Welcome Email based on a template in the User’s CP Preference when a registration is complete.  Available variables are:  {site_name}, {site_url}, {screen_name}, {email}, {username}, {member_id}
  • Added User:Delete_Form function for deleting accounts.

And that’s just a sampling! Check out the release notes for all of the changes.

The User Module is morphing into a very powerful tool for creating user-focused websites with ExpressionEngine. When I built Clinician1.com (details here and here), the User Module was integral in making sure we could easily allow the registered users to manage all facets of their account.

This is a great update from Solspace and if you’ve already purchased the module, it’s a free update.

Posted on Dec 30, 2008 by Ryan Irelan

Filed Under: EE Modules,

EE Gets Smart About Managing High Traffic

Those of us that have built high traffic websites on ExpressionEngine know that you can’t just build the site, put it up on a server and hope it doesn’t buckle under the crush of visitors. All of us, I assume, implement some kind of caching in EE along with lean templates, as a way to keep the site nimble and quick. Well, we now have another tool at our disposal.

In the latest EE build, Ellis Lab has included a new feature: Tracking Preferences.  There are four preferences for disabling some of the tracking that EE does on every page load: Online User Tracking, Template Hit Tracking, Weblog Entry View tracking and Referrer Tracking.

Derek Jones from Ellis Lab explains why these new preferences are so important:

MySQL’s default storage engine (MyISAM) is designed for efficiency with reading, which is good since ExpressionEngine is a read-heavy application in terms of database usage, not write-heavy.  When writes are made to tables with the MyISAM storage engine, it must establish a lock on the entire table for the write to occur.  ExpressionEngine has a few things that it tracks to provide bits of information to the site owner.  How many times a template has been accessed.  How many users are currently online.  Where inbound links are coming from.  How many times a particular entry has been viewed.  On high traffic sites, or under extreme and unusual traffic events (i.e. Digg), these normally innocuous bits of tracking suddenly become a problem, as you have thousands of visitors hitting the site simultaneously, and for each one of those visitors, MySQL is locking the associated table to try to write to it.  Before you know it, there’s a queue of table locks and MySQL just can’t keep up.

Unless you need these tracking features, you should disable them. You will save one query per feature disabled per page load. And while that doesn’t sound like a lot, multiply those queries times a large surge in traffic and it could mean the difference between a site that is up and one that crashes and burns. I’m pretty sure we’ve all had sites that have crashed and burned.

In my day-to-day use of EE, I’ve never used Template Hit Tracking or had a client use it, so it will be the first thing I disable on every project. I will also disable Referrer Tracking (although I’m guessing just uninstalling the module will have the same effect) since I and my clients normally use a third party website statistics system.

Posted on Dec 16, 2008 by Ryan Irelan

Filed Under: ExpressionEngine Features, Site Performance,

Happy Cog Spills the Beans on Their Latest EE Site

You might not know this, but some well-known agencies use ExpressionEngine to power their client sites. Perhaps one of the best known among what I call the “standards aware” group of web designers and developers is Happy Cog (Philadelphia).

In a recent ExpressionEngine showcase, Happy Cog’s President Greg Hoy talks about their work on the Housing Works website. The article is rich with technical information and an insiders look into how the site was built. One bit that stood out for me is the useful add-on developed (by prolific add-on developer and Happy Cog EE Expert Mark Huot) for the project:

To further allow for client side customization, Happy Cog developed a “Snippet” extension which allows an administrator to dynamically include sub-templates in an ExpressionEngine entry. This allows authors a simple intuitive way to call dynamic content right into the body of a static entry.

Let’s hope one day this add-on finds it way to the EE forums so we can all use it.

Posted on Dec 10, 2008 by Ryan Irelan

Filed Under: EE in the Wild,

What They’re Saying About EE

This is a on-going series of entries where I highlight EE experiences.

...skinning ExpressionEngine is hands-down a better experience than skinning WordPress or Drupal

Harlan Lewis via Twitter


Posted on Dec 09, 2008 by Ryan Irelan

Filed Under: What They're Saying About EE,

Ellis Lab Reveals Some More EE 2.0 Details

We’ve all been waiting. Some of us more patiently than others. While we’ve been twiddling our thumbs and on the edge of our seats waiting for EE 2.0 to arrive, the team at Ellis Lab has been busily putting all of the pieces together. They’ve been selective with information they share, but today they let us in on some more plans for EE 2.0. This time? Improving the first impressions of using ExpressionEngine.

Let’s admit it: ExpressionEngine is a complex beast, which contains a ton of functionality. But to the new user it isn’t always obvious what it is to build a site the “ExpressionEngine Way.” In fact (and as the blog post mentions) this was one of the reasons behind my EE Screencasts. After developing so many sites with EE, I wanted to share my experience with other and help them not make the mistakes I did, not take as long as I did to learn EE best practices and to give them the experience of building something real with EE right away, step-by-step.

Obviously, I think it’s a great idea that Ellis Lab is focusing on a terminology change (Weblog -> Channel) and including a theme that shows EE in its best light: as a website CMS (not just a blogging tool).

Also, note this goodie related to the change of the weblog entries tag: The EE 2.0 installer will update your templates for you, changing {exp:weblog:entries} to {exp:channel:entries}.

Posted on Dec 08, 2008 by Ryan Irelan

Filed Under: ExpressionEngine 2,

Building Beautiful Websites with EE at FOWD

The fine folks at Erskine Design will be leading a half-day session at the Future of Web Design conference in London next Spring. Learn more about it over at the Erskine Design blog.

Posted on Dec 08, 2008 by Ryan Irelan

Filed Under: Blogging,

Moving from TextPattern to ExpressionEngine

Earlier this Fall, Nathan Pitman began documenting his experience and steps of migrating his personal site from TextPattern to ExpressionEngine. I’m not sure if he’s finished the series yet, but the first five steps he posted should be helpful to anyone in the same situation.

Posted on Dec 05, 2008 by Ryan Irelan

Filed Under: Blogging,

Learn EE in Texas

Train-ee is doing another classroom-style EE training and once again you have a chance to go for free with the ExpressionEngine Scholarships. Thanks to the assistance of the community (PragProg and EE Screencasts sponsored the last event and this time my employer Airbag Industries is chipping in for an entire scholarship), the folks at Ellis Lab will award three scholarships to the 4-day training.

Follow the link above for all of the details and rules.

Posted on Nov 29, 2008 by Ryan Irelan

Filed Under:

EE Screencasts Black Friday Sale

With a tired economy and a long weekend in the U.S., it’s the perfect time to learn some new skills and expand your knowledge of building stuff for the web.

The publisher I work with for the EE Screencasts is offering a special Black Friday discount on almost everything in their inventory, including the screencasts!

Use the discount code TURKEY to get 25% off your order. If you buy the entire EE Screencasts series that means you save more than $15 USD. A deal you shouldn’t pass up!

Happy Thanksgiving!

Posted on Nov 26, 2008 by Ryan Irelan

Filed Under: Blogging,

Download ExpressionEngine Documentation

If you’re like me, you often work offline—on an airplane or away from wifi— but still want to have access to the EE User Guide, in case you need to refer to it for that one parameter you can’t remember or that elusive EE tag. The ExpressionEngine User Guide you’re used to using is hosted on the EE website, but did you know there’s a downloadable version, too?

I honestly do not know how long it has been available, but I didn’t notice it until the other day after I tweeted, asking people how they view the documentation while offline. I feel silly for not realizing it earlier (I had been using an outdated PDF someone posted to the EE Wiki) but if you go to the Downloads area of the ExpressionEngine website, lo and behold, they offer a complete version of the EE documentation for your downloading pleasure.

Posted on Sep 06, 2008 by Ryan Irelan

Filed Under:

EE Coda Clips

If you use Panic’s Coda web development application and develop ExpressionEngine websites, you will probably be interested in a nice collection of EE Coda Clips posted in the EE Forums. If you’ve watched the EE training videos, you’ve seen me use shortcuts in TextMate. Now you can have something similar for Coda. The clips cover EE tags for most of the basic modules you would use: Weblog Entries, SAEF, Comment Module, Advanced Search and more.

Posted on Sep 06, 2008 by Ryan Irelan

Filed Under: