diff --git a/docs/update_and_migration/from_2.5/to_3.3.latest.md b/docs/update_and_migration/from_2.5/to_3.3.latest.md deleted file mode 100644 index 8e876f1ae4..0000000000 --- a/docs/update_and_migration/from_2.5/to_3.3.latest.md +++ /dev/null @@ -1,177 +0,0 @@ ---- -target_version: '3.3' -latest_tag: '3.3.24' ---- - -# 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](to_3.3.md). - -Finally, bring your installation to the latest release of v3.3. - -## 6. Update the database - -[[% include 'snippets/update/db/update_db_2.5-3.3.md' %]] - -## 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: - -1. Run the `php bin/console cache:clear` command to generate the service container. - -1. 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_` - -1. For every entity manager prefixed with `ibexa_`, run the following command: - - `php bin/console doctrine:schema:update --em= --dump-sql` - -1. Review the queries and ensure that there are no harmful changes that could affect your data. - -1. For every entity manager prefixed with `ibexa_`, run the following command to run queries on the database: - - `php bin/console doctrine:schema:update --em= --force` - -#### VCL configuration for Fastly - -[[% include 'snippets/update/vcl_configuration_for_fastly_v3.md' %]] - -#### Optimize workflow queries - -Run the following SQL queries to optimize workflow performance: - -``` sql -CREATE INDEX idx_workflow_co_id_ver ON ezeditorialworkflow_workflows(content_id, version_no); -CREATE INDEX idx_workflow_name ON ezeditorialworkflow_workflows(workflow_name); -``` - -#### 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: - -``` yaml -ezplatform: - system: - default: - commerce: - enabled: true -``` - -Next, run the following command: - -``` bash -php bin/console ibexa:upgrade --force -``` - -#### Database update - -If you are using MySQL, run the following update script: - -``` sql -mysql -u -p < vendor/ibexa/installer/upgrade/db/mysql/ibexa-3.3.1-to-3.3.2.sql -``` - -### B. v3.3.7 - -#### Commerce configuration - -If you are using Commerce, run the following migration action to update the way Commerce configuration is stored: - -``` bash -php bin/console ibexa:migrations:migrate --file=src/bundle/Resources/install/migrations/content/Components/move_configuration_to_settings.yaml -``` - -#### Database update - -Run the following SQL commands: - -=== "MySQL" - - ``` sql - CREATE TABLE IF NOT EXISTS `ibexa_workflow_version_lock` ( - `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, - `content_id` INT(11) NOT NULL, - `version` INT(11) NOT NULL, - `user_id` INT(11) NOT NULL, - `created` INT(11) NOT NULL DEFAULT 0, - `modified` INT(11) NOT NULL DEFAULT 0, - `is_locked` BOOLEAN NOT NULL DEFAULT true, - KEY `ibexa_workflow_version_lock_content_id_index` (`content_id`) USING BTREE, - KEY `ibexa_workflow_version_lock_user_id_index` (`user_id`) USING BTREE, - UNIQUE KEY `ibexa_workflow_version_lock_content_id_version_uindex` (`content_id`,`version`) USING BTREE - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - ``` - -=== "PostgreSQL" - - ``` sql - CREATE TABLE IF NOT EXISTS ibexa_workflow_version_lock - ( - "id" SERIAL, - "content_id" INTEGER, - "version" INTEGER, - "user_id" INTEGER, - "created" INTEGER DEFAULT 0 NOT NULL, - "modified" INTEGER DEFAULT 0 NOT NULL, - "is_locked" boolean DEFAULT TRUE NOT NULL, - CONSTRAINT "ibexa_workflow_version_lock_pk" PRIMARY KEY ("id") - ); - - CREATE INDEX IF NOT EXISTS "ibexa_workflow_version_lock_content_id_index" - ON "ibexa_workflow_version_lock" ("content_id"); - - CREATE INDEX IF NOT EXISTS "ibexa_workflow_version_lock_user_id_index" - ON "ibexa_workflow_version_lock" ("user_id"); - - CREATE UNIQUE INDEX IF NOT EXISTS "ibexa_workflow_version_lock_content_id_version_uindex" - ON "ibexa_workflow_version_lock" ("content_id", "version"); - ``` - -### C. v3.3.9 - -#### Database update - -Run the following scripts: - -=== "MySQL" - - ``` sql - mysql -u -p < vendor/ibexa/installer/upgrade/db/mysql/ibexa-3.3.8-to-3.3.9.sql - ``` - -=== "PostgreSQL" - - ``` sql - psql < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-3.3.8-to-3.3.9.sql - ``` - -### D. v3.3.24 - -#### VCL configuration for Fastly - -[[= product_name =]] 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. - -1. Locate the `vendor/ezsystems/ezplatform-http-cache-fastly/fastly/ez_main.vcl` file and update your VCL file with the recent changes. -2. Do the same with `vendor/ezsystems/ezplatform-http-cache-fastly/fastly/ez_user_hash.vcl`. -3. Upload a new `snippet_re_enable_shielding.vcl` snippet file, based on `vendor/ezsystems/ezplatform-http-cache-fastly/fastly/snippet_re_enable_shielding.vcl`. - -## 8. Finish the update - -[[% include 'snippets/update/finish_the_update.md' %]] - -[[% include 'snippets/update/notify_support.md' %]] diff --git a/docs/update_and_migration/from_2.5/to_3.3.md b/docs/update_and_migration/from_2.5/to_3.3.md index 3c3cae8d70..8cd06928ce 100644 --- a/docs/update_and_migration/from_2.5/to_3.3.md +++ b/docs/update_and_migration/from_2.5/to_3.3.md @@ -152,6 +152,10 @@ Add the following rewrite rule to your web server configuration: rewrite "^/build/(.*)" "/build/$1" break; ``` -## Next steps +## 6. Update the database -Now, proceed to the last step, [updating to the latest v3.3 patch version](to_3.3.latest.md). +[[% include 'snippets/update/db/update_db_2.5-3.3.md' %]] + +## 7. Update to the latest patch version + +Now, proceed to the last step, [updating to the latest v3.3 patch version](update_from_3.3.md). diff --git a/docs/update_and_migration/from_2.5/update_from_2.5.md b/docs/update_and_migration/from_2.5/update_from_2.5.md index 506966bc0b..07edab4473 100644 --- a/docs/update_and_migration/from_2.5/update_from_2.5.md +++ b/docs/update_and_migration/from_2.5/update_from_2.5.md @@ -16,6 +16,6 @@ Afterwards, it is strongly recommended to also [update to the latest v4.6 LTS](t 1. [Update the app](to_3.2.md#3-update-the-app) 1. [Update code to v3](adapt_code_to_v3.md) 1. [Update to v3.3](to_3.3.md) -1. [Update the database](to_3.3.latest.md#6-update-the-database) -1. [Update to the latest patch version](to_3.3.latest.md#7-update-to-the-latest-patch-version) -1. [Finish the update](to_3.3.latest.md#8-finish-the-update) +1. [Update the database](to_3.3.md#6-update-the-database) +1. [Update to the latest patch version](update_from_3.3.md) +1. [Finish the update](update_from_3.3.md#finish-the-update) diff --git a/docs/update_and_migration/from_3.3/update_from_3.3.md b/docs/update_and_migration/from_3.3/update_from_3.3.md index a6888a0394..192dca0e26 100644 --- a/docs/update_and_migration/from_3.3/update_from_3.3.md +++ b/docs/update_and_migration/from_3.3/update_from_3.3.md @@ -5,6 +5,7 @@ description: Update your installation to the latest v3.3 version from an earlier # Update from v3.3.x to v3.3.latest This update procedure applies if you are using a v3.3 installation without the latest maintenance release. +To update from an 3.2 to 3.3, see [Updating the app to v3.3](to_3.3.md). From older version, explore [this section](update_ibexa_dxp.md). Go through the following steps to update to the latest maintenance release of v3.3 (v[[= latest_tag_3_3 =]]). @@ -439,3 +440,9 @@ Run the following scripts: ### v3.3.40 A command to deal with duplicated database entries, as reported in [IBX-8562](https://issues.ibexa.co/browse/IBX-8562), will be available soon. + +## Finish the update + +[[% include 'snippets/update/finish_the_update.md' %]] + +[[% include 'snippets/update/notify_support.md' %]] diff --git a/docs/update_and_migration/from_4.4/update_from_4.4.md b/docs/update_and_migration/from_4.4/update_from_4.4.md index f392bab65a..78535758a4 100644 --- a/docs/update_and_migration/from_4.4/update_from_4.4.md +++ b/docs/update_and_migration/from_4.4/update_from_4.4.md @@ -240,56 +240,6 @@ php bin/console ibexa:migrations:import vendor/ibexa/order-management/src/bundle php bin/console ibexa:migrations:migrate --file=order_permissions.yaml ``` -### v4.5.2 +## Update to v4.5.latest -#### Database update - -Run the following scripts: - -=== "MySQL" - - ``` bash - mysql -u -p < vendor/ibexa/installer/upgrade/db/mysql/ibexa-4.5.1-to-4.5.2.sql - ``` - -=== "PostgreSQL" - - ``` bash - psql < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.5.1-to-4.5.2.sql - ``` - -### v4.5.3 - -#### Database update [[% include 'snippets/experience_badge.md' %]] [[% include 'snippets/commerce_badge.md' %]] - -Run the following scripts: - -=== "MySQL" - - ``` bash - mysql -u -p < vendor/ibexa/installer/upgrade/db/mysql/ibexa-4.5.2-to-4.5.3.sql - ``` - -=== "PostgreSQL" - - ``` bash - psql < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.5.2-to-4.5.3.sql - ``` - -### v4.5.4 - -#### Database update - -Run the following scripts: - -=== "MySQL" - - ``` bash - mysql -u -p < vendor/ibexa/installer/upgrade/db/mysql/ibexa-4.5.3-to-4.5.4.sql - ``` - -=== "PostgreSQL" - - ``` bash - psql < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.5.3-to-4.5.4.sql - ``` +You can now continue applying the instructions for the 4.5 patch releases, starting with [v4.5.2](update_from_4.5.md#v452). diff --git a/docs/update_and_migration/from_4.5/update_from_4.5.md b/docs/update_and_migration/from_4.5/update_from_4.5.md index 2633d6f9c3..28f813bc38 100644 --- a/docs/update_and_migration/from_4.5/update_from_4.5.md +++ b/docs/update_and_migration/from_4.5/update_from_4.5.md @@ -85,6 +85,7 @@ Run the following scripts: ``` bash psql < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.5.3-to-4.5.4.sql ``` + ## Update from v4.5.latest to v4.6 When you have the latest version of v4.5, you can update to v4.6. @@ -473,115 +474,6 @@ php bin/console ibexa:elasticsearch:put-index-template --overwrite php bin/console ibexa:reindex ``` - - -## v4.6.2 - -#### Database update - -Run the following scripts: - -=== "MySQL" - - ``` bash - mysql -u -p < vendor/ibexa/installer/upgrade/db/mysql/ibexa-4.6.1-to-4.6.2.sql - ``` - -=== "PostgreSQL" - - ``` bash - psql < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.6.1-to-4.6.2.sql - ``` - -## v4.6.3 - -### Notification config update - -The configuration of the package `ibexa/notifications` has changed. -This package is required by other packages, such as `ibexa/connector-actito` for [Transactional emails](https://doc.ibexa.co/en/latest/commerce/transactional_emails/transactional_emails/), `ibexa/payment`, or `ibexa/user`. - -If you are customizing the configuration of the `ibexa/notifications` package, and using SiteAccess aware configuration to change the `Notification` subscriptions, you have to manually change your configuration by using the new node name `notifier` instead of the old `notifications`. - -For example, the following v4.6.2 config: - -```yaml hl_lines="4" -ibexa: - system: - my_siteacces_name: - notifications: # old - subscriptions: - Ibexa\Contracts\Shipping\Notification\ShipmentStatusChange: - channels: - - sms -``` - -becomes the following from v4.6.3: - -```yaml hl_lines="4" -ibexa: - system: - my_siteacces_name: - notifier: # new - subscriptions: - Ibexa\Contracts\Shipping\Notification\ShipmentStatusChange: - channels: - - sms -``` - -## v4.6.4 - -#### Database update +## Update to v4.6.latest -Run the following scripts: - -=== "MySQL" - - ``` bash - mysql -u -p < vendor/ibexa/installer/upgrade/db/mysql/ibexa-4.6.3-to-4.6.4.sql - ``` - -=== "PostgreSQL" - - ``` bash - psql < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.6.3-to-4.6.4.sql - ``` - -## v4.6.8 - -To avoid deprecations when updating from an older PHP version to PHP 8.2 or 8.3, run the following commands: - -``` bash -composer config extra.runtime.error_handler "\\Ibexa\\Contracts\\Core\\MVC\\Symfony\\ErrorHandler\\Php82HideDeprecationsErrorHandler" -composer dump-autoload -``` - -## v4.6.9 - -No additional steps needed. - -## v4.6.10 - -A command to deal with duplicated database entries, as reported in [IBX-8562](https://issues.ibexa.co/browse/IBX-8562), will be available soon. - -## v4.6.11 - -### Ibexa Cloud - -Update Platform.sh configuration for PHP and Varnish. - -Generate new configuration with the following command: - -```bash -composer ibexa:setup --platformsh -``` - -Review the changes applied to `.platform.app.yaml` and `.platform/`, -merge with your custom settings if needed, and commit them to Git. - -## v4.6.12 - -If the new bundle `ibexa/core-search` has not been added by the recipies, enable it by adding the following line in `config/bundles.php`: - -```php - Ibexa\Bundle\CoreSearch\IbexaCoreSearchBundle::class => ['all' => true], -``` +Now, proceed to the last step, [updating to the latest v4.6 patch version](update_from_4.6.md). diff --git a/docs/update_and_migration/from_4.6/update_from_4.6.md b/docs/update_and_migration/from_4.6/update_from_4.6.md new file mode 100644 index 0000000000..0da7dd7f38 --- /dev/null +++ b/docs/update_and_migration/from_4.6/update_from_4.6.md @@ -0,0 +1,145 @@ +--- +description: Update your installation to the latest v4.6 version from an earlier v4.6 version. +--- + +# Update from v4.6.x to v4.6.latest + +## Update the application + +Note which version you actually have before starting. + +First, run: + +=== "[[= product_name_headless =]]" + + ``` bash + composer require ibexa/headless:[[= latest_tag_4_6 =]] --with-all-dependencies --no-scripts + composer recipes:install ibexa/headless --force -v + ``` +=== "[[= product_name_exp =]]" + + ``` bash + composer require ibexa/experience:[[= latest_tag_4_6 =]] --with-all-dependencies --no-scripts + composer recipes:install ibexa/experience --force -v + ``` +=== "[[= product_name_com =]]" + + ``` bash + composer require ibexa/commerce:[[= latest_tag_4_6 =]] --with-all-dependencies --no-scripts + composer recipes:install ibexa/commerce --force -v + ``` + +Then execute the instructions below starting from the version you're upgrading from. + + + +## v4.6.2 + +#### Database update + +Run the following scripts: + +=== "MySQL" + + ``` bash + mysql -u -p < vendor/ibexa/installer/upgrade/db/mysql/ibexa-4.6.1-to-4.6.2.sql + ``` + +=== "PostgreSQL" + + ``` bash + psql < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.6.1-to-4.6.2.sql + ``` + +## v4.6.3 + +### Notification config update + +The configuration of the package `ibexa/notifications` has changed. +This package is required by other packages, such as `ibexa/connector-actito` for [Transactional emails](https://doc.ibexa.co/en/latest/commerce/transactional_emails/transactional_emails/), `ibexa/payment`, or `ibexa/user`. + +If you are customizing the configuration of the `ibexa/notifications` package, and using SiteAccess aware configuration to change the `Notification` subscriptions, you have to manually change your configuration by using the new node name `notifier` instead of the old `notifications`. + +For example, the following v4.6.2 config: + +```yaml hl_lines="4" +ibexa: + system: + my_siteacces_name: + notifications: # old + subscriptions: + Ibexa\Contracts\Shipping\Notification\ShipmentStatusChange: + channels: + - sms +``` + +becomes the following from v4.6.3: + +```yaml hl_lines="4" +ibexa: + system: + my_siteacces_name: + notifier: # new + subscriptions: + Ibexa\Contracts\Shipping\Notification\ShipmentStatusChange: + channels: + - sms +``` + +## v4.6.4 + +#### Database update + +Run the following scripts: + +=== "MySQL" + + ``` bash + mysql -u -p < vendor/ibexa/installer/upgrade/db/mysql/ibexa-4.6.3-to-4.6.4.sql + ``` + +=== "PostgreSQL" + + ``` bash + psql < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.6.3-to-4.6.4.sql + ``` + +## v4.6.8 + +To avoid deprecations when updating from an older PHP version to PHP 8.2 or 8.3, run the following commands: + +``` bash +composer config extra.runtime.error_handler "\\Ibexa\\Contracts\\Core\\MVC\\Symfony\\ErrorHandler\\Php82HideDeprecationsErrorHandler" +composer dump-autoload +``` + +## v4.6.9 + +No additional steps needed. + +## v4.6.10 + +A command to deal with duplicated database entries, as reported in [IBX-8562](https://issues.ibexa.co/browse/IBX-8562), will be available soon. + +## v4.6.11 + +### Ibexa Cloud + +Update Platform.sh configuration for PHP and Varnish. + +Generate new configuration with the following command: + +```bash +composer ibexa:setup --platformsh +``` + +Review the changes applied to `.platform.app.yaml` and `.platform/`, +merge with your custom settings if needed, and commit them to Git. + +## v4.6.12 + +If the new bundle `ibexa/core-search` has not been added by the recipies, enable it by adding the following line in `config/bundles.php`: + +```php + Ibexa\Bundle\CoreSearch\IbexaCoreSearchBundle::class => ['all' => true], +``` diff --git a/mkdocs.yml b/mkdocs.yml index e9144488a9..a4396ef833 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -805,7 +805,7 @@ nav: - 8. Update REST: update_and_migration/from_2.5/update_code/8_update_rest.md - 9. Other code updates: update_and_migration/from_2.5/update_code/9_update_other.md - Update to v3.3: update_and_migration/from_2.5/to_3.3.md - - Update to latest v3.3: update_and_migration/from_2.5/to_3.3.latest.md + - Update to latest v3.3: update_and_migration/from_3.3/update_from_3.3.md - Update from v3.3: - Update to v3.3.latest: update_and_migration/from_3.3/update_from_3.3.md - Update to v4.0: update_and_migration/from_3.3/to_4.0.md @@ -822,7 +822,9 @@ nav: - Update from v4.4: - Update to v4.5: update_and_migration/from_4.4/update_from_4.4.md - Update from v4.5: - - Update to v4.6: update_and_migration/from_4.5/update_from_4.5.md + - Update to v4.6: update_and_migration/from_4.5/update_from_4.5.md + - Update from v4.6: + - Update to v4.6: update_and_migration/from_4.6/update_from_4.6.md - Migrate to Ibexa DXP: - Migrate from eZ Publish Platform: update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md - Migrate from eZ Publish: update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish.md diff --git a/plugins.yml b/plugins.yml index 4b0e73d113..731100cbdc 100644 --- a/plugins.yml +++ b/plugins.yml @@ -492,7 +492,7 @@ plugins: 'updating/from_2.5/update_code/8_update_rest.md': 'update_and_migration/from_2.5/update_code/8_update_rest.md' 'updating/from_2.5/update_code/9_update_other.md': 'update_and_migration/from_2.5/update_code/9_update_other.md' 'updating/from_2.5/to_3.3.md': 'update_and_migration/from_2.5/to_3.3.md' - 'updating/from_2.5/to_3.3.latest.md': 'update_and_migration/from_2.5/to_3.3.latest.md' + 'updating/from_2.5/to_3.3.latest.md': 'update_and_migration/from_3.3/update_from_3.3.md' 'updating/from_3.3/update_from_3.3.md': 'update_and_migration/from_3.3/update_from_3.3.md' 'updating/from_3.3/to_4.0.md': 'update_and_migration/from_3.3/to_4.0.md' 'updating/from_4.0/to_4.1.md': 'update_and_migration/from_4.0/to_4.1.md' @@ -500,6 +500,7 @@ plugins: 'migrating/migrating_from_ez_publish_platform.md': 'update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md' 'migrating/migrating_from_ez_publish.md': 'update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish.md' 'migrating/common_issues.md': 'update_and_migration/migrate_to_ibexa_dxp/common_issues.md' + 'update_and_migration/from_2.5/to_3.3.latest.md': 'update_and_migration/from_3.3/update_from_3.3.md' 'releases/ibexa_dxp_v4.2.md': 'release_notes/ibexa_dxp_v4.2.md' 'releases/ibexa_dxp_v4.1.md': 'release_notes/ibexa_dxp_v4.1.md'