Planning our ExpressionEngine Site and Creating a Blank Slate

Now that we’ve finished our vanilla ExpressionEngine installation (Part 1), we can decide how we want the site to work and get the installation ready for our customizations.  We certainly could have done the planning part of this before the installation, but I figured you’d want to get right into making things happen.  So, now we will pause and think a bit before more action.

Planning Our ExpressionEngine Site

BabyFilter is loosely modeled after Matt Haughey’s MetaFilter community site.  Back when my wife was pregnant with our first child, I really got fed up with asking parenting questions in the forums of many popular baby-themed websites, as it seemed that flaming and ranting were the norm, and good answers were few and far between.  Many users were more concerned with “blinging up” their signatures than giving advice.  So, with a blessing from Matt, BabyFilter was slowly built.  I created a custom CMS in PHP and some admin and user tools and launched the site.  Initially it did just fine and began getting very impressive rankings in Google, et al., but I got busy with client work and lost sight of promoting the website further.

Another baby and a few years on, I feel this is still a good concept for a site- thus, this project.  The site itself Is quite simple: users sign up, pose questions, and contribute answers and advice.  The community is the police; any user can flag a post or comment for moderation.  The idea is Intelligent Baby Talk.  People searching for this sort of experience will know that it is different from the other sites’ discussion forums, and that should help drive the community.

Knowing the target audience and concept for the site, I can layout a simple sitemap.

From this, I can create a basic hierarchy of the sections and pages of the site:

  • / (home)
  • /topics/ (all)
  • /topics/category/xxxx (specific category)
  • /topics/view/xxxxx (view individual post/comments/add comment)
  • /topics/flag/xxxxx (report a post)
  • /topics/favorite/xxxxx (mark a post as favorite)
  • /about/
  • /faq/
  • /faq/category/xxxxx (specific category)
  • /search/ (advanced search entry page)
  • /search/results (results from basic or advanced search)
  • /rss/

I’ll be leaving the account functions alone and letting ExpressionEngine handle them, for simplicity in launching this site.  I wouldn’t be opposed to using SolSpace’s User module to create a custom account area, but that’s enough work for another series.  I may also customize the default ExpressionEngine account screens by removing a few things, but we’ll tackle that later.

So, given the sitemap and hierarchy above, I’ll need to setup two “weblogs” in the Control Panel (CP), Topics and FAQ, and will need several template groups (topics, about, faq, search, rss, and some others we’ll discuss later).  I’ll make note of all this, but we aren’t quite ready to set any of it up yet.

Before we begin constructing our site, we need to undo some of the default settings that come with ExpressionEngine.  It took me a few projects to assemble this set of tasks, as each time I build a site I learn a few more things.

Creating a Blank Slate in ExpressionEngine

Login to the CP and follow along…

Click the Edit tab and you’ll see one entry.  Let’s delete it.  Check the box on the right of the screen, choose Delete Selected from the select box under the checkbox, and click Submit.  Confirm the deletion and you are done.

Click the Templates tab and you’ll find two template groups (site and search) and a list of templates.  We’re going to delete them all.  With the ‘site’ template group selected, click “Delete Group” in the middle column.  This will remove all the templates in the group, and the group itself, which is what we want.  Confirm the deletion and you’ll be returned to the Templates tab.

Repeat the above step to delete the ‘search’ template group and it’s templates.

You have now deleted the default weblog entry and templates.  Pretty easy, huh?  The templates are gone, which means if you take a look at the staging site, there is nothing to see.  The templates contain all the XHTML, CSS, JavaScript and ExpressionEngine tags that display your site.  They work just like a typical hierarchical website structure of folders and files.  So, if there are no template groups and templates, there is no code.

Next, move to the Modules tab.  Modules are large-scale add-ons to the engine.  We’ll use a few of these for BabyFilter, but not all of them.  The modules we want installed are Comment, Email, Member, RSS, Search, and Weblog.  Just by the titles you can see what type of functionality we get from these modules.  Some modules add SQL queries to the engine and slow down pages, so its a good idea to disable all modules you won’t be using.

Click ‘Remove’ for all other modules and confirm removal for each.

Finally, click the Admin tab, then System Preferences.  Under General Configuration, be sure to type your EE license number into the first field.  This can be found within your account on the ExpressionEngine website, and on the receipt email from your purchase.  Click update at the bottom and we’ll move on.

Next, click Weblog Management.  This is one of the main areas where we’ll spend time as we set up the site.  For now, we will delete the Default Site Weblog by clicking Delete on the far right and confirming the deletion.  Return to Weblog Administration, then visit Category Management. Delete the Default Category Group and confirm it.  Repeat this delete process for the Default Field Group, the Default Status Group and the Main Upload Directory (in File Upload Preferences).  Delete them all.

That is it for our planning and blank slate setup.  Its a pretty quick process once you do it a couple of times (that is getting repetitive- but so true with most of ExpressionEngine).  We can now move in and setup our own settings without any restrictions from the software.  This is one of the main reasons ExpressionEngine is so versatile and popular.  It frees you to do everything your own way and just does all the heavy lifting you ask it to do.

Part 3 will come next week and will put us back into the Control Panel, where we will create our sections, fields, categories, templates and set all of our options up.  As for now, you can see our blank slate BabyFilter site in all it’s glory (well, not so much, notw that we have more articles in the series)!

Series Introduction
Next Article in Series
Previous Article in Series

4 Comments

posted 3 months, 2 weeks ago by Casey Reid:

You may want to mention in your article that you renamed “Weblog” to “Section” in the control panel in case those new to ExpressionEngine are wondering.

Great job thus far on the article series. I look forward to reading more.

posted 3 months, 2 weeks ago by Chad Crowell:

Heh, you know I had that in there, but decided it was more appropriate for the next article in the series - yet forgot to change my references to it.  Thanks for the heads up!

posted 1 month, 1 week ago by OrganizedFellow:

You should probably encourage EE Newbies NOT delete the default template groups.
I find that leaving them, and renaming them, makes for a good reference templategroup/template to refer back to, if I accidentally break something.
A quick copy/paste from the default template to my working template has saved my butt many times.

posted 1 month, 1 week ago by Chad Crowell:

Thanks OF, but this isn’t geared toward newbies or veterans, or any use level really.  This is designed to show you how I build ExpressionEngine sites.  As always with any type of web or software development, techniques will vary from person to person. 

I completely agree that leaving the default templates in place is a helpful reference, but it is not what is needed for the new BabyFilter site.

Leave a Comment

Commenting is not available in this section entry.