Updating Ibexa DXP to v3.3¶
Ibexa DXP v3.3 uses Symfony Flex. When updating from v3.2 to v3.3, you need to follow a special update procedure.
If you are updating from an earlier version, start with updating your installation to v3.2.
First, create an upgrade branch in git and commit your work.
If you have not done it before, add the relevant meta-repository as upstream
remote:
1 |
|
1 |
|
1 |
|
Tip
It is good practice to make git commits after every step of the update procedure.
Merge composer.json¶
Merge the special update branch into your project:
1 |
|
This will introduce changes from the website skeleton
and result in conflicts in composer.json
.
Resolve the conflicts in the following way:
- Make sure all automatically added
ezsystems/*
packages are removed. If you explicitly added any packages that are not part of the standard installation, retain them. - Review the rest of the packages. If your project requires a package, keep it.
- If a package is only used as a dependency of an
ezsystems
package, remove it. You can check how the package is used withcomposer why <packageName>
. - Keep the dependencies listed in the website skeleton.
Make sure extra.symfony.endpoint
is set to https://flex.ibexa.co
, and extra.symfony.require
to 5.2.*
:
1 2 |
|
For all dependencies that you removed from composer.json
, check if the bin
folder contains files that will not be used and remove them, for example:
1 |
|
Add your Ibexa DXP edition to composer.json
, for example:
1 |
|
Caution
It is impossible to update an Enterprise edition (ezsystems/ezplatform-ee
)
to an Ibexa Content edition.
Update the app¶
Run composer update
to update the dependencies:
1 |
|
If Composer informs you that the composer.lock
file is out of date, run composer update
again.
Update recipes for third party packages¶
Run composer recipes
to get a list of all the available recipes.
For every recipe that needs updating, run:
1 |
|
Review changes from each package and integrate them into your project.
Install Ibexa recipes¶
Install recipes for Ibexa packages for your product edition, for example:
1 |
|
Review the changes and add them to your project.
Then, run the post-installation command:
1 |
|
Configure the web server¶
Add the following rewrite rule to your web server configuration:
1 |
|
1 |
|
Update the database¶
Caution
Before starting this step, back up your database.
Apply the following database update script:
mysql -u <username> -p <password> <database_name> < upgrade/db/mysql/ezplatform-3.2.0-to-3.3.0.sql
psql <database_name> < upgrade/db/postgresql/ezplatform-3.2.0-to-3.3.0.sql
If you are updating from an installation based on the ezsystems/ezplatform-ee
metarepository,
run the following command to upgrade your database:
1 |
|
Caution
You can only run this command once.
Check the Location ID of the "Components" Content item and set it as a value of the content_tree_module.contextual_tree_root_location_ids
key in config/ezplatform.yaml
:
1 |
|
If you are upgrading between Ibexa Commerce versions,
add the content/read
Policy with the Owner Limitation set to self
to the "Ecommerce registered users" Role.
Finish the update¶
Finish the update by running the following commands:
1 2 |
|