Update to latest version of v3.3¶
Before you start this procedure, make sure you have completed the previous step, Updating the app to v3.3.
Finally, bring your installation to the latest release of v3.3.
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¶
A. v3.3.2¶
Update entity managers¶
Version v3.3.2 introduces new entity managers. To ensure that they work in multi-repository setups, you must update the Doctrine schema. You do this manually by following this procedure:
-
Run the
php bin/console cache:clear
command to generate the service container. -
Run the following command to discover the names of the new entity managers. Take note of the names that you discover:
php bin/console debug:container --parameter=doctrine.entity_managers --format=json | grep ibexa_
-
For every entity manager prefixed with
ibexa_
, run the following command:php bin/console doctrine:schema:update --em=<ENTITY_MANAGER_NAME> --dump-sql
-
Review the queries and ensure that there are no harmful changes that could affect your data.
-
For every entity manager prefixed with
ibexa_
, run the following command to run queries on the database:php bin/console doctrine:schema:update --em=<ENTITY_MANAGER_NAME> --force
VCL configuration for Fastly¶
If you use Fastly, deploy the most up-to-date VCL configuration.
Locate the vendor/ezsystems/ezplatform-http-cache-fastly/fastly/ez_main.vcl
file, make sure that it has been updated with the following changes, and upload it to your Fastly:
- Add the following lines:
1 2 3 |
|
- Move the
#FASTLY recv
macro call to a new location, right after thePreserve X-Forwarded-For in all requests
section.
Optimize workflow queries¶
Run the following SQL queries to optimize workflow performance:
1 2 |
|
Enable Commerce features¶
Commerce features in Experience and Content editions are disabled by default.
If you use these features, after the update enable Commerce features by going to config\packages\ecommerce.yaml
and setting the following:
1 2 3 4 5 |
|
Next, run the following command:
1 |
|
Database update¶
If you are using MySQL, run the following update script:
1 |
|
B. v3.3.7¶
Commerce configuration¶
If you are using Commerce, run the following migration action to update the way Commerce configuration is stored:
1 |
|
Database update¶
Run the following SQL commands:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
C. v3.3.9¶
Database update¶
Run the following scripts:
1 |
|
1 |
|
D. v3.3.24¶
VCL configuration for Fastly¶
Ibexa DXP now supports Fastly shielding. If you are using Fastly and want to use shielding, you need to update your VCL files.
Tip
Even if you do not plan to use Fastly shielding, it is recommended to update the VCL files for future compatibility.
- Locate the
vendor/ezsystems/ezplatform-http-cache-fastly/fastly/ez_main.vcl
file and update your VCL file with the recent changes. - Do the same with
vendor/ezsystems/ezplatform-http-cache-fastly/fastly/ez_user_hash.vcl
. - Upload a new
snippet_re_enable_shielding.vcl
snippet file, based onvendor/ezsystems/ezplatform-http-cache-fastly/fastly/snippet_re_enable_shielding.vcl
.
8. Finish the update¶
A. Platform.sh changes¶
If you are hosting your site on Ibexa Cloud be aware of the fact that Varnish is enabled by default as of v1.13.5, v2.4.3 and v2.5.0. If you are using Fastly, read about how to disable Varnish.
B. Dump assets¶
Dump web assets if you are using the prod
environment. In dev
this happens automatically:
1 2 |
|
If you encounter problems, additionally clear the cache and install assets:
1 2 3 4 |
|
C. Commit, test and merge¶
When you resolve all conflicts and update composer.lock
, commit the merge.
You may or may not keep composer.lock
, depending on your version management workflow.
If you do not want to keep it, run git reset HEAD composer.lock
to remove it from the changes.
Run git commit
, and adapt the message if necessary.
Go back to master
, and merge the update-3.3
branch:
1 2 |
|
Insecure password hashes
To ensure that no users have unsupported, insecure password hashes, run the following command:
1 2 3 4 |
|
This command checks if all user hashes are up-to-date and informs you if any of them need to be updated.
D. Complete the update¶
Complete the update by running the following commands:
1 2 3 4 5 6 |
|
Notify support¶
Please tell support that you have updated your installation. They will update your support portal to match the new version. This ensures that you receive notifications about new maintenance releases and security advisories for the correct version. You can contact support at support@ibexa.co or through your Support portal.