Published by Mijingo

Learn ExpressionEngine TodayAdvertise Here

Over a series of 8 videos, watch and learn as Ryan builds an entire ExpressionEngine website from beginning to end. Get started now.

blog icon image

In the Forums: Organize search results by weblog

Blog Entry

This will be a regular feature where I highlight an interesting EE Forums thread.

Deron Sizemore helps someone organize their search results by weblog by using a conditional checking for the weblog_id.

Where it gets tricky is if I wanted to give each section a header (e.g. h5) with the weblog name but not show it if there are no results from that weblog? How would you handle that?

Posted on Jan 10, 2009 by Ryan Irelan

Filed Under: EE Add-ons, EE Modules, Search Module, In the Forums

blog icon image

New Module: Deeploy Helper

Blog Entry

There’s a new module that may help your deployment of ExpressionEngine-powered website go a tad faster. It’s called Deeploy Helper (Hop Studios) and it creates a one-stop control panel screen where you can edit and view your site configuration paths and URLs. From the website:

Deeploy Helper is a simple module to make our lives as EE developers just a little easier.  It collects many of the configuration parameters we most frequently modify on one page, where power users can modify them all at once.

I installed Deeploy Helper and tested it briefly. It works as described, but I think Hop Studio correctly points out this is a “power tool” and you should use caution when using it. They consider this release “preliminary” and are seeking feedback to help make it better.

Posted on Jan 09, 2009 by Ryan Irelan

Filed Under: Deployment, EE Add-ons, EE Modules

blog icon image

E-commerce with ExpressionEngine

Blog Entry

It’s a popular question on the forums: How can I do e-commerce with ExpressionEngine?

The only built-in way to do e-commerce is using the Simple Commerce Module (SCM), a first-party module from EllisLab. This method is, of course, limited to using PayPal as a payment gateway and some clients are hesitant to do that because they (incorrectly) perceive PayPal to be an amateur solution and not secure. Also, SCM has limited functionality; it’s called Simple Commerce Module for a reason.

One of the features that is not in SCM is the ability to sell subscriptions. This is a frequent request on the forums and as of right now the only tool that is integrated with EE to do this is FoxEE by HCC Development.

FoxEE is an ExpressionEngine module that bridges the gap between EE and the Foxycart hosted e-commerce tool. With FoxEE you can use Foxycart to sell subscriptions, downloads or physical goods. It can also apply discounts to member groups. You can get a better idea of how FoxEE works by reading through the documentation.

Those are the only two integrated e-commerce solutions for ExpressionEngine that I know of. What am I missing? Have you used any others?

Posted on Jan 09, 2009 by Ryan Irelan

Filed Under: E-commerce, EE Add-ons, EE Modules

blog icon image

GTD and “Reducing Mental Debt”

Blog Entry

While I’ll mostly cover topics here that are directly related to ExpressionEngine development, I do sometimes want to venture out to more general topics that may apply to your life as a web professional.

A large part of our working lives is spent organizing projects and tasks and then completing them. It’s an absolutely essential part of our business and it’s why the GTD methodology has become so popular among people in our field of work.

Think about how complex a website project can be. There are many different phases of a project: securing the project, discovery, design, templates, client approvals, revisions, development, deployment, getting paid. Many of these happen simultaneously and it can quickly become overwhelming.

The first reaction when overwhelmed is to freeze and protect. You become paralyzed by having so much to do and you protect yourself by doing none of it. Sound familiar? I’m sure it does because it’s something we all do: procrastination. 

Leslie Camacho (EllisLab) had a thoughtful post on his personal blog that covered this very topic and how he applied a fix to his personal unfinished tasks:

[W]e should consider approaching our tasks as reducing mental debt. We have all this “debt” and the gut instinct might be to try to go for the big items first, but that’s exactly the wrong thing to do, as any decent financial planner will tell you. We should tackle the small stuff first and chip away until we’re back in the black.

[...]

I needed to get my “GTD” life back in order and I’ve been furiously chipping away at my personal mental debt. I reclaimed my office space, cleared out all of last year’s files, plowed through an old inbox, hung a new calendar, organized the dog area, and have done a 100 other little things.

This same approach can be applied to how you work in your day-to-day life as a web professional.

Posted on Jan 09, 2009 by Ryan Irelan

Filed Under: Life as a Web Professional

blog icon image

Low Random Plugin

Blog Entry

If you have the need for rotating images, text or numbers, check out a new plugin, Low Random, from Low Schutte. It’s simple, but sometimes those are the best plugins.

Low is also responsible for the Akismet EE add-on (one I use on every EE site I build) and many other great add-ons (like the Yearly Archives plugin).

Posted on Jan 07, 2009 by Ryan Irelan

Filed Under: EE Add-ons, EE Plugins

how-to article icon image

Hand-rolled Social Bookmark Links

How-to Article

If you’re building a website it’s probably a good idea to make it as easy as possible for your site visitors and readers to share your content with their online community and friends. We’ll look at the easy way to do it and then the hand-rolled way.

Read the Article

Posted on Jan 07, 2009 by Ryan Irelan

Filed Under: How-To, Social Networking

blog icon image

eeSiteKit Launches

Blog Entry

NetRaising has launched a new product for ExpressionEngine called eeSiteKit. It had been in private beta but is now publicly available.

eeSiteKit is a “pre-coded template and site framework” and makes it easier for you to get an ExpressionEngine site structure up and running quickly. It doesn’t require any add-ons, just the software from NetRaising which costs $59.95 and can be used for as many EE installs as you like. You run the installer and it populates EE with a series of default templates that help you get started with site structure. After that, there is no other software to run or maintain. Because of this, it should be hassle-free when you’re upgrading ExpressionEngine.

