contact

Expression Engine install best practices

Enjoy this article? Share it with others.

Bookmark on del.icio.us Bookmark on Design Float Bookmark on Digg Bookmark on Google Bookmark on Slashdot Bookmark on StumbleUpon Bookmark on TwitThis

After much research and configuration, a standard Expression Engine install emerges.

Having managed a number of Expression Engine installs for different clients, as well the install for exp design's own site, we've developed a set of best practices for installation and configuration, outlined here:

The first thing to do is get everything working that way you want it in one install. 

  • All the plugins, modules, extensions, paths in EE that you need.
  • The folder structure that you need on the web server.
  • Any add-ons such as MoxieCode FileManager.

Here is our list of EE add-ons (subject to change).  All add-ons are free unless otherwise noted.

Extensions

  • Edit Tab AJAX.  Adds instant search and sort to the weblog entries page.
  • LG TinyMCE Custom Field.  Adds TinyMCE WYSIWYG editor as a new custom field type.
  • LG Better Meta ($40).  Adds meta data to ExpressionEngine weblog entries.
  • Edit Menu.  Adds a drop-down weblog menu to the Edit tab.
  • LG Add Sitename.  Adds custom XHTML and CSS to the header of the EE Control Panel.
  • Admin Section With Tabs.  Reformats the admin section to make it easier to use.
  • LG File Manager.  Adds a custom field for files that pops up the MoxieCode FileManager.
  • LG Image Preview. Adds thumbnail image previews to weblog entries in list view.
  • URL Field Type.  Creates a field type for URLs, with validation and manual link checking.
  • Live Search.  Adds AJAX search through all weblog entries w/instant drop-down list of matches.
  • Playa.  Adds one-to-many multi-select to weblog entries for relating to one or more entries in another weblog.
  • REEOrder.  Allows custom ordering of weblog entries in output.

Plugins

  • LG Better Meta. Works in concert with the LG Better Meta extension above.
  • REEOrder.  Works in concert with REEOrder extension above.

Additional software

  • TinyMCE WYSIWYG editor.
  • MoxieCode FileManager (about USD$75).  Allows non-technical users to insert images directly into weblogs, or in conjunction with LG File Manager above, to insert the path to an image.  This is great for associating one or more images with a given weblog entry.

Once you have every last thing configured the way you like, you can now consider this your base install, or "installation profile" (this is what Drupal developers refer to).

Making a new Expression Engine install from your existing install

  1. Export the database. This is easiest to do with phpMyAdmin, a browser-based MySQL database manager.  Most hosts will either have this installed for you, or allow you to install it.  You could also do this from the command line if you're saavy, or use a desktop GUI if your host allows.
  2. Import the database for your new install.  This can again be done via phpMyAdmin or on the command line.  You'll need to remove some lines from the top of the exported SQL so that it doesn't try to create a new database.  You only want the code that creates tables.
  3. Now copy everything from the root of your existing install to the root of the new install.
  4. Rename the system folder to whatever you want.
  5. Edit path.php to reflect the path to the new system folder.
  6. Edit config.php to reflect the proper values of your new install, for example, database login and password information, paths, etc.
  7. Login to the new install and edit the site's configuration data.  Go to Admin --> System Preferences --> General Configuration.  When you login, the control panel may look broken.  Don't be alarmed--until you correct a particular setting, it can't find the stylesheet it needs to display things properly.
  8. Remember that you've copied all the data from your base install, including weblog entries, so you need to delete any unneeded weblogs and custom fields.
  9. Go through each extension and update all data as needed.  You'll mainly be correcting paths to point to the right place.
  10. Update the base path to the template directory.  Templates --> Template Preferences.
  11. Update the path to CAPTCHAs.  Admin --> System Preferences --> Captcha Preferences.

Problems?

If your install is not working properly, it's most likely that there is a problem with paths.  Somewhere, something in EE is not pointing to the right file.  I spent a few days banging my head against the wall until I realized that I had my TinyMCE paths wrong.  When stuck, go through every EE setting methodically and make sure they are all correct.  You might want to take a break first, or have a colleague look at the problem.  Sometimes, staring at the same settings for hours can muddle the brain.

Also note: if you're using the MSM (Multi-site manager), you will have to give more consideration to your paths in MoxieCode's FileManager.  You'll need to store data for multiple sites in one base folder. You can have as many subfolders as you like, however.

Don't want to do all this yourself?  Questions? Get in touch

You can also read CMS services for designers.