Planning an e107 Upgrade

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

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

Planning an e107 Upgrade

It is vital to plan properly before applying any upgrade to a Mission Critical system, and that does include e107 websites. If your website is used for critical functions in your business, then down-time may cause you loss of up-time or worse loss of income. It is YOUR responsibility to plan how you intend to upgrade your system.

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

Review the full change list here

Read about a specific version here

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. Early Adopters will always be the first to encounter new problems. If you are cautious, or don't have the patience to work positively alongside support and development teams, then wait until the dust settles before considering an upgrade.

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.
  • 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 0.7.23.
    • Extract in the 0.7.23 SUB folder.
    • Select ALL in the 0.7.23 SUB folder.
    • Choose Move
    • Select the Parent TEST install location.

Follow any Special instructions in the Release Notes

  • Are there New Preferences to set?
  • 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

Upgrade Technical Steps