From LifeType Wiki
Upgrading to LifeType 1.2
Before considering an upgrade to LifeType 1.2, please bear in mind that not all plugins and template sets have been updated to work with LifeType 1.2. If your blog or blogging site depends on any of the unported templates to work, please consider helping the project to get them updated. While we have tried to assure an smooth upgrade path for users coming from LifeType 1.1, we have only been able to focus on the most critical and popular templates and plugins.
The list of available plugins and templates for LifeType 1.2 can be obtained from our Subversion repository, via browser in the following URL for templates: http://devel.lifetype.net/svn/plog/templates/branches/lifetype-1.2 and for plugins: http://devel.lifetype.net/svn/plog/plugins/branches/lifetype-1.2. If the plugin or template appears in the unported folder, it means that it has not been ugprade to work and that it should not be used. If a plugin or template appears in the list of ported templates, it should be downloadable via SourceForge.
Regarding template sets, please bear in mind that templates that have been customized by your users will also need to be updated to use some of the new features. Please see Updating templates for LifeType 1.2 which contains more information related to getting templates to work with LifeType 1.2.
Site administrators will probably have to advise their less technically minded users on how to get templates working again. In the meantime, please use the "admin mode" feature to change the settings of the blogs whose templates are not working to use a working one.
The requirements of LifeType 1.2 have not changed:
- Apache Web Server
- PHP 4.1.x or PHP 5.x
- MySQL 3.23 or higher
Download and Setup
Backing up your data
Before even downloading LifeType 1.2, it is strongly recommended that you back up all your data. This includes:
- All PHP code and classes, including customizations if any. - All customized templates - All files under the gallery/ folder.
The contents of the tmp/ folder are not necessary and do not need to be included in a backup.
However the area that deserves the most attention when backing up your currently working instance is the SQL data. Use your favourite tool (such as phpMySQLAdmin) to back your data up and keep this back up around for a while. The upgrade process has been thoroughly tested but you never know when you may realise that some data is not correct.
LifeType releases are always made avaiable via the project page at Sourceforge.net. Please get the latest release from the Downloads section in either .tar.gz or .tar.bz2 format.
Extraction and Upload
If you've downloaded LifeType from the LifeType project page, the files should have arrived on your computer in an archived format. In Windows, WinZip is capable of reading both .tar.gz and .tar.bz2. StuffIt in Mac OS X is also capable of handling this kind of files or you can always open a Terminal session and use 'tar'.
Before uploading the new version, back up a copy of the config/config.properties.php file to make sure that you do not overwrite it with the default version.
After making a backup copy of your config.properties.php file, delete everything from your current instance except the contents of the gallery/ folder and any customized templates you may have. In the past there have been issues with FTP clients not overwriting all files with the new copies as expected, resulting in old files mixed with new files and therefore the project recommends to remove everything before installing a new release.
Now please upload the new version.
Once all the new files have been uploaded, overwrite the stock version of config/config.properties.php with the copy that you kept before.
Start the wizard.php script. Wizard.php will detect your old settings in the configuration file and start the upgrading process automatically (keep reading for more information)
Setting up for Upgrade
No special requirements are needed in order to start the upgrade process, just make sure that the 'tmp/' folder is writable. Since we're only performing an upgrade, the wizard will not write anything to the config/config.properties.php file so there is no need to make it world-writable as if we were performing a clean, fresh installation.
This section will guide you through the process of upgrading your LifeType installation from an older 1.1.x release to LifeType 1.2. It is possible to upgrade to LifeType 1.2 from any of the releases of the 1.1 branch (1.1 up to 1.1.5) It is not possible, however, to use wizard.php to upgrade a LifeType 1.0.x (or older) installation to LifeType 1.2 and the recommended process in this situation is to upgrade to LifeType 1.1 first and then upgrade from there to LifeType 1.2.
The wizard.php script will check your config/config.properties.php file and automatically start an upgrade process if it detects some values in there. Hence the importance of keeping a copy of the current version before uploading the new one. If it does not detect anything in the configuration file, it will start the installation process and there will be no chance to start the upgrade process until we have restored the original configuration file.
This step will perform some basic checks to your environment to verify that it complies with the software requirements. Some requirements are strict (the installer will not proceed until they have been fulfilled) while other requirements are only recomendations and the installer will allow you to proceed with the installation process although it will display a warning message.
If everything is correct, there will be a button labeled "Next" at the bottom right corner.
Wizard.php will now display the current configuration settings and ask us to confirm that they are correct. If they are, we can proceed to the next step.
It is not possible to change these values here in case they are not correct, so if they are not, the file config/config.properties.php will need to be edited manually and the upgrade process restarted.
In this step the wizard will make the changes needed to some of the currently existing tables and will create some new ones. These are only changes to the database schema, and no data will be modified at this point.
These changes will be carried out automatically and no user interaction is needed. Once the changes are ready, the installer script will display a confirmation window and will allow us to move to the next step.
In this step, the installer script will make all the necessary changes to the data (the format of some of the data required to function properly has changed) These is the data converted in this process for LifeType 1.2:
- The new list of permissions and admin permissions is reloaded
- The old lt_users_permissions table is reprocessed in order to match the format expected by LifeType 1.2.
- All your resources/media will be processed and renamed to their "real" name so that it can be served by the web server. This is one of the improvements implemented in LifeType 1.2 whereas resserver.php (the script that was used to server files up until LifeType 1.2) is removed from the picture and the web server takes over serving the media files. This also means that the format of the URLs used to link to resources has also changed, although LifeType will make sure that old links keep working.
This data upgrade process is entirely automatic and will make your browser reload several times during the process in order to avoid browser or server timeouts when processing huge amounts of data.
NOTE: please do not attempt to click the refresh button or stop the process, or data will be left in an inconsitent state. If for whatever reason the process interrupts, the only way to get it started again is to restore the back up copy that was taken before starting the upgrade and try again.
Finalizing the Installation
At this point the installer has finished making all the necessary changes and our previous LifeType 1.1 installation has been upgraded to 1.2. Please don't forget to remove wizard.php.
Upgrading templates and plugins
When upgrading to a major releases, chances are that there have been changes as the API level which affect both plugins and templates.
This means that after, for example, getting our instance upgraded to LifeType 1.2 from LifeType 1.1.x we will have to also download and install updated versions of the plugins and templates that we are using. In case one of the needed plugins has not been updated yet, chances are it might still work if the API calls it uses have not been changed.
Please remember to update your plugins before even attempting to test your new installation, or else you might get unexpected results. The Plugins page lists all the plugins available for LifeType 1.2, and those that have not been ported yet are listed in the Unported section.
Regarding templates, most of them should work right away in LifeType 1.2 although they will not use some of the newest features (such as paging) until they have been updated. The Templates page lists all the available templates and Updating templates for LifeType 1.2 outlines all the changes necessary to get older templates working with LifeType 1.2.
Obviously if any of your templates uses a plugin that has not been updaded to work with LifeType 1.2, this will cause some extra trouble.
Upgrading to maintenance releases
The project will usually release a few maintenance/bugfix releases during the lifetime of a "major" release. This means that once LifeType 1.2 is out, LifeType 1.2.1, 1.2.2 and as many as needed may be released to fix issues found with previous releases. These releases do not usually add new features and do not change the API. This ensure that plugins and customizations developed for LifeType 1.2 will work with any of the releases of the 1.2.x branch.
When upgrading to the latest release of the current stable branch there are two possibilities: download the full release package or alternatively, use an "upgrade" package to upgrade from one point release to another, such as from 1.2.1 to 1.2.2.
Regardless of the upgrade package used, there is no need to use wizard.php when upgrading to a minor/maintenance release.
Upgrading using incremental packages
Upgrade pacakges are smaller and therefore faster to download and upload in your server since they only include the files that were changes in the release. Additionally, these packages are useful if you maintain a customized version of LifeType and need to know which files changes.
Upgrade packages are usually noted as lifetype-1.2.X-upgrade-1.2.Y where X is the previous release from which to start upgrading and Y is the new release.
Upgrading using the upgrade package is the recommended option as it saves a lot of time. However the disadvantage is that this upgrade packages only allow to upgrade in sequential releases, i.e. only from 1.2.1 to 1.2.2, so the only way to upgrade from 1.2.1 to 1.2.5 is to either go through all the upgrade packages in sequence or grab the full 1.2.5 package and overwrite all files in our 1.2.1 installation.
Upgrading using the full package
If upgrading via the full package:
- Make a backup copy of config/config.properties.php
- Upload all files from the latest release package, making sure that old versions get overwritten.
- Restore the backed copy of config/config.properties.php