© 2015 X2Engine Inc.

Difference between revisions of "Software Updates and Upgrades"

From X2Engine
Jump to: navigation, search
(Introduction)
(Introduction)
Line 6: Line 6:
  
 
= Introduction =
 
= Introduction =
[[File:Update_Process.svg|200px|thumb|right|Top-level overview of the update process]]]]
+
[[File:Update_Process.svg|200px|thumb|right|Top-level overview of the update process]]
 +
The following things happen in typical a software update or upgrade:
 +
* Files that are new in the new version are added
 +
* Files that have been changed in the new version are replaced with the new versions of those files
 +
* Files that are no longer used in the new version are deleted
 +
* Changes to the database are made to make the database compatible with the latest version of X2CRM
 +
* X2CRM data caches are cleared
 +
 
 +
These operations are typically handled by the updater utility ([[x2doc:UpdaterBehavior]]) and controlled via the in-app web-based updater or the command line updater. This article will cover both how to use said interfaces to the updater, and how to perform updates manually if the need arises, in addition to troubleshooting and recovering from an update that did not complete cleanly.
  
 
= Update Methods =
 
= Update Methods =

Revision as of 00:11, 7 December 2013

This article (currently in progress) covers the following two operations:

updating
Bringing an installation of X2CRM to the most recent available version
upgrading
Converting an existing X2CRM installation to Professional Edition

Introduction

Top-level overview of the update process

The following things happen in typical a software update or upgrade:

  • Files that are new in the new version are added
  • Files that have been changed in the new version are replaced with the new versions of those files
  • Files that are no longer used in the new version are deleted
  • Changes to the database are made to make the database compatible with the latest version of X2CRM
  • X2CRM data caches are cleared

These operations are typically handled by the updater utility (x2doc:UpdaterBehavior) and controlled via the in-app web-based updater or the command line updater. This article will cover both how to use said interfaces to the updater, and how to perform updates manually if the need arises, in addition to troubleshooting and recovering from an update that did not complete cleanly.

Update Methods

Using the Web Updater

The web updater can be accessed using the link in the notification message at the top of the window in versions later than 3.5.5, or by going to the Admin page and clicking the "Update" button at the top, in earlier versions.

Advantages: it is generally quicker and easier to use, and it does not require shell/SSH access to the web server.

Disadvantages: it is not recommended for use on large installations of X2CRM, i.e. containing over a million records.

Explanation: The inherent weakness of the web updater (or any web-based updater to any web application) is that it must always rely upon web requests to the server, and it thus must perform extremely critical operations for the update all within the scope of a web request. Web requests, it goes without saying, are not always reliable. For example, one's internet connection might get cut off due being on a wireless network and encountering interference. Furthermore, if any operations take an exceedingly long amount of time, e.g. because of the size of the data set on which the update must operate, the web request for those operations may take longer than the configured server timeout (maximum request time). This would potentially cut short the execution of a critical update stage, and thus the update would require manual completion and recovery.

Using the Command Line Updater

This update method uses all of the same thoroughly-tested underpinnings and processes as the web updater, but does so all within a system command to the Yii console.

Advantages: safer to use, especially for large, mission-critical systems. The success of a software update or upgrade does not hinge upon a web request completing successfully.

Disadvantages: more difficult to use; requires shell access to the web server. The console command must be run as the same system user that owns all the files and directories of X2CRM, in order to circumvent permission issues.

Using the Automatic Updater

This method uses the command line updater, but runs the command on your behalf using the local cron[[wikipedia:Cron]]: a job scheduler for UNIX-like operating systems daemon.

Performing Offline Updates

Manual Update and Recovery