It has some nice features like:

  • Nested page URLs
  • SEO friendly
  • Dynamic site navigation

I had a chance to play with eeSiteKit a while back and can confirm that it does what it says it does and the installation couldn’t be easier.

eeSiteKit is certainly not for every ExpressionEngine user, but it may be of interest to those people who are new to EE and wish to get up and running fairly quickly.

There is a full User Guide available on the website, with helpful videos that walk you through each and every step of using eeSiteKit.

Posted on Jan 06, 2009 by Ryan Irelan

Filed Under: Development Tools, Software

blog icon image

EE Help Chat resumes Wednesday at 9 PM

Blog Entry

After a hiatus for the holidays, it’s time to get back on the EE bandwagon and the place to do that is the free, weekly EE Help Chat. We’re an enthusiastic bunch and take an hour each week to gather, ask questions and geek out about EE. The chat is for people of all levels of experience with EE. We have many helpful people in the chat every week, so if you have a beginner question, please come ask it!

More info about the EE Help Chat (and some of the transcripts) can be found on the new EE Help Chat page of this site.

See you there!

Posted on Jan 05, 2009 by Ryan Irelan

Filed Under: News

blog icon image

Brandon Kelly’s Editor Extension

Blog Entry

Like many of the EE add-ons people create, Brandon Kelly found himself in need of an extension that would automatically place small edit buttons next to every entry on the front-end of his newly launched personal website.

Editor is a free extension (donations accepted) that makes editing entries a little easier. We also did something similar in the video tutorial Preparing Sites for Clients, but without an extension.

Once Editor is installed and activated, you should be good to go. Simply view your website while logged in with an account that has editing privileges, and the edit buttons will automagically appear.

Here’s what Brandon says about it:

I’ve never been a big fan of ExpressionEngine’s Edit index. (Or any other CMS’s version of the page, for that matter.) The workflow just seems strange to me. You generally start off at your website, looking at the entry you decide to edit, and then you have to hunt for that same entry within the CMS before you can touch it.

This should be a great extension for people looking to make site content editing easier.

Posted on Jan 05, 2009 by Ryan Irelan

Filed Under: EE Add-ons, EE Extensions, Software

movie icon image

Query Module Basics

Instructional Video

The Query module is a powerful tool that you can use to pull in data directly from your EE database right from your templates. This screencast will teach you the basics of the Query module and how you can implement it in your templates.

Get the Video

Posted on Jan 04, 2009 by Ryan Irelan

Filed Under: Modules, Query Module, Templates

blog icon image

Developing with EE and Espresso

Blog Entry

Well, sure, most of us sip on our favorite caffeinated beverage while coding up an ExpressionEngine website. But that’s not what I’m talking about here.
Espresso icon
There’s a new text editor in town for Mac OS X and it’s called Espresso. From the creators of CSS Edit, Espresso is aimed at web developers (like you!) and features a clean look, publication and synchronization tools.

Recently a public beta has been made available, so everyone is able to download Espresso and try it out for themselves. And I’ve been doing just that.

I’ve temporarily replaced my usual text editor, TextMate, with Espresso so I could I run it through its paces. I’ve been impressed with the app, but I’m not sure I’d switch just yet.

As a long-time user of TextMate, Espresso is hard to get used to and I find it lacks in shortcuts and keystrokes like I have in TextMate. But, text editors are a very individual choice, so my experience may not be yours.

If you do try out Espresso, you should also download the ExpressionEngine Sugar, which will do code highlighting and code snippets (just like there is in TextMate and Coda).

Anyone else trying out Espresso? What are your experiences?

Posted on Jan 03, 2009 by Ryan Irelan

Filed Under: Development Tools, Software

blog icon image

What They’re Saying About ExpressionEngine

Blog Entry

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

Yep! I love ExpressionEngine.


But She’s a Girl via Twitter

Posted on Jan 03, 2009 by Ryan Irelan

Filed Under: What They're Saying About EE

blog icon image

Solspace releases User Module 2.0

Blog Entry

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

how-to article icon image

ExpressionEngine Tags Primer

How-to Article

So, EE tags. They’re the things that start and end with curly braces and that you use all over your EE templates to make your content appear. This short tutorial will give you an overview of EE tags, the different kinds and how they’re made.

Read the Article

Posted on Dec 30, 2008 by Ryan Irelan

Filed Under: How-To, Getting Started with ExpressionEngine

blog icon image

EE Gets Smart About Managing High Traffic

Blog Entry

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

blog icon image

Happy Cog Spills the Beans on Their Latest EE Site

Blog Entry

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

how-to article icon image

Case Study: Social Networking with ExpressionEngine, Part 2

How-to Article

Along with the ability for users to join networks, the client also required that users are able to connect individually as “colleagues.” This is, as you probably know, basic functionality for any social networking website. We’re not breaking new ground here…except that this type of functionality isn’t built-in to ExpressionEngine.

Read the Article

Posted on Dec 09, 2008 by Ryan Irelan

Filed Under: How-To, ExpressionEngine Development

how-to article icon image

Case Study: Social Networking with ExpressionEngine, Part 1

How-to Article

ExpressionEngine is a great tool to manage content, allow commenting on content and dozens of other ways of interacting with the content (ratings, saving or favoriting, tagging) using third party add-ons. But the client also wanted some more traditional social networking features: groups and friends.

Read the Article

Posted on Dec 09, 2008 by Ryan Irelan

Filed Under: How-To, ExpressionEngine Development

blog icon image

What They’re Saying About EE

Blog Entry

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

blog icon image

Ellis Lab Reveals Some More EE 2.0 Details

Blog Entry

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