HOWTO:Upgrade to a newer version of e107 0.7xx

From e107 Wiki
Jump to: navigation, search

e107 Wiki: English | Русский | Deutsch | Français | Magyar | Português | Български | Česky | Nederlands | Ελληνικά | Italiano | Norske | Polska | Slovenščina | Español | Svenska | Translate: Wiki | Page


Current Release 1.0.4 | | Download | Changelog | Forum | Plugins | Themes | RSS Feed of Latest Changes | Atom Feed of Latest Changes

Upgrading e107
Main page > I : First Aid > II : Development > III : Administration > IV : How To's > V : Plugin Writing > VI : Theming & Shortcodes

Upgrading e107

This page describes how to upgrade from e107 version 0.7.xx to the current version which is 1.0.4 released on March 14, 2013 .

Note: If you have been using CVS/SVN versions, there is a possibility that upgrading to a released version will not complete quite as expected. In these circumstances some manual intervention may be necessary - updating databases, making sure preferences are set and so on.

The changes from the last release are all documented here in the 0.7.24 Changelog

Upgrade Guidance for Mission Critical Websites

The developers work hard to keep e107 up to the mark and together with the support team, we make every effort to test e107 releases, but we cannot cover every aspect the great stuff you are doing with e107.

This is probably a change from the old way of doing things, but it is fairly standard procedure in the IT world. This good advice for EVERYONE, but particularly applicable :-

  • When ANY Third Party Code is used, including:
    • ALL non-core e107 Plugins.
    • ANY Third Party Themes.
    • ANY Other non-e107 code scripts.
  • To Sites with High Visitors Numbers.
  • For Business Critical Systems.

You need to weigh up the risks of your installation being affected by any new code you introduce to your production system. This applies not only to e107 Core updates, this is equally applicable:-

  • For Third Party Code - such as adding a new Plugin.
  • For changes applied by your ISP (OS, Apache, MySQL, PHP ... etc).
  • When your OS or Browser/Flash other supplier send you updates.

It is YOUR system and YOUR hard work, take care and look after it properly.

Download the update file

PLEASE READ the release notes BEFORE applying any files to your site

Check off changes that your system is using. This will give you a list of things to look at in detail when you are testing.

How urgent is it for you to apply the change, is your site under attack? Are you suffering the problems being fixed? Could you use that new feature you have been waiting for?

When the answers are NO, perhaps hold back for a while & monitor the situation.

PLEASE READ the Installation Forum

See what others are saying or encountering.

Take a full copy of the production system

  • Extract a backup of the Database via [phpmyadmin] or via easybackup plugin.
  • Extract a backup of the server files via FTP IF you have added anything none core e107 (images, downloads etc.)Ideally you should always keep a mirror copy of your site locally on your PC for testing purposes.

Install a TEST copy in a TEST location

  • Ideally on a different server.
  • Ideally on similar server technology.
  • Ideally on a second hosting server/account.
  • At worst on your home PC - Private Webserver Setup.
  • Some hosts configurations allow installs on a sub folder or sub-domains.
    • TAKE CARE this will be very close to your production site.
    • You will need a new database.
    • Edit the e107_config file with your new database credentials - i.e. test db.

PLEASE READ the release notes AGAIN

  • Remind yourself what was changed?
  • Am I using any bits that were changes in the new code release?
  • Can I make use of a new features?

Apply the Upgrade to the TEST Location

  • Upload with FTP the ALL of the Unzipped Upgrade from your local machine to the test server.
    • What is FTP?
    • Set Binary/ASCII setting properly.
    • Set overwriting files at the TEST location.


  • CPanel File Manager Method.
    • Upload to a SUB folder such as 07x.
    • Extract in the 07x SUB folder.
    • Select ALL in the 07x SUB folder.
    • Choose Move
    • Select the Parent TEST install location.
  • Be sure to place an empty file called index.html in the folder.

Follow any Special instructions in the Release Notes

  • Are there New Preferences to set - see Current Release ?
  • Are there New Features to Set Up?
  • Are there Old Features Disabled or Desupported or replaced with new methods?

Apply any Custom Code Extensions/Changes you have made

A note about custom code!

If you have changed any e107 base code, these changes will need to be reapplied.

  • Ideally (to make your life easier) you should not change e107 base code, instead:
    • Extend e107 by through your theme
      • Download one from the repository [1].
      • Or copy one of the examples.
      • Standard themes are part of the base code, and can be updated in upgrades.
    • Extend e107 via Plugins
      • Either use one of the ones in the repository
      • Start Making your own.

Fully TEST your most Important End-to-End Processes

Examples Tests:-

  • View ALL of the Public Website.
    • Look For display anomalies.
    • Check For Errors.
  • Submit a Contact Form, link, event etc.
  • Test Public Plugins
  • Follow the Sign Up Process.
  • Check Members features you use.
  • Check Admin features.

See Follow the menu structured pages to check each feature.

It's unlikely you will use every feature or that every feature is mission critical for you, so you do need to consider the risks at every level.

Compare any apparent changes in behaviour with your Production System.

Read the forums, see if others are finding the same as you. Remember to be nice to your fellow readers :)

Fully TEST any custom Third Party Code

  • Non-Core Plugins.
  • Use of Embedded Scripts.

Finally, and do MORE TESTING

  • Ask a friend or key user to run through your TEST system.
  • Remember Testing can never be exhaustive, this is why we have bug fixes!
Only Proceed to the NEXT stage when YOU are satisfied with testing YOUR new platform


  • Download the most appropriate upgrade package, and extract it to your computer.
  • Do a database 'integrity check' and fix any errors.
  • Backup your database via phpMyAdmin (described in this how to) and any other relevant files.
  • Make a backup of the current e107 install by copying everything e107 related in the site directory.
  • Look at the README.txt file which is included in the upgrade package.
  • If you have modified any core files, make sure you have copies separate from your site. Compare against the updated core files; it may be necessary to update your modified files as well.
  • If you are using any non-core plugins, check that they will run with the new version (or if you have concerns, uninstall them and back up any related database tables separately before upgrading)


  • Place your site into maintenance mode - by activating the site's maintenance flag.
  • If you changed the names of your e107 folders names in e107_config.php then you have to reflect this customisation of e107 in the folder names you upload. (Unzip locally, prepare by renaming the folders to match yours folder names).
  • Copy all the modified files onto the existing installation. (Make sure your FTP client is set to 'overwrite always' rather than 'overwrite if newer' to avoid problems). Make sure you don't overwrite e107_config.php.
  • If your site uses a language other than English, also copy across updated language files.


  • Log on as main admin.
  • Check that the new version is correctly shown on the main admin screen.
  • Run File Inspector and confirm that all files verify (other than any you have changed).
  • Run the Database 'Check for Updates' option and carry out any updates required (there may not be any).
  • Select Plugin Manager and carry out any plugin upgrades which are required.
  • Go to Admin -> Database and run the Database 'integrity check' - correct any errors.
  • Go to Admin -> Database and run the Plugin Scanner. This will update certain things to work with the newest plugin features, and generally clean up.
  • If your site uses a other than English, go to Admin -> Database, and run the language file checker.


  • Check out any new feature in the admin menu in detail.
  • Run through all admin configuration menus - make sure any new options are properly set.
  • Run through all plugins (especially those which required upgrade) to make sure all options are as you wish.


  • Reinstate any core files which you have modified.
  • Take the site out of maintenance mode - deactivate the maintenance flag.
  • Confirm that everything operates as expected.