small medium large xlarge

Building a Dynamic Website with ExpressionEngine


Cover image for Building a Dynamic Website with ExpressionEngine

Building a Dynamic Website with ExpressionEngine


These screencasts are for a prior version, so are no longer offered for sale *

ExpressionEngine lets you design, deploy, and manage a dynamic website without fuss. It’s a content management system that lets you do things your way. You don’t need to be a programmer, a database administrator, or a top-notch web designer to use ExpressionEngine. Learn how to light up your content from Ryan Irelan, a veteran web developer and ExpressionEngine guru.

Customer Reviews

My investment produced an immediate return after only watching the first two. It has saved me an incredible amount of time and given me confidence moving forward that EE is the right solution and that I am structuring the web site properly.

- Jim Gates

, Gates Group Marketing

Thanks for the awesome Expression Engine screencasts – I’ve worked through all of them now, and it’s made things sooo much easier! Your screencasts have empowered me to really rocket through a project I’m working on!

- Les Cochrane

It’s not every week that something on the Net blows me away. But [these] screencasts last week really did. If you’re a web publisher looking to get started with ExpressionEngine, they’re an absolute Must See. What’s more, they’re also excellent examples of how screencasts can be used for online tutoring.

- Jon Buscall

, Jontus Media HB

As a complete newbie to EE, but an experienced C/Java/PHP programmer, I found these extremely valuable, well paced, well priced, and well done.

- Larry Lewis

Director of R&D, SAS Institute, Inc.

You’ve successfully revealed the Man behind the EE curtain. Thanks!

- Luke Dorny

, Butter Label

I’ve learned more about EE in that hour and a half than I have in the last month of playing around with my local install.

- Brad Dielman

See All Reviews


Contents & Extracts

Througout this series, we’ll build a full-featured newspaper website with ExpressionEngine. You’ll not only learn how to use ExpressionEngine from start to finish, you’ll also learn tips and tricks to streamline your design process. In addition to the videos, you can also download the source code for each episode so you can experiment on your own.

  • Episode 1: Templatizing the Front Page

    We’ll start by converting the static front page of our newspaper website into a dynamic template powered by ExpressionEngine tags. You’ll learn how to:

    • create new sections, templates, and template groups
    • create custom fields in field groups
    • use tags to dynamically generate content
    • create statuses and status groups, and use them to filter content
    • limit results
  • Episode 2: Adding a Comment Form & Embedding Content

    We’ll finish up the front page by linking in the detail view for articles. Then we’ll add the ability for readers to submit comments. You’ll learn how to:

    • create forms
    • embed templates inside other templates for easier maintenance
    • use conditional statements
  • Episode 3: Organizing Content in Categories

    We’ll create category archive pages to get an overview of all content in a category. Then we’ll organize the website around hierarchical categories of content for improved navigation. You’ll learn how to:

    • create new category groups and categories
    • link categories in the navigation bar
    • use conditional statements
  • Episode 4: Linking Main Navigation & Building an RSS Feed

    We’ll link all the main navigation items and finish up by building an RSS feed. You’ll learn how to:

    • light up navigation sections
    • build an RSS feed
    • clean up your URLs (remove the index.php)
  • Episode 5: Adding Static Pages using the Pages Module

    We’ll use the Pages Module to add an About and Mission Statement page to the site, and we’ll also build a form with a file upload to create obituaries. You’ll learn how to:

    • install, configure, and use the Pages Module to create static pages
    • configure the file upload preferences
    • create a form that allows uploading a file
  • Episode 6: Building a Stand-Alone Entry Form (SAEF)

    We’ll build a stand-alone entry form that allows members to submit letters to the editor without using the control panel. You’ll learn how to:

    • add custom section field groups and fields
    • create a stand-alone entry form using the entry_form tag
    • use status fields for workflow of submitted entry forms
    • use conditionals to handle users who aren’t logged in
  • Episode 7: Publishing a Podcast

    We’ll add podcast publishing support into the ExpressionEngine control panel, so it’s easy to publish podcast episodes that are compatible with iTunes. You’ll learn how to:

    • install and enable an ExpressionEngine extension
    • upload podcast media in a user-friendly way
    • create an iTunes-compatible podcast RSS feed
  • Episode 8: Adding Membership to a Site

    We’ll add membership functionality to the site using the EE Member Module so content can be restricted to logged-in members. You’ll learn how to:

    • restrict content based on member group and logged-in status
    • disable access to templates based on member group
    • create a custom login form
    • add a drop-down form field
    • advanced uses of conditionals
  • Episode 9: Creating Relationships Between Entries

    We’ll create relationships between entries in different sections, so we can organize articles based on the print edition of the newspaper. You’ll learn how to:

    • create a custom relationship field
    • use the reverse related entries functionality
    • use the dynamic parameter in the weblog entries tag pair
  • Episode 10: Adding Search Functionality

    We’ll add search functionality to the site using the EE Search Module, so site visitors can search articles and other content on the site. You’ll learn how to:

    • implement a Simple Search Form
    • create a search results page with pagination
    • use the auto_path variable to properly link up search results
    • create a custom page for a search with no results
    • add and customize an Advanced Search form
  • Episode 11: Optimizing a Site With Caching

    We’ll improve the performance of an ExpressionEngine website using the built-in caching functionality. You’ll learn how to:

    • use four different caching methods available in EE: Query Caching, Dynamic Weblog Query Caching, Template Caching, and Tag Caching
    • use Query Disabling to cut down on unneeded database queries
    • implement all of the caching methods to realize improved site performance and faster page loads
  • Episode 12: Preparing a Site for Clients

    In this final episode, we’ll learn how to get ExpressionEngine ready for client access. We’ll tweak and customize EE to create an ideal client experience when managing their website. You’ll learn how to:

    • customize the control panel using built-in options and EE add-ons
    • create a simple publishing workflow using member groups and custom statuses
    • make it easy to edit content in entries or global variables from the front-end of the website
    • clean up and improve the Publish page
    • create and update client documentation using EE


These screencasts are designed for web designers and developers. No programming experience is required.


Ryan Irelan is a web developer, author and sometimes consultant. He’s the Senior Web Developer at Airbag Industries, an Internet consultancy firm. He has helped build, customize, and deploy more than two dozen ExpressionEngine sites. He’s also the co-author of The Business Podcasting Book (Focal Press, 2007).