Quick links: Content - sections - sub sections
EN FR
Jelix 1.8.0-dev

Chapter: Migrating from a previous version

« New features ^ Introduction
Switch to language: FR

When you migrate from an old version of jelix to a newer one, you always must do these tasks:

  • If you are using Composer, change the version into your composer.json.
  • If you installed Jelix from a zip/tar.gz package, replace the lib/ directory by the one provided in the new version.
  • remove all the files in the temp/yourapp/ directory
  • update your code as specified hereafter.
  • launch the migration tool which will probably modify some files and directories
  • In each instance of the application, launch the configurator and the installer of Jelix

Updating from Jelix 1.6 or lower

Migrate to Jelix 1.7 first.

Read the upgrade instructions of all previous versions and then follow instructions below.

Upgrading from jelix 1.7.x

Here are all steps to follow to migrate your application.

Requirements

Jelix 1.8 needs PHP 7.3 minimum. Verify that you have this version of PHP on your server, or an higher one. PHP 7.3 or higher is recommended.

Backup

First, do a backup of your databases, and of your application files (modules, configuration etc.).

Temp directories

As usual, you must remove every files into the temp/yourapp/ directory.

Installing files of Jelix

If you are using Composer

Install Composer by reading its instructions.

In the directory of your project, you have a composer.json file. It should indicate the package jelix/jelix or jelix/jelix-standard as a dependency, in the require section. You should set it to ^1.8.0.

Example:


{
    "name": "mycompany/myapp",
    "type": "application",
    "require": {
        "jelix/jelix": "^1.8.0"
    }
}

Then on the command line, type:


composer update

Skip the following section.

If you don't use Composer

Download the Jelix package from the download site of Jelix, as usual.

Replace the lib/ directory by the new one. Take care about librairies stored in the previous lib/ that were not provided by Jelix.

Upgrading your modules

Update sources of vendor's modules that you have installed, with version compatible with Jelix 1.8.

For your own modules, in module.xml files, indicate that the module is compatible with Jelix 1.8 (change the attribute maxversion). Example:


        <jelix minversion="1.6" maxversion="1.8.*"/>

Updating your code

See the detailed changelog to know what are the new classes and methods you can use, deprecated components, and which API have been removed etc...

There are also changes in some API, so you have to modify your code if you are using them:

  • TODO Nothing for the moment

Some features, API and modiles have been removed. See the full list in the detailed changelog. Be sure to modify the code that use them.

Launch of the migration script

The migration system will do many changes for you:

  • TODO Nothing for the moment

Launch now php dev.php jelix:migrate -v.

Update of Jelix instances

Now that the source code and main configuration of the application have been updated, you should save files into your source code manager, deploy sources to your test server (in particularly your local server).

Each time you deploy new sources on a server, you should launch the local configurator, and the installer.

In the current specific case, the local configurator will end the configuration and the migration of some configuration parameters tied to the server context. The installer will launch the update of data into the database.

So, erase any files from your temp directory, then launch:


php install/configurator.php -v

php install/installer.php -v

The end

After all these operations, your application should work.