Update the app to v3.3¶
Before you start this procedure, make sure you have completed the previous step, Updating code to v3.
5. Update 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.
Note
Ibexa DXP v3.3 requires Composer 2.0.13 or higher.
First, create an update branch update-3.3
in git and commit your work.
If you have not done it before, add the relevant meta-repository as an upstream
remote:
1 |
|
1 |
|
1 |
|
Tip
It is good practice to make git commits after every step of the update procedure.
A. Merge project skeleton¶
Merge the current skeleton into your project:
1 2 3 |
|
1 2 3 |
|
1 2 3 |
|
This introduces changes from the relevant website skeleton and results in conflicts.
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.
Tip
You can also approach resolving conflicts differently:
run git checkout --theirs composer.json
to get a clean composer.json
from the skeleton
and then manually add any necessary changes from your project.
Caution
It is impossible to update an Enterprise edition (ezsystems/ezplatform-ee
)
to an Ibexa Content edition.
Also, make sure that composer.json
has the following repositories
entry:
1 2 3 4 |
|
B. Update the app¶
Update Symfony Flex, then update the dependencies:
1 2 |
|
Caution
Composer repository changes between 3.2 and 3.3 from updates.ez.no
to updates.ibexa.co
, therefore your credentials might be outdated.
username
and password
don't change.
The repository they're used on changes.
See Composer authentication documentation to find the precedure that suits the way you're passing credentials.
In production, replace the old repository with the new one.
But as a developer, you may need to go back to an earlier version, and should keep the old repository as well.
For example, your auth.json
may look like this:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
C. Configure the web server¶
Add the following rewrite rule to your web server configuration:
1 |
|
1 |
|
6. Update the database¶
Apply the following database update script:
1 |
|
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.
7. Update to the latest patch version¶
Now, proceed to the last step, updating to the latest v3.3 patch version.