Oct 26

Ryan Irelan - Ten Ways To Supercharge Your EE Development

expressionengine, extension, fieldframe, module, performance, projects, ryan irelan
6:31pm on Monday 26th October, 2009

Ryan Irelan works for Happy Cog West, and is also responsible for EE Screencasts, the EEInsider site, EE Help Chat, and the EE Podcast. He is working on an ExpressionEngine book that will cover EE 2.0.

Follow along with Ryan’s slides over on SlideShare.

Top Ten Tips

  • #10 Pre-package your EE install. Install and configure your favourite add-ons, setup system preferences, create default weblogs, configure your favourite tab arrangement, enable extensions and modules, and setup default members and groups. Export it all into a SQL file and zip up the files = default EE installation. I’ve converted all this into a shell script
  • #9 Use Version Control. It adds an extra layer of security, as well as version tracking. Happy Cog West uses a remote database due to the difficulty of merging database schema changes; all staff/management/designers use Subversion
  • #8 Config Variables. You can use config.php to store other configuration variables (e.g. you can put FieldFrame paths in it). EE will honour config variables over the database value. There is a list of config variables on the ExpressionEngine Wiki
  • #7 Avoid Add-On Insanity. There are sites that use too many add-ons, making itdifficult to figure out what has happened when something goes wrong. Find more creative solutions to problems (e.g. you don’t need an add-on just for a “Tweet this” link)
  • #6 Optimize Now (And Later). Make use of the disable parameter as you code (i.e. don’t plan to go back and add it later). EE also has ‘extreme traffic overrides’ - you can disable all tracking as a quick fix to site traffic problems. Solspace offer a site evaluation service
  • #5 Become Fantabulous. Add as many tabs as you need to get to the stuff you use regularly. You can even save edit filters as tabs
  • #4 Developer Add-Ons FTW. SL Developer Info and Pur Developer add pages or links to your Control Panel full of developer-specific information. LG Add Sitename allows you to display server time settings in the header
  • #3 Keep An Eye On The User. Make it easy for the user, not for you. Set up default tabs for users, use custom field groups for content instead of one catch-all group, keep the control panel as clean as possible, remove the formatting bar and dropdown, turn off the url title field, turn off dates if they’re not important. Don’t have to tell clients “Don’t worry about it” if they never see it!
  • #2 Try Structure. It’s a free module; I didn’t try it for a long time, but now I have I’m really impressed
  • #1 Take A Chance. Step outside your comfort zone with your tools; try writing an extension


What do you recommend for deployment?
Tried Capistrano, Git+Capistrano, but not found a magic bullet for that - would love to hear if anyone has one.

Why do you work with a remote database?
Only with team, not on solo projects; it’s slow using remote db, but stops conflicts.

Have you had issues with performance on related entries?
Yes, we have had to write custom queries sometimes.

Is the use of config.php variables automatic or does the developer have to code for that?
EE does the check, but you do have to code for it yourself in your add-on.

I'd love to hear what you think - please use the form below to leave your comments. Anything I consider too offensive, off-topic, or spammy will be deleted at my discretion. Some HTML is permitted, or you can use Textile.

Commenting is not available in this weblog entry.
  1. Nobody has commented on this article yet - why not be the first?