Expression Engine install best practices
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. 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.
- URL Field Type. Creates a field type for URLs, with validation and manual link checking.
Plugins
- exp_developer. Adds a sliding developer pane to EE that displays weblog titles, categories, custom field titles and other useful information for development.
- LG Better Meta. Works in concert with the LG Better Meta 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
- 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.
- 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.
- Now copy everything from the root of your existing install to the root of the new install.
- Rename the system folder to whatever you want.
- Edit path.php to reflect the path to the new system folder.
- Edit config.php to reflect the proper values of your new install, for example, database login and password information, paths, etc.
- Login to the new install and edit the site's configuration data. Go to Admin --> System Preferences. 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.
- 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.
- Go through each extension and update all data as needed. You'll mainly be correcting paths to point to the right place.
- Update the base path to the template directory. Templates --> Template 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. It may be best to hard code the full path to a specific folder:
http://somesite.com/something/assets/
rather than use a relative path:
../../../../something/assets/
Questions? Get in touch.


