diff --git a/resources/references/adr/2020-06-25-implement-architecture-decision-records.md b/resources/references/adr/2020-06-25-implement-architecture-decision-records.md index ef740cd31..e4edfe3e2 100644 --- a/resources/references/adr/2020-06-25-implement-architecture-decision-records.md +++ b/resources/references/adr/2020-06-25-implement-architecture-decision-records.md @@ -2,14 +2,8 @@ title: Implement architecture decision records date: 2020-06-25 area: core -tags: - - adr - - workflow -nav: - title: Implement architecture decision records - position: 10 - ---- +tags: [adr, workflow] +--- # Implement architecture decision records diff --git a/resources/references/adr/2020-07-02-control-clone-behavior.md b/resources/references/adr/2020-07-02-control-clone-behavior.md index 1809ff686..89ba3c89b 100644 --- a/resources/references/adr/2020-07-02-control-clone-behavior.md +++ b/resources/references/adr/2020-07-02-control-clone-behavior.md @@ -2,17 +2,8 @@ title: Get control of association clone behavior as developer date: 2020-07-02 area: core -tags: - - repository - - entity - - clone - - flag - - association -nav: - title: Control clone behavior - position: 20 - ---- +tags: [repository, entity, clone, flag, association] +--- # Get control of association clone behavior as developer diff --git a/resources/references/adr/2020-07-02-implement-sales-channel-context-token-requirement.md b/resources/references/adr/2020-07-02-implement-sales-channel-context-token-requirement.md index 123644f88..70dd4703d 100644 --- a/resources/references/adr/2020-07-02-implement-sales-channel-context-token-requirement.md +++ b/resources/references/adr/2020-07-02-implement-sales-channel-context-token-requirement.md @@ -1,20 +1,9 @@ --- -title: Implement sales channel context token requirement for store-api and - sales-channel-api +title: Implement sales channel context token requirement for store-api and sales-channel-api date: 2020-07-02 area: core -tags: - - context - - token - - sales-channel - - store-api - - sales-channel-api - - api -nav: - title: Implement sales channel context token requirement - position: 30 - ---- +tags: [context, token, sales-channel, store-api, sales-channel-api, api] +--- # Implement sales channel context token requirement for store-api and sales-channel-api diff --git a/resources/references/adr/2020-08-03-implement-new-changelog.md b/resources/references/adr/2020-08-03-implement-new-changelog.md index dbac1985e..3d3adf043 100644 --- a/resources/references/adr/2020-08-03-implement-new-changelog.md +++ b/resources/references/adr/2020-08-03-implement-new-changelog.md @@ -2,13 +2,8 @@ title: Implement new changelog date: 2020-08-03 area: core -tags: - - changelog -nav: - title: Implement new changelog - position: 40 - ---- +tags: [changelog] +--- # Implement new changelog diff --git a/resources/references/adr/2020-08-10-feature-flag-system.md b/resources/references/adr/2020-08-10-feature-flag-system.md index d693bc98f..e8a7fc4f5 100644 --- a/resources/references/adr/2020-08-10-feature-flag-system.md +++ b/resources/references/adr/2020-08-10-feature-flag-system.md @@ -2,13 +2,7 @@ title: Feature flag system date: 2020-08-10 area: core -tags: - - feature-flag - - workflow -nav: - title: Feature flag system - position: 50 - +tags: [feature-flag, workflow] --- # Feature flag system diff --git a/resources/references/adr/2020-08-12-document-template-refactoring.md b/resources/references/adr/2020-08-12-document-template-refactoring.md index 48df8f44e..af20face8 100644 --- a/resources/references/adr/2020-08-12-document-template-refactoring.md +++ b/resources/references/adr/2020-08-12-document-template-refactoring.md @@ -2,15 +2,8 @@ title: Document template refactoring date: 2020-08-12 area: customer-order -tags: - - document - - template - - twig -nav: - title: Document template refactoring - position: 60 - ---- +tags: [document, template, twig] +--- # Document template refactoring diff --git a/resources/references/adr/2020-08-12-implement-app-system-inside-platform.md b/resources/references/adr/2020-08-12-implement-app-system-inside-platform.md index 76539bf82..391955370 100644 --- a/resources/references/adr/2020-08-12-implement-app-system-inside-platform.md +++ b/resources/references/adr/2020-08-12-implement-app-system-inside-platform.md @@ -2,14 +2,8 @@ title: Implement app system inside platform date: 2020-08-12 area: core -tags: - - app - - cloud -nav: - title: Implement app system inside platform - position: 70 - ---- +tags: [app, cloud] +--- # Implement app system inside platform diff --git a/resources/references/adr/2020-08-14-implement-individual-sorting.md b/resources/references/adr/2020-08-14-implement-individual-sorting.md index 28bd2ac11..73f89383f 100644 --- a/resources/references/adr/2020-08-14-implement-individual-sorting.md +++ b/resources/references/adr/2020-08-14-implement-individual-sorting.md @@ -2,17 +2,8 @@ title: Implement individual sorting date: 2020-08-14 area: core -tags: - - repository - - dal - - entity - - sort - - product -nav: - title: Implement individual sorting - position: 80 - ---- +tags: [repository, dal, entity, sort, product] +--- # Implement individual sorting diff --git a/resources/references/adr/2020-08-14-merchant-registration.md b/resources/references/adr/2020-08-14-merchant-registration.md index 7f6f4f470..2f07e8f85 100644 --- a/resources/references/adr/2020-08-14-merchant-registration.md +++ b/resources/references/adr/2020-08-14-merchant-registration.md @@ -2,15 +2,8 @@ title: Merchant registration date: 2020-08-14 area: customer-order -tags: - - merchant - - registration - - customer-group -nav: - title: Merchant registration - position: 90 - ---- +tags: [merchant, registration, customer-group] +--- # Merchant registration diff --git a/resources/references/adr/2020-08-19-handling-feature-flags.md b/resources/references/adr/2020-08-19-handling-feature-flags.md index 89ece4a1a..cb99460f1 100644 --- a/resources/references/adr/2020-08-19-handling-feature-flags.md +++ b/resources/references/adr/2020-08-19-handling-feature-flags.md @@ -2,14 +2,7 @@ title: Handling feature flags date: 2020-08-12 area: core -tags: - - feature-flag - - workflow - - major -nav: - title: Handling feature flags - position: 100 - +tags: [feature-flag, workflow, major] --- # Handling feature flags diff --git a/resources/references/adr/2020-08-21-unified-notification-titles.md b/resources/references/adr/2020-08-21-unified-notification-titles.md index 6a91b9a9f..82413b2e4 100644 --- a/resources/references/adr/2020-08-21-unified-notification-titles.md +++ b/resources/references/adr/2020-08-21-unified-notification-titles.md @@ -2,14 +2,8 @@ title: Notification titles are pre-defined and make use of the global namespace date: 2020-08-21 area: administration -tags: - - administration - - notification -nav: - title: Unified notification titles - position: 110 - ---- +tags: [administration, notification] +--- # Notification titles are pre-defined and make use of the global namespace @@ -87,3 +81,4 @@ It would cross the design idea of unified titles though and should only be consi > *When creating notifications, just decide on the correct type of notification, add a meaningful message, don't waste even a thought on creating a title... And you're done!* + diff --git a/resources/references/adr/2020-08-28-import-acl-privileges-from-other-roles.md b/resources/references/adr/2020-08-28-import-acl-privileges-from-other-roles.md index bd5d3b6ab..50e83ae9f 100644 --- a/resources/references/adr/2020-08-28-import-acl-privileges-from-other-roles.md +++ b/resources/references/adr/2020-08-28-import-acl-privileges-from-other-roles.md @@ -2,16 +2,8 @@ title: Import ACL privileges from other roles date: 2020-08-28 area: administration -tags: - - acl - - privileges - - dependency - - administration -nav: - title: Import acl privileges from other roles - position: 120 - ---- +tags: [acl, privileges, dependency, administration] +--- # Import ACL privileges from other roles diff --git a/resources/references/adr/2020-09-08-custom-field-label-loading-in-storefront.md b/resources/references/adr/2020-09-08-custom-field-label-loading-in-storefront.md index e0031bfea..c1df561b4 100644 --- a/resources/references/adr/2020-09-08-custom-field-label-loading-in-storefront.md +++ b/resources/references/adr/2020-09-08-custom-field-label-loading-in-storefront.md @@ -2,15 +2,8 @@ title: CustomField label loading in storefront date: 2020-09-08 area: storefront -tags: - - custom-fields - - storefront - - snippets -nav: - title: Custom field label loading in storefront - position: 130 - ---- +tags: [custom-fields, storefront, snippets] +--- # CustomField label loading in storefront diff --git a/resources/references/adr/2020-09-17-the-best-practice-to-always-re-fetch-the-data-after-saving.md b/resources/references/adr/2020-09-17-the-best-practice-to-always-re-fetch-the-data-after-saving.md index 17758e2ae..30f55e2a7 100644 --- a/resources/references/adr/2020-09-17-the-best-practice-to-always-re-fetch-the-data-after-saving.md +++ b/resources/references/adr/2020-09-17-the-best-practice-to-always-re-fetch-the-data-after-saving.md @@ -2,14 +2,8 @@ title: The best-practice to always re-fetch the data after saving date: 2020-09-17 area: administration -tags: - - administration - - data-handling -nav: - title: The best practice to always re fetch the data after saving - position: 140 - ---- +tags: [administration, data-handling] +--- # The best-practice to always re-fetch the data after saving diff --git a/resources/references/adr/2020-11-06-creating-events.md b/resources/references/adr/2020-11-06-creating-events.md index ba7f63b37..6d5a062c3 100644 --- a/resources/references/adr/2020-11-06-creating-events.md +++ b/resources/references/adr/2020-11-06-creating-events.md @@ -2,15 +2,8 @@ title: Creating events in Shopware date: 2020-11-06 area: core -tags: - - event - - context - - sales-channel-context -nav: - title: Creating events - position: 150 - ---- +tags: [event, context, sales-channel-context] +--- # Creating events in Shopware diff --git a/resources/references/adr/2020-11-19-dal-join-filter.md b/resources/references/adr/2020-11-19-dal-join-filter.md index de409339f..7e4fedd48 100644 --- a/resources/references/adr/2020-11-19-dal-join-filter.md +++ b/resources/references/adr/2020-11-19-dal-join-filter.md @@ -2,16 +2,8 @@ title: DAL join filter date: 2020-11-19 area: core -tags: - - dal - - join-filter - - negated-filter - - criteria -nav: - title: DAL join filter - position: 160 - ---- +tags: [dal, join-filter, negated-filter, criteria] +--- # DAL join filter diff --git a/resources/references/adr/2020-11-20-add-login-required-annotation.md b/resources/references/adr/2020-11-20-add-login-required-annotation.md index 5713fb93f..d7323f734 100644 --- a/resources/references/adr/2020-11-20-add-login-required-annotation.md +++ b/resources/references/adr/2020-11-20-add-login-required-annotation.md @@ -2,17 +2,8 @@ title: Add the login required annotation date: 2020-11-20 area: core -tags: - - annotation - - login - - customer - - api - - store-api -nav: - title: Add login required annotation - position: 170 - ---- +tags: [annotation, login, customer, api, store-api] +--- # Add the login required annotation diff --git a/resources/references/adr/2020-11-25-decoration-pattern.md b/resources/references/adr/2020-11-25-decoration-pattern.md index bb0b01e02..72ae74f8c 100644 --- a/resources/references/adr/2020-11-25-decoration-pattern.md +++ b/resources/references/adr/2020-11-25-decoration-pattern.md @@ -2,16 +2,8 @@ title: Decoration pattern date: 2020-11-25 area: core -tags: - - decoration - - plugin - - interface - - abstraction -nav: - title: Decoration pattern - position: 180 - ---- +tags: [decoration, plugin, interface, abstraction] +--- # Decoration pattern diff --git a/resources/references/adr/2020-12-02-removing-api-version.md b/resources/references/adr/2020-12-02-removing-api-version.md index d938f235c..a468a40da 100644 --- a/resources/references/adr/2020-12-02-removing-api-version.md +++ b/resources/references/adr/2020-12-02-removing-api-version.md @@ -2,15 +2,8 @@ title: API version removal date: 2020-12-02 area: core -tags: - - api - - versioning - - deprecation -nav: - title: Removing API version - position: 190 - ---- +tags: [api, versioning, deprecation] +--- # API version removal diff --git a/resources/references/adr/2021-01-21-deprecation-strategy.md b/resources/references/adr/2021-01-21-deprecation-strategy.md index 815d6554b..d36c4cc4f 100644 --- a/resources/references/adr/2021-01-21-deprecation-strategy.md +++ b/resources/references/adr/2021-01-21-deprecation-strategy.md @@ -2,14 +2,7 @@ title: Deprecation strategy date: 2021-01-21 area: core -tags: - - deprecation - - feature-flags - - workflow -nav: - title: Deprecation strategy - position: 200 - +tags: [deprecation, feature-flags, workflow] --- # Deprecation strategy diff --git a/resources/references/adr/2021-03-24-nested-line-items.md b/resources/references/adr/2021-03-24-nested-line-items.md index f2adac881..c1cc3faa6 100644 --- a/resources/references/adr/2021-03-24-nested-line-items.md +++ b/resources/references/adr/2021-03-24-nested-line-items.md @@ -2,15 +2,8 @@ title: Processing of nested line items date: 2020-03-24 area: checkout -tags: - - checkout - - cart - - line-items -nav: - title: Nested line items - position: 210 - ---- +tags: [checkout, cart, line-items] +--- # Processing of nested line items diff --git a/resources/references/adr/2021-05-14-when-to-use-plain-sql-or-dal.md b/resources/references/adr/2021-05-14-when-to-use-plain-sql-or-dal.md index 59be79f74..cc786cc29 100644 --- a/resources/references/adr/2021-05-14-when-to-use-plain-sql-or-dal.md +++ b/resources/references/adr/2021-05-14-when-to-use-plain-sql-or-dal.md @@ -2,18 +2,8 @@ title: When to use plain SQL or the DAL date: 2021-05-14 area: core -tags: - - sql - - dal - - store-api - - storefront - - admin-api - - entity-indexer -nav: - title: When to use plain sql or DAL - position: 220 - ---- +tags: [sql, dal, store-api, storefront, admin-api, entity-indexer] +--- # When to use plain SQL or the DAL diff --git a/resources/references/adr/2021-05-28-introduce-eslint-on-vue-admin.md b/resources/references/adr/2021-05-28-introduce-eslint-on-vue-admin.md index 5db47516d..ba404ad57 100644 --- a/resources/references/adr/2021-05-28-introduce-eslint-on-vue-admin.md +++ b/resources/references/adr/2021-05-28-introduce-eslint-on-vue-admin.md @@ -2,16 +2,8 @@ title: Vue administration app has ESLint support date: 2021-05-28 area: administration -tags: - - administration - - eslint - - vue - - linting -nav: - title: Introduce eslint on vue admin - position: 230 - ---- +tags: [administration, eslint, vue, linting] +--- # Vue administration app has ESLint support diff --git a/resources/references/adr/2021-06-14-introduce-jest-fail-on-console.md b/resources/references/adr/2021-06-14-introduce-jest-fail-on-console.md index 53fc902b6..e51e731a0 100644 --- a/resources/references/adr/2021-06-14-introduce-jest-fail-on-console.md +++ b/resources/references/adr/2021-06-14-introduce-jest-fail-on-console.md @@ -2,17 +2,8 @@ title: Introduce jest-fail-on-console date: 2021-06-14 area: administration -tags: - - jest - - test - - console - - error - - warning -nav: - title: Introduce jest fail on console - position: 240 - ---- +tags: [jest, test, console, error, warning] +--- # Introduce jest-fail-on-console diff --git a/resources/references/adr/2021-07-22-move-storefront-scripts-to-head.md b/resources/references/adr/2021-07-22-move-storefront-scripts-to-head.md index 118e1356a..244ac9510 100644 --- a/resources/references/adr/2021-07-22-move-storefront-scripts-to-head.md +++ b/resources/references/adr/2021-07-22-move-storefront-scripts-to-head.md @@ -2,15 +2,8 @@ title: Move storefront script to head with defer date: 2021-07-22 area: storefront -tags: - - storefront - - javascript - - performance -nav: - title: Move storefront scripts to head - position: 250 - ---- +tags: [storefront, javascript, performance] +--- # Move storefront script to head with defer diff --git a/resources/references/adr/2021-08-10-storefront-coding-standards.md b/resources/references/adr/2021-08-10-storefront-coding-standards.md index 6120ae0f5..1a47598de 100644 --- a/resources/references/adr/2021-08-10-storefront-coding-standards.md +++ b/resources/references/adr/2021-08-10-storefront-coding-standards.md @@ -2,15 +2,8 @@ title: Storefront coding standards date: 2021-08-10 area: storefront -tags: - - storefront - - coding-standards - - architecture -nav: - title: Storefront coding standards - position: 260 - ---- +tags: [storefront, coding-standards, architecture] +--- # Storefront coding standards diff --git a/resources/references/adr/2021-08-11-make-platform-stand-alone.md b/resources/references/adr/2021-08-11-make-platform-stand-alone.md index acbee2c60..c73f2b44e 100644 --- a/resources/references/adr/2021-08-11-make-platform-stand-alone.md +++ b/resources/references/adr/2021-08-11-make-platform-stand-alone.md @@ -2,16 +2,8 @@ title: Make shopware/shopware stand-alone for development and testing date: 2021-08-11 area: product-operations -tags: - - shopware - - platform - - development - - testing -nav: - title: Make platform stand alone - position: 270 - ---- +tags: [shopware, platform, development, testing] +--- # Make shopware/shopware stand-alone for development and testing diff --git a/resources/references/adr/2021-08-31-refactor-admin-build-process-to-webpack-multi-compiler-mode.md b/resources/references/adr/2021-08-31-refactor-admin-build-process-to-webpack-multi-compiler-mode.md index dac6cf553..a1c8aead1 100644 --- a/resources/references/adr/2021-08-31-refactor-admin-build-process-to-webpack-multi-compiler-mode.md +++ b/resources/references/adr/2021-08-31-refactor-admin-build-process-to-webpack-multi-compiler-mode.md @@ -2,16 +2,8 @@ title: Refactor admin build process to webpack-multi-compiler mode date: 2021-08-31 area: administration -tags: - - administration - - webpack - - plugin - - build -nav: - title: Refactor admin build process to webpack multi compiler mode - position: 280 - ---- +tags: [administration, webpack, plugin, build] +--- # Refactor admin build process to webpack-multi-compiler mode diff --git a/resources/references/adr/2021-09-06-make-core-mail-templates-independent-from-storefront-urls.md b/resources/references/adr/2021-09-06-make-core-mail-templates-independent-from-storefront-urls.md index c3c71c17f..ed8a5d6bc 100644 --- a/resources/references/adr/2021-09-06-make-core-mail-templates-independent-from-storefront-urls.md +++ b/resources/references/adr/2021-09-06-make-core-mail-templates-independent-from-storefront-urls.md @@ -2,15 +2,8 @@ title: Make Core mail templates independent from Storefront urls date: 2021-09-06 area: storefront -tags: - - mail - - storefront - - headless -nav: - title: Make core mail templates independent from storefront urls - position: 290 - ---- +tags: [mail, storefront, headless] +--- # Make Core mail templates independent from Storefront urls diff --git a/resources/references/adr/2021-09-14-technical-concept-custom-entities.md b/resources/references/adr/2021-09-14-technical-concept-custom-entities.md index b1de15866..3adf647a6 100644 --- a/resources/references/adr/2021-09-14-technical-concept-custom-entities.md +++ b/resources/references/adr/2021-09-14-technical-concept-custom-entities.md @@ -2,17 +2,8 @@ title: Technical concept custom entities date: 2021-08-31 area: core -tags: - - app - - custom-entities - - store-api - - dal - - admin-api -nav: - title: Technical concept custom entities - position: 300 - ---- +tags: [app, custom-entities, store-api, dal, admin-api] +--- # Technical concept custom entities diff --git a/resources/references/adr/2021-09-22-refactor-theme-inheritance.md b/resources/references/adr/2021-09-22-refactor-theme-inheritance.md index 3b09f5f0e..ca3b1dbee 100644 --- a/resources/references/adr/2021-09-22-refactor-theme-inheritance.md +++ b/resources/references/adr/2021-09-22-refactor-theme-inheritance.md @@ -2,15 +2,8 @@ title: Refactor theme inheritance date: 2021-09-22 area: storefront -tags: - - theme - - storefront - - inheritance -nav: - title: Refactor theme inheritance - position: 310 - ---- +tags: [theme, storefront, inheritance] +--- # Refactor theme inheritance diff --git a/resources/references/adr/2021-10-01-payment-flow.md b/resources/references/adr/2021-10-01-payment-flow.md index a4faf1391..a040ca54f 100644 --- a/resources/references/adr/2021-10-01-payment-flow.md +++ b/resources/references/adr/2021-10-01-payment-flow.md @@ -2,15 +2,8 @@ title: Payment Flow date: 2021-10-01 area: checkout -tags: - - checkout - - payment - - flow -nav: - title: Payment flow - position: 320 - ---- +tags: [checkout, payment, flow] +--- # Payment Flow diff --git a/resources/references/adr/2021-10-13-refund-handling.md b/resources/references/adr/2021-10-13-refund-handling.md index cebafda18..25987d1a5 100644 --- a/resources/references/adr/2021-10-13-refund-handling.md +++ b/resources/references/adr/2021-10-13-refund-handling.md @@ -2,15 +2,8 @@ title: Refund handling date: 2021-10-13 area: checkout -tags: - - payment - - refund - - capture -nav: - title: Refund handling - position: 330 - ---- +tags: [payment, refund, capture] +--- # Refund handling diff --git a/resources/references/adr/2021-10-21-app-scripting.md b/resources/references/adr/2021-10-21-app-scripting.md index cc9aef33d..5c4b88138 100644 --- a/resources/references/adr/2021-10-21-app-scripting.md +++ b/resources/references/adr/2021-10-21-app-scripting.md @@ -2,13 +2,7 @@ title: App scripts date: 2021-10-21 area: core -tags: - - app-system - - app-scripts -nav: - title: App scripting - position: 340 - +tags: [app-system, app-scripts] --- # App scripts diff --git a/resources/references/adr/2021-11-02-preparing-data-for-rule-evaluation.md b/resources/references/adr/2021-11-02-preparing-data-for-rule-evaluation.md index b469ee08f..7a40f8df7 100644 --- a/resources/references/adr/2021-11-02-preparing-data-for-rule-evaluation.md +++ b/resources/references/adr/2021-11-02-preparing-data-for-rule-evaluation.md @@ -2,16 +2,8 @@ title: Preparing data for rule evaluation date: 2021-11-02 area: business-ops -tags: - - framework - - rules - - context - - data-handling -nav: - title: Preparing data for rule evaluation - position: 350 - ---- +tags: [framework, rules, context, data-handling] +--- # Preparing data for rule evaluation diff --git a/resources/references/adr/2021-11-05-adjust-adr-approval-rules.md b/resources/references/adr/2021-11-05-adjust-adr-approval-rules.md index 04ae31d89..1b99b2631 100644 --- a/resources/references/adr/2021-11-05-adjust-adr-approval-rules.md +++ b/resources/references/adr/2021-11-05-adjust-adr-approval-rules.md @@ -2,15 +2,8 @@ title: Adjust ADR approval rules for the new org structure date: 2021-11-05 area: core -tags: - - architecture - - adr - - approval-rules -nav: - title: Adjust adr approval rules - position: 360 - ---- +tags: [architecture, adr, approval-rules] +--- # Adjust ADR approval rules for the new org structure diff --git a/resources/references/adr/2021-11-09-increment-pattern.md b/resources/references/adr/2021-11-09-increment-pattern.md index a19cd4292..2e1dac810 100644 --- a/resources/references/adr/2021-11-09-increment-pattern.md +++ b/resources/references/adr/2021-11-09-increment-pattern.md @@ -2,15 +2,8 @@ title: Introduce increment pattern date: 2021-11-09 area: system-settings -tags: - - architecture - - increment - - message-queue-stats -nav: - title: Increment pattern - position: 370 - ---- +tags: [architecture, increment, message-queue-stats] +--- # Introduce increment pattern diff --git a/resources/references/adr/2021-11-22-merge-e2e-projects-into-a-single-project.md b/resources/references/adr/2021-11-22-merge-e2e-projects-into-a-single-project.md index 9ffd6e50e..faeff3924 100644 --- a/resources/references/adr/2021-11-22-merge-e2e-projects-into-a-single-project.md +++ b/resources/references/adr/2021-11-22-merge-e2e-projects-into-a-single-project.md @@ -2,14 +2,8 @@ title: Merge E2E projects into a single project date: 2021-11-22 area: core -tags: - - e2e - - cypress -nav: - title: Merge e2e projects into a single project - position: 380 - ---- +tags: [e2e, cypress] +--- # Merge E2E projects into a single project diff --git a/resources/references/adr/2021-11-23-add-possibility-for-plugin-to-add-a-html-file.md b/resources/references/adr/2021-11-23-add-possibility-for-plugin-to-add-a-html-file.md index 62c187048..0ccec7f05 100644 --- a/resources/references/adr/2021-11-23-add-possibility-for-plugin-to-add-a-html-file.md +++ b/resources/references/adr/2021-11-23-add-possibility-for-plugin-to-add-a-html-file.md @@ -2,15 +2,8 @@ title: Add possibility for plugins to add a HTML file date: 2021-11-23 area: administration -tags: - - plugin - - admin - - extension-api -nav: - title: Add possibility for plugin to add a html file - position: 390 - ---- +tags: [plugin, admin, extension-api] +--- # Add possibility for plugins to add a HTML file diff --git a/resources/references/adr/2021-12-07-admin-extension-api-standards.md b/resources/references/adr/2021-12-07-admin-extension-api-standards.md index 181514998..c75020add 100644 --- a/resources/references/adr/2021-12-07-admin-extension-api-standards.md +++ b/resources/references/adr/2021-12-07-admin-extension-api-standards.md @@ -2,15 +2,8 @@ title: Admin extension API standards date: 2021-12-07 area: administration -tags: - - plugin - - admin - - extension-api -nav: - title: Admin extension API standards - position: 400 - ---- +tags: [plugin, admin, extension-api] +--- # Admin extension API standards diff --git a/resources/references/adr/2022-01-05-add-feature-flag-support-for-storefront-scss.md b/resources/references/adr/2022-01-05-add-feature-flag-support-for-storefront-scss.md index 38cd013c5..cee311982 100644 --- a/resources/references/adr/2022-01-05-add-feature-flag-support-for-storefront-scss.md +++ b/resources/references/adr/2022-01-05-add-feature-flag-support-for-storefront-scss.md @@ -2,14 +2,8 @@ title: Add feature flag support for Storefront SCSS date: 2022-01-05 area: storefront -tags: - - feature-flag - - scss -nav: - title: Add feature flag support for storefront scss - position: 410 - ---- +tags: [feature-flag, scss] +--- # Add feature flag support for Storefront SCSS diff --git a/resources/references/adr/2022-01-06-custom-app-api-endpoints.md b/resources/references/adr/2022-01-06-custom-app-api-endpoints.md index 4271268f2..4180dc500 100644 --- a/resources/references/adr/2022-01-06-custom-app-api-endpoints.md +++ b/resources/references/adr/2022-01-06-custom-app-api-endpoints.md @@ -2,15 +2,8 @@ title: Allow apps to define custom api endpoints date: 2022-01-06 area: core -tags: - - admin-api - - store-api - - app-system -nav: - title: Custom app API endpoints - position: 420 - ---- +tags: [admin-api, store-api, app-system] +--- # Allow apps to define custom api endpoints diff --git a/resources/references/adr/2022-01-20-feature-flags-for-major-versions.md b/resources/references/adr/2022-01-20-feature-flags-for-major-versions.md index ded50bfee..ae9ac1255 100644 --- a/resources/references/adr/2022-01-20-feature-flags-for-major-versions.md +++ b/resources/references/adr/2022-01-20-feature-flags-for-major-versions.md @@ -2,16 +2,8 @@ title: Feature flags for major versions date: 2022-01-20 area: core -tags: - - core - - feature-flag - - workflow - - major-version -nav: - title: Feature flags for major versions - position: 430 - ---- +tags: [core, feature-flag, workflow, major-version] +--- # Feature flags for major versions diff --git a/resources/references/adr/2022-02-09-controller-configuration-route-defaults.md b/resources/references/adr/2022-02-09-controller-configuration-route-defaults.md index 1ee21bad7..72094e4e0 100644 --- a/resources/references/adr/2022-02-09-controller-configuration-route-defaults.md +++ b/resources/references/adr/2022-02-09-controller-configuration-route-defaults.md @@ -2,16 +2,8 @@ title: Move controller level annotation into Symfony route annotation date: 2022-02-09 area: core -tags: - - annotations - - controller - - route - - defaults -nav: - title: Controller configuration route defaults - position: 440 - ---- +tags: [annotations, controller, route, defaults] +--- # Move controller level annotation into Symfony route annotation diff --git a/resources/references/adr/2022-02-21-rule-scripting-in-apps.md b/resources/references/adr/2022-02-21-rule-scripting-in-apps.md index 4f12d76e4..d1f2228ed 100644 --- a/resources/references/adr/2022-02-21-rule-scripting-in-apps.md +++ b/resources/references/adr/2022-02-21-rule-scripting-in-apps.md @@ -2,15 +2,8 @@ title: Rule Scripting in apps date: 2022-02-21 area: business-ops -tags: - - rule - - app-system - - app-scripts -nav: - title: Rule scripting in apps - position: 450 - ---- +tags: [rule, app-system, app-scripts] +--- # Rule Scripting in apps diff --git a/resources/references/adr/2022-02-24-domain-exceptions.md b/resources/references/adr/2022-02-24-domain-exceptions.md index 263fd656c..e513c2c51 100644 --- a/resources/references/adr/2022-02-24-domain-exceptions.md +++ b/resources/references/adr/2022-02-24-domain-exceptions.md @@ -2,15 +2,8 @@ title: Domain exceptions date: 2022-02-24 area: core -tags: - - architecture - - exception - - domain -nav: - title: Domain exceptions - position: 460 - ---- +tags: [architecture, exception, domain] +--- # Domain exceptions diff --git a/resources/references/adr/2022-02-28-consistent-deprecation-notices-in-core.md b/resources/references/adr/2022-02-28-consistent-deprecation-notices-in-core.md index dd0b213f8..06e1d48e9 100644 --- a/resources/references/adr/2022-02-28-consistent-deprecation-notices-in-core.md +++ b/resources/references/adr/2022-02-28-consistent-deprecation-notices-in-core.md @@ -2,15 +2,8 @@ title: Consistent deprecation notices in Core date: 2022-02-09 area: core -tags: - - deprecation - - annotations - - trigger-deprecation -nav: - title: Consistent deprecation notices in core - position: 470 - ---- +tags: [deprecation, annotations, trigger-deprecation] +--- # Consistent deprecation notices in Core diff --git a/resources/references/adr/2022-03-09-reset-class-state-during-requests.md b/resources/references/adr/2022-03-09-reset-class-state-during-requests.md index 607455059..bb5452740 100644 --- a/resources/references/adr/2022-03-09-reset-class-state-during-requests.md +++ b/resources/references/adr/2022-03-09-reset-class-state-during-requests.md @@ -2,15 +2,8 @@ title: Use `ResetInterface` to reset instance state during requests date: 2022-03-09 area: core -tags: - - php - - architecture - - performance -nav: - title: Reset class state during requests - position: 480 - ---- +tags: [php, architecture, performance] +--- # Use `ResetInterface` to reset instance state during requests diff --git a/resources/references/adr/2022-03-15-extract-data-handling-classes-to-extension-sdk.md b/resources/references/adr/2022-03-15-extract-data-handling-classes-to-extension-sdk.md index a84482ab9..fa4923c68 100644 --- a/resources/references/adr/2022-03-15-extract-data-handling-classes-to-extension-sdk.md +++ b/resources/references/adr/2022-03-15-extract-data-handling-classes-to-extension-sdk.md @@ -2,14 +2,8 @@ title: Extract data handling classes to extension sdk date: 2022-03-15 area: administration -tags: - - admin - - extension-api -nav: - title: Extract data handling classes to extension sdk - position: 490 - ---- +tags: [admin, extension-api] +--- # Extract data handling classes to extension sdk diff --git a/resources/references/adr/2022-03-17-new-nested-line-items.md b/resources/references/adr/2022-03-17-new-nested-line-items.md index fdcb3f19f..a95dc768d 100644 --- a/resources/references/adr/2022-03-17-new-nested-line-items.md +++ b/resources/references/adr/2022-03-17-new-nested-line-items.md @@ -2,15 +2,8 @@ title: New templates for line items and nested line items date: 2022-03-17 area: storefront -tags: - - storefront - - line-items - - checkout -nav: - title: New nested line items - position: 500 - ---- +tags: [storefront, line-items, checkout] +--- # New templates for line items and nested line items diff --git a/resources/references/adr/2022-03-25-available-stock.md b/resources/references/adr/2022-03-25-available-stock.md index 098317757..94c18e8d4 100644 --- a/resources/references/adr/2022-03-25-available-stock.md +++ b/resources/references/adr/2022-03-25-available-stock.md @@ -2,14 +2,7 @@ title: Available stock improvements date: 2022-03-25 area: inventory -tags: - - inventory - - performance - - stock -nav: - title: Available stock - position: 510 - +tags: [inventory, performance, stock] --- # Available stock improvements diff --git a/resources/references/adr/2022-03-25-base-context-factory.md b/resources/references/adr/2022-03-25-base-context-factory.md index 98dac7f69..e466fad49 100644 --- a/resources/references/adr/2022-03-25-base-context-factory.md +++ b/resources/references/adr/2022-03-25-base-context-factory.md @@ -2,15 +2,7 @@ title: Base context factory date: 2022-03-25 area: core -tags: - - core - - sales-channel - - performance - - cache -nav: - title: Base context factory - position: 520 - +tags: [core, sales-channel, performance, cache] --- # Base context factory diff --git a/resources/references/adr/2022-03-25-cache-stampede-protection.md b/resources/references/adr/2022-03-25-cache-stampede-protection.md index 830b98eb6..316da6df6 100644 --- a/resources/references/adr/2022-03-25-cache-stampede-protection.md +++ b/resources/references/adr/2022-03-25-cache-stampede-protection.md @@ -2,14 +2,7 @@ title: Cache stampede protection date: 2022-03-25 area: core -tags: - - core - - cache - - performance -nav: - title: Cache stampede protection - position: 530 - +tags: [core, cache, performance] --- # Cache stampede protection diff --git a/resources/references/adr/2022-03-25-initial-state-id-loader.md b/resources/references/adr/2022-03-25-initial-state-id-loader.md index 168208283..29f90121c 100644 --- a/resources/references/adr/2022-03-25-initial-state-id-loader.md +++ b/resources/references/adr/2022-03-25-initial-state-id-loader.md @@ -2,14 +2,7 @@ title: Initial state id loader date: 2022-03-25 area: customer-order -tags: - - performance - - state-machine - - cache -nav: - title: Initial state id loader - position: 540 - +tags: [performance, state-machine, cache] --- # Initial state id loader diff --git a/resources/references/adr/2022-03-25-prevent-mail-updates.md b/resources/references/adr/2022-03-25-prevent-mail-updates.md index e6684785b..f2fbc8bb3 100644 --- a/resources/references/adr/2022-03-25-prevent-mail-updates.md +++ b/resources/references/adr/2022-03-25-prevent-mail-updates.md @@ -1,14 +1,8 @@ --- -title: Prevent mail updates +title: Prevent mail updates date: 2022-03-25 area: system-settings -tags: - - mail - - flow -nav: - title: Prevent mail updates - position: 550 - +tags: [mail, flow] --- # Prevent mail updates diff --git a/resources/references/adr/2022-03-25-profiler-integrations.md b/resources/references/adr/2022-03-25-profiler-integrations.md index e5bdc58bb..f429cac78 100644 --- a/resources/references/adr/2022-03-25-profiler-integrations.md +++ b/resources/references/adr/2022-03-25-profiler-integrations.md @@ -2,16 +2,7 @@ title: Profiler integrations date: 2022-03-25 area: core -tags: - - profile - - performance - - tideways - - datadog - - blackfire -nav: - title: Profiler integrations - position: 560 - +tags: [profile, performance, tideways, datadog, blackfire] --- # Profiler integrations diff --git a/resources/references/adr/2022-03-25-redis-cart-persister.md b/resources/references/adr/2022-03-25-redis-cart-persister.md index a5b0e0f4f..194b8d10f 100644 --- a/resources/references/adr/2022-03-25-redis-cart-persister.md +++ b/resources/references/adr/2022-03-25-redis-cart-persister.md @@ -2,15 +2,7 @@ title: Redis cart persister date: 2022-03-25 area: checkout -tags: - - checkout - - cart - - redis - - performance -nav: - title: Redis cart persister - position: 570 - +tags: [checkout, cart, redis, performance] --- # Redis cart persister diff --git a/resources/references/adr/2022-03-29-specify-priority-of-translations-in-dal-write-payloads.md b/resources/references/adr/2022-03-29-specify-priority-of-translations-in-dal-write-payloads.md index b2e3b2c17..6e1689014 100644 --- a/resources/references/adr/2022-03-29-specify-priority-of-translations-in-dal-write-payloads.md +++ b/resources/references/adr/2022-03-29-specify-priority-of-translations-in-dal-write-payloads.md @@ -2,14 +2,8 @@ title: Specify priority of translations in DAL write payloads date: 2022-03-29 area: core -tags: - - dal - - translations -nav: - title: Specify priority of translations in DAL write payloads - position: 580 - ---- +tags: [dal, translations] +--- # Specify priority of translations in DAL write payloads diff --git a/resources/references/adr/2022-04-06-add-default-cms-layouts-to-products-and-categories.md b/resources/references/adr/2022-04-06-add-default-cms-layouts-to-products-and-categories.md index 1e847e18c..51693551d 100644 --- a/resources/references/adr/2022-04-06-add-default-cms-layouts-to-products-and-categories.md +++ b/resources/references/adr/2022-04-06-add-default-cms-layouts-to-products-and-categories.md @@ -2,15 +2,8 @@ title: Add default cms pages to products and categories date: 2022-04-06 area: content -tags: - - cms - - product - - category -nav: - title: Add default cms layouts to products and categories - position: 590 - ---- +tags: [cms, product, category] +--- # Add default cms pages to products and categories diff --git a/resources/references/adr/2022-04-19-integrate-app-into-flow-action.md b/resources/references/adr/2022-04-19-integrate-app-into-flow-action.md index e68d99f83..96db5dd47 100644 --- a/resources/references/adr/2022-04-19-integrate-app-into-flow-action.md +++ b/resources/references/adr/2022-04-19-integrate-app-into-flow-action.md @@ -2,15 +2,8 @@ title: Integrate an app into flow action date: 2022-04-19 area: business-ops -tags: - - flow - - app - - flow-action -nav: - title: Integrate app into flow action - position: 600 - ---- +tags: [flow, app, flow-action] +--- # Integrate an app into flow action diff --git a/resources/references/adr/2022-04-28-tax-providers.md b/resources/references/adr/2022-04-28-tax-providers.md index fcd8164ac..6cd9f3689 100644 --- a/resources/references/adr/2022-04-28-tax-providers.md +++ b/resources/references/adr/2022-04-28-tax-providers.md @@ -2,15 +2,8 @@ title: Introducing tax providers date: 2022-04-28 area: checkout -tags: - - tax - - tax-provider - - checkout -nav: - title: Tax providers - position: 610 - ---- +tags: [tax, tax-provider, checkout] +--- # Introducing tax providers diff --git a/resources/references/adr/2022-05-12-remove-static-analysis-with-psalm.md b/resources/references/adr/2022-05-12-remove-static-analysis-with-psalm.md index c1b90ce83..ec04451d1 100644 --- a/resources/references/adr/2022-05-12-remove-static-analysis-with-psalm.md +++ b/resources/references/adr/2022-05-12-remove-static-analysis-with-psalm.md @@ -2,15 +2,8 @@ title: Remove static analysis with psalm date: 2022-05-12 area: core -tags: - - phpstan - - psalm - - static-analyse -nav: - title: Remove static analysis with psalm - position: 620 - ---- +tags: [phpstan, psalm, static-analyse] +--- # Remove static analysis with psalm diff --git a/resources/references/adr/2022-05-23-rule-condition-field-abstraction.md b/resources/references/adr/2022-05-23-rule-condition-field-abstraction.md index ef6b6e2e6..1a42a5d75 100644 --- a/resources/references/adr/2022-05-23-rule-condition-field-abstraction.md +++ b/resources/references/adr/2022-05-23-rule-condition-field-abstraction.md @@ -2,15 +2,8 @@ title: Rule condition field abstraction date: 2022-05-23 area: business-ops -tags: - - rule - - abstraction - - administration -nav: - title: Rule condition field abstraction - position: 630 - ---- +tags: [rule, abstraction, administration] +--- # Rule condition field abstraction @@ -51,3 +44,4 @@ Starting from now, newly introduced rule conditions will make use of the `Rule:: The original components of conditions are being deprecated and marked to be removed by the next major release. If you used or extended any of these components, use/extend `sw-condition-generic` or `sw-condition-generic-line-item` instead and refer to `this.condition.type` to introduce changes for a specific type of condition. + diff --git a/resources/references/adr/2022-06-17-integrate-app-into-flow-event.md b/resources/references/adr/2022-06-17-integrate-app-into-flow-event.md index d94b95ae6..1f5b8c977 100644 --- a/resources/references/adr/2022-06-17-integrate-app-into-flow-event.md +++ b/resources/references/adr/2022-06-17-integrate-app-into-flow-event.md @@ -2,14 +2,8 @@ title: Integrate an app into the flow event date: 2022-10-11 area: business-ops -tags: - - flow - - app -nav: - title: Integrate app into flow event - position: 640 - ---- +tags: [flow, app] +--- # Integrate an app into the flow event diff --git a/resources/references/adr/2022-06-24-add-typescript-support-for-storefront-js.md b/resources/references/adr/2022-06-24-add-typescript-support-for-storefront-js.md index a28ab3c72..eb8f99117 100644 --- a/resources/references/adr/2022-06-24-add-typescript-support-for-storefront-js.md +++ b/resources/references/adr/2022-06-24-add-typescript-support-for-storefront-js.md @@ -2,15 +2,8 @@ title: Add typescript support for storefront javascript date: 2022-06-24 area: storefront -tags: - - storefront - - typescript - - javascript -nav: - title: Add typescript support for storefront js - position: 650 - ---- +tags: [storefront, typescript, javascript] +--- # Add typescript support for storefront javascript diff --git a/resources/references/adr/2022-06-27-providing-the-admin-extension-sdk.md b/resources/references/adr/2022-06-27-providing-the-admin-extension-sdk.md index 9706344e8..2ce361a2a 100644 --- a/resources/references/adr/2022-06-27-providing-the-admin-extension-sdk.md +++ b/resources/references/adr/2022-06-27-providing-the-admin-extension-sdk.md @@ -2,13 +2,7 @@ title: Providing the admin extension SDK date: 2022-06-15 area: administration -tags: - - admin-extension-sdk - - vue -nav: - title: Providing the admin extension sdk - position: 660 - +tags: [admin-extension-sdk, vue] --- # Providing the admin extension SDK @@ -48,3 +42,4 @@ Monorepos have several advantages over multi repos. But in the case of the SDK a ## Consequences If you want to add something to the SDK you need to checkout the GitHub repository and publish the changes to this repository. If the change is also relevant for the administration side - then this version also needs to be bumped up there. + diff --git a/resources/references/adr/2022-07-19-blog-concept.md b/resources/references/adr/2022-07-19-blog-concept.md index 64c150d44..462fdaba6 100644 --- a/resources/references/adr/2022-07-19-blog-concept.md +++ b/resources/references/adr/2022-07-19-blog-concept.md @@ -2,16 +2,8 @@ title: Concept for blogs using Shopping Experiences date: 2022-07-18 area: content -tags: - - content - - cms - - blog - - custom-entities -nav: - title: Blog concept - position: 670 - ---- +tags: [content, cms, blog, custom-entities] +--- # Concept for blogs using Shopping Experiences diff --git a/resources/references/adr/2022-07-21-adding-the-storable-flow-to-implement-delay-action-in-flow-builder.md b/resources/references/adr/2022-07-21-adding-the-storable-flow-to-implement-delay-action-in-flow-builder.md index c04a52ca7..803a93d77 100644 --- a/resources/references/adr/2022-07-21-adding-the-storable-flow-to-implement-delay-action-in-flow-builder.md +++ b/resources/references/adr/2022-07-21-adding-the-storable-flow-to-implement-delay-action-in-flow-builder.md @@ -1,16 +1,8 @@ --- -title: Adding the `StorableFlow` instead of the `FlowEvent` for implementing the - flow DelayAction in flow builder +title: Adding the `StorableFlow` instead of the `FlowEvent` for implementing the flow DelayAction in flow builder date: 2022-07-21 area: business-ops -tags: - - flow - - event - - refactoring -nav: - title: Adding the storable flow to implement delay action in flow builder - position: 680 - +tags: [flow, event, refactoring] --- # Adding the `StorableFlow` instead of the `FlowEvent` for implementing the flow DelayAction in flow builder diff --git a/resources/references/adr/2022-09-23-add-bootstrap-util.md b/resources/references/adr/2022-09-23-add-bootstrap-util.md index e8af48a0a..4980f3187 100644 --- a/resources/references/adr/2022-09-23-add-bootstrap-util.md +++ b/resources/references/adr/2022-09-23-add-bootstrap-util.md @@ -2,15 +2,8 @@ title: Add bootstrap JS-plugin initialization utility to storefront JS date: 2022-09-23 area: storefront -tags: - - storefront - - javascript - - bootstrap -nav: - title: Add bootstrap util - position: 690 - ---- +tags: [storefront, javascript, bootstrap] +--- # Add bootstrap JS-plugin initialization utility to storefront JS diff --git a/resources/references/adr/2022-09-28-mapping-of-product-area.md b/resources/references/adr/2022-09-28-mapping-of-product-area.md index 0e563d4e9..7c4859b47 100644 --- a/resources/references/adr/2022-09-28-mapping-of-product-area.md +++ b/resources/references/adr/2022-09-28-mapping-of-product-area.md @@ -2,13 +2,8 @@ title: Mapping of product area date: 2022-09-28 area: product-operations -tags: - - workflow -nav: - title: Mapping of product area - position: 700 - ---- +tags: [workflow] +--- # Mapping of product area diff --git a/resources/references/adr/2022-10-17-hide-and-show-cms-content.md b/resources/references/adr/2022-10-17-hide-and-show-cms-content.md index 6655c3915..2db75d4d1 100644 --- a/resources/references/adr/2022-10-17-hide-and-show-cms-content.md +++ b/resources/references/adr/2022-10-17-hide-and-show-cms-content.md @@ -2,14 +2,7 @@ title: Hide and show CMS content date: 2022-10-17 area: content -tags: - - cms - - storefront - - admin -nav: - title: Hide and show cms content - position: 710 - +tags: [cms, storefront, admin] --- # Hide and show CMS content diff --git a/resources/references/adr/2022-10-20-deprecation-handling-during-phpunit-test-execution.md b/resources/references/adr/2022-10-20-deprecation-handling-during-phpunit-test-execution.md index bf91b63f1..7ca4f98c1 100644 --- a/resources/references/adr/2022-10-20-deprecation-handling-during-phpunit-test-execution.md +++ b/resources/references/adr/2022-10-20-deprecation-handling-during-phpunit-test-execution.md @@ -2,15 +2,8 @@ title: Deprecation handling during PHPUnit test execution date: 2022-10-20 area: core -tags: - - phpunit - - deprecation - - test -nav: - title: Deprecation handling during phpunit test execution - position: 720 - ---- +tags: [phpunit, deprecation, test] +--- # Deprecation handling during PHPUnit test execution diff --git a/resources/references/adr/2022-10-20-test-structure.md b/resources/references/adr/2022-10-20-test-structure.md index 6b8c95f42..69e70b8da 100644 --- a/resources/references/adr/2022-10-20-test-structure.md +++ b/resources/references/adr/2022-10-20-test-structure.md @@ -2,14 +2,8 @@ title: Test structure date: 2022-10-20 area: administration -tags: - - test - - structure -nav: - title: Test structure - position: 730 - ---- +tags: [test, structure] +--- # Test structure diff --git a/resources/references/adr/2022-11-09-composer-based-web-updater.md b/resources/references/adr/2022-11-09-composer-based-web-updater.md index fc30c0d1f..329ae27c7 100644 --- a/resources/references/adr/2022-11-09-composer-based-web-updater.md +++ b/resources/references/adr/2022-11-09-composer-based-web-updater.md @@ -2,15 +2,8 @@ title: Composer-based web updater date: 2022-11-09 area: core -tags: - - composer - - plugin - - web-updater -nav: - title: Composer based web updater - position: 740 - ---- +tags: [composer, plugin, web-updater] +--- # Composer-based web updater diff --git a/resources/references/adr/2022-11-16-deprecate-csrf.md b/resources/references/adr/2022-11-16-deprecate-csrf.md index 01b50413a..b0b2641f1 100644 --- a/resources/references/adr/2022-11-16-deprecate-csrf.md +++ b/resources/references/adr/2022-11-16-deprecate-csrf.md @@ -2,15 +2,8 @@ title: Deprecate the storefront CSRF implementation date: 2022-11-16 area: storefront -tags: - - csrf - - security - - storefront -nav: - title: Deprecate csrf - position: 750 - ---- +tags: [csrf, security, storefront] +--- # Deprecate the storefront CSRF implementation diff --git a/resources/references/adr/2022-21-11-replace-drop-shadow-with-box-shadow.md b/resources/references/adr/2022-21-11-replace-drop-shadow-with-box-shadow.md index 7273276b9..dfd0220c4 100644 --- a/resources/references/adr/2022-21-11-replace-drop-shadow-with-box-shadow.md +++ b/resources/references/adr/2022-21-11-replace-drop-shadow-with-box-shadow.md @@ -2,15 +2,8 @@ title: Replace drop-shadow with box-shadow date: 2022-21-11 area: storefront -tags: - - safari - - performance - - storefront -nav: - title: Replace drop shadow with box shadow - position: 760 - ---- +tags: [safari, performance, storefront] +--- # Replace drop-shadow with box-shadow diff --git a/resources/references/adr/2022-25-11-run-lighthouse-test-ine2e-env.md b/resources/references/adr/2022-25-11-run-lighthouse-test-ine2e-env.md index 5eb2d739c..c2d41249e 100644 --- a/resources/references/adr/2022-25-11-run-lighthouse-test-ine2e-env.md +++ b/resources/references/adr/2022-25-11-run-lighthouse-test-ine2e-env.md @@ -2,15 +2,8 @@ title: Run Lighthouse tests in E2E env date: 2022-21-11 area: storefront -tags: - - lighthouse - - performance - - storefront -nav: - title: Run lighthouse test ine2e env - position: 770 - ---- +tags: [lighthouse, performance, storefront] +--- # Run Lighthouse tests in E2E env diff --git a/resources/references/adr/2022-27-09-vue-2.7-update.md b/resources/references/adr/2022-27-09-vue-2.7-update.md index 3dffd9368..ca35beff0 100644 --- a/resources/references/adr/2022-27-09-vue-2.7-update.md +++ b/resources/references/adr/2022-27-09-vue-2.7-update.md @@ -2,14 +2,8 @@ title: Vue 2.7 update date: 2022-27-09 area: administration -tags: - - vue - - update -nav: - title: Vue 2.7 update - position: 780 - ---- +tags: [vue, update] +--- # Vue 2.7 update diff --git a/resources/references/adr/2023-01-10-atomic-theme-compilation.md b/resources/references/adr/2023-01-10-atomic-theme-compilation.md index 8cd9bea8b..3ea883504 100644 --- a/resources/references/adr/2023-01-10-atomic-theme-compilation.md +++ b/resources/references/adr/2023-01-10-atomic-theme-compilation.md @@ -2,15 +2,8 @@ title: Atomic theme compilation date: 2023-01-10 area: storefront -tags: - - theme - - storefront - - performance -nav: - title: Atomic theme compilation - position: 790 - ---- +tags: [theme, storefront, performance] +--- # Atomic theme compilation diff --git a/resources/references/adr/2023-01-16-npm-packages-pre-release-versions.md b/resources/references/adr/2023-01-16-npm-packages-pre-release-versions.md index 5d8a82bd2..1a0fccbfe 100644 --- a/resources/references/adr/2023-01-16-npm-packages-pre-release-versions.md +++ b/resources/references/adr/2023-01-16-npm-packages-pre-release-versions.md @@ -2,15 +2,8 @@ title: Npm packages pre-release versions date: 2023-01-16 area: administration -tags: - - npm - - package - - pre-release -nav: - title: Npm packages pre release versions - position: 800 - ---- +tags: [npm, package, pre-release] +--- # Npm packages pre-release versions diff --git a/resources/references/adr/2023-01-30-image-lazy-loading.md b/resources/references/adr/2023-01-30-image-lazy-loading.md index c28999471..9a1a07e79 100644 --- a/resources/references/adr/2023-01-30-image-lazy-loading.md +++ b/resources/references/adr/2023-01-30-image-lazy-loading.md @@ -2,15 +2,8 @@ title: Add native lazy loading for images to the storefront date: 2023-01-30 area: storefront -tags: - - image - - lazy-loading - - storefront -nav: - title: Image lazy loading - position: 810 - ---- +tags: [image, lazy-loading, storefront] +--- # Add native lazy loading for images to the storefront diff --git a/resources/references/adr/2023-02-01-app-script-product-pricing.md b/resources/references/adr/2023-02-01-app-script-product-pricing.md index a6b95b155..7e8246300 100644 --- a/resources/references/adr/2023-02-01-app-script-product-pricing.md +++ b/resources/references/adr/2023-02-01-app-script-product-pricing.md @@ -2,15 +2,8 @@ title: App script product pricing date: 2023-02-01 area: core -tags: - - app-script - - product - - pricing -nav: - title: App script product pricing - position: 820 - ---- +tags: [app-script, product, pricing] +--- # App script product pricing diff --git a/resources/references/adr/2023-02-02-deprecate-autoload-true-in-dal-associations.md b/resources/references/adr/2023-02-02-deprecate-autoload-true-in-dal-associations.md index 6fda08a3b..a546117bd 100644 --- a/resources/references/adr/2023-02-02-deprecate-autoload-true-in-dal-associations.md +++ b/resources/references/adr/2023-02-02-deprecate-autoload-true-in-dal-associations.md @@ -2,16 +2,8 @@ title: Deprecate autoloading associations in DAL entity definitions date: 2023-02-02 area: core -tags: - - dal - - performance - - api - - core -nav: - title: Deprecate autoload true in DAL associations - position: 830 - ---- +tags: [dal, performance, api, core] +--- # Deprecate autoloading associations in DAL entity definitions diff --git a/resources/references/adr/2023-02-02-flow-storer-with-scalar-values.md b/resources/references/adr/2023-02-02-flow-storer-with-scalar-values.md index decd78f70..88d7a7a41 100644 --- a/resources/references/adr/2023-02-02-flow-storer-with-scalar-values.md +++ b/resources/references/adr/2023-02-02-flow-storer-with-scalar-values.md @@ -2,16 +2,8 @@ title: Flow storer with scalar values date: 2023-02-02 area: core -tags: - - flow - - storer - - scalar - - deprecation -nav: - title: Flow storer with scalar values - position: 840 - ---- +tags: [flow, storer, scalar, deprecation] +--- # Flow storer with scalar values diff --git a/resources/references/adr/2023-02-13-follow-test-pyramid.md b/resources/references/adr/2023-02-13-follow-test-pyramid.md index 465071db2..3f7f0a1be 100644 --- a/resources/references/adr/2023-02-13-follow-test-pyramid.md +++ b/resources/references/adr/2023-02-13-follow-test-pyramid.md @@ -2,16 +2,8 @@ title: Follow test pyramid date: 2023-02-16 area: product-operations -tags: - - test - - structure - - performance - - flakiness -nav: - title: Follow test pyramid - position: 850 - ---- +tags: [test, structure, performance, flakiness] +--- # Follow test pyramid diff --git a/resources/references/adr/2023-02-20-unstructured-adrs.md b/resources/references/adr/2023-02-20-unstructured-adrs.md index 25cf0b05e..402db906e 100644 --- a/resources/references/adr/2023-02-20-unstructured-adrs.md +++ b/resources/references/adr/2023-02-20-unstructured-adrs.md @@ -2,15 +2,8 @@ title: Unstructured ADRs date: 2023-02-23 area: core -tags: - - adr - - file-structure - - workflow -nav: - title: Unstructured adrs - position: 860 - ---- +tags: [adr, file-structure, workflow] +--- # Unstructured ADRs diff --git a/resources/references/adr/2023-02-27-native-extension-system-with-vue.md b/resources/references/adr/2023-02-27-native-extension-system-with-vue.md index ae7e27c84..2194efde9 100644 --- a/resources/references/adr/2023-02-27-native-extension-system-with-vue.md +++ b/resources/references/adr/2023-02-27-native-extension-system-with-vue.md @@ -2,15 +2,7 @@ title: Native extension system with vue date: 2023-02-27 area: administration -tags: - - vue - - extensibility - - performance - - administration -nav: - title: Native extension system with vue - position: 870 - +tags: [vue, extensibility, performance, administration] --- # Native extension system with vue diff --git a/resources/references/adr/2023-03-27-admin-text-editor-evaluation.md b/resources/references/adr/2023-03-27-admin-text-editor-evaluation.md index b5b7dc34f..444be9ce3 100644 --- a/resources/references/adr/2023-03-27-admin-text-editor-evaluation.md +++ b/resources/references/adr/2023-03-27-admin-text-editor-evaluation.md @@ -2,14 +2,7 @@ title: Admin text editor evaluation date: 2023-03-27 area: admin -tags: - - admin - - text-editor - - evaluation -nav: - title: Admin text editor evaluation - position: 880 - +tags: [admin, text-editor, evaluation] --- # Admin text editor evaluation diff --git a/resources/references/adr/2023-04-01-mocking-repositories.md b/resources/references/adr/2023-04-01-mocking-repositories.md index 6e69d699e..ed2263630 100644 --- a/resources/references/adr/2023-04-01-mocking-repositories.md +++ b/resources/references/adr/2023-04-01-mocking-repositories.md @@ -2,15 +2,8 @@ title: Mocking repositories date: 2023-01-04 area: core -tags: - - testing - - core - - repository -nav: - title: Mocking repositories - position: 890 - ---- +tags: [testing, core, repository] +--- # Mocking repositories diff --git a/resources/references/adr/2023-04-03-disable-css-autoprefixer.md b/resources/references/adr/2023-04-03-disable-css-autoprefixer.md index a3aee9af0..12982c098 100644 --- a/resources/references/adr/2023-04-03-disable-css-autoprefixer.md +++ b/resources/references/adr/2023-04-03-disable-css-autoprefixer.md @@ -2,14 +2,7 @@ title: Disable the CSS autoprefixer in the Storefront by default date: 2023-04-03 area: storefront -tags: - - css - - autoprefixer - - theme-compiler -nav: - title: Disable css autoprefixer - position: 900 - +tags: [css, autoprefixer, theme-compiler] --- # Disable the CSS autoprefixer in the Storefront by default diff --git a/resources/references/adr/2023-04-11-new-language-inheritance-mechanism-for-opensearch.md b/resources/references/adr/2023-04-11-new-language-inheritance-mechanism-for-opensearch.md index 5f2204a51..e8bc2d525 100644 --- a/resources/references/adr/2023-04-11-new-language-inheritance-mechanism-for-opensearch.md +++ b/resources/references/adr/2023-04-11-new-language-inheritance-mechanism-for-opensearch.md @@ -2,14 +2,7 @@ title: New language inheritance mechanism for opensearch date: 2023-04-11 area: Core,Elasticsearch -tags: - - Elasticsearch - - Opensearch - - Multilingual search -nav: - title: New language inheritance mechanism for opensearch - position: 910 - +tags: [Elasticsearch,Opensearch,Multilingual search] --- # New language inheritance mechanism for opensearch diff --git a/resources/references/adr/2023-04-14-jest-test-files-should-be-javascript-only.md b/resources/references/adr/2023-04-14-jest-test-files-should-be-javascript-only.md index c0b42a8a8..c6705ad92 100644 --- a/resources/references/adr/2023-04-14-jest-test-files-should-be-javascript-only.md +++ b/resources/references/adr/2023-04-14-jest-test-files-should-be-javascript-only.md @@ -2,15 +2,7 @@ title: Jest test files should be JavaScript only date: 2023-04-14 area: admin -tags: - - admin - - jest - - javascript - - typescript -nav: - title: Jest test files should be javascript only - position: 920 - +tags: [admin, jest, javascript, typescript] --- # Jest test files should be JavaScript only diff --git a/resources/references/adr/2023-05-09-optimise-cart-cleanup.md b/resources/references/adr/2023-05-09-optimise-cart-cleanup.md index 1b687e621..5188f7c59 100644 --- a/resources/references/adr/2023-05-09-optimise-cart-cleanup.md +++ b/resources/references/adr/2023-05-09-optimise-cart-cleanup.md @@ -2,12 +2,7 @@ title: Optimize cart cleanup date: 2023-05-09 area: core -tags: - - performance -nav: - title: Optimise cart cleanup - position: 930 - +tags: [performance] --- # Optimize cart cleanup diff --git a/resources/references/adr/2023-05-10-experimental-features.md b/resources/references/adr/2023-05-10-experimental-features.md index 56cc5d0e8..a207ab078 100644 --- a/resources/references/adr/2023-05-10-experimental-features.md +++ b/resources/references/adr/2023-05-10-experimental-features.md @@ -2,13 +2,7 @@ title: Experimental features date: 2023-05-10 area: core, administration, storefront -tags: - - process - - backwards compatibility -nav: - title: Experimental features - position: 940 - +tags: [process, backwards compatibility] --- # Experimental features diff --git a/resources/references/adr/2023-05-15-stock-api.md b/resources/references/adr/2023-05-15-stock-api.md index 173d81961..5d12c5a43 100644 --- a/resources/references/adr/2023-05-15-stock-api.md +++ b/resources/references/adr/2023-05-15-stock-api.md @@ -2,12 +2,7 @@ title: Stock Manipulation API date: 2023-04-25 area: core -tags: - - stock -nav: - title: Stock API - position: 950 - +tags: [stock] --- # Stock Manipulation API diff --git a/resources/references/adr/2023-05-16-php-enums.md b/resources/references/adr/2023-05-16-php-enums.md index 94b29a5c4..443855ef6 100644 --- a/resources/references/adr/2023-05-16-php-enums.md +++ b/resources/references/adr/2023-05-16-php-enums.md @@ -2,14 +2,7 @@ title: Use PHP 8.1 Enums date: 2023-05-16 area: core -tags: - - php - - "8.1" - - enum -nav: - title: Php enums - position: 960 - +tags: [php, '8.1', enum] --- # Use PHP 8.1 Enums diff --git a/resources/references/adr/2023-05-16-symfony-dependency-management.md b/resources/references/adr/2023-05-16-symfony-dependency-management.md index 187f55834..174a9f2e6 100644 --- a/resources/references/adr/2023-05-16-symfony-dependency-management.md +++ b/resources/references/adr/2023-05-16-symfony-dependency-management.md @@ -2,14 +2,7 @@ title: Symfony Dependency Management date: 2023-05-16 area: core -tags: - - php - - symfony - - dependency -nav: - title: Symfony dependency management - position: 970 - +tags: [php, symfony, dependency] --- # Symfony Dependency Management diff --git a/resources/references/adr/2023-05-22-switch-to-uuidv7.md b/resources/references/adr/2023-05-22-switch-to-uuidv7.md index 727d81242..65544507c 100644 --- a/resources/references/adr/2023-05-22-switch-to-uuidv7.md +++ b/resources/references/adr/2023-05-22-switch-to-uuidv7.md @@ -1,13 +1,8 @@ --- title: Switch to UUIDv7 date: 2023-05-22 -area: core -tags: - - DAL -nav: - title: Switch to uuidv7 - position: 980 - +area: core +tags: [DAL] --- # Switch to UUIDv7 diff --git a/resources/references/adr/2023-05-25-exception-log-levels.md b/resources/references/adr/2023-05-25-exception-log-levels.md index 4209d4ea4..6cadc1bab 100644 --- a/resources/references/adr/2023-05-25-exception-log-levels.md +++ b/resources/references/adr/2023-05-25-exception-log-levels.md @@ -2,14 +2,7 @@ title: Exception Log Level configuration date: 2023-05-25 area: core -tags: - - core - - devops - - observability -nav: - title: Exception log levels - position: 990 - +tags: [core, devops, observability] --- # Exception Log Level configuration diff --git a/resources/references/adr/2023-06-27-store-api-to-app-server.md b/resources/references/adr/2023-06-27-store-api-to-app-server.md index a9f13da69..7e0896656 100644 --- a/resources/references/adr/2023-06-27-store-api-to-app-server.md +++ b/resources/references/adr/2023-06-27-store-api-to-app-server.md @@ -2,13 +2,7 @@ title: Client side communication to App Server date: 2023-06-27 area: core -tags: - - core - - app-system -nav: - title: Store API to app server - position: 1000 - +tags: [core, app-system] --- # Client side communication to App Server diff --git a/resources/references/adr/2023-06-28-default-handle-for-non-specified-salutations.md b/resources/references/adr/2023-06-28-default-handle-for-non-specified-salutations.md index 07c6d858a..9b6fb92e9 100644 --- a/resources/references/adr/2023-06-28-default-handle-for-non-specified-salutations.md +++ b/resources/references/adr/2023-06-28-default-handle-for-non-specified-salutations.md @@ -2,13 +2,7 @@ title: Default handling for non specified salutations date: 2023-06-28 area: core -tags: - - adr - - salutation -nav: - title: Default handle for non specified salutations - position: 1010 - +tags: [adr, salutation] --- # Default handling for non specified salutations diff --git a/resources/references/adr/2023-07-13-flow-builder-preview.md b/resources/references/adr/2023-07-13-flow-builder-preview.md index 076060751..a31451998 100644 --- a/resources/references/adr/2023-07-13-flow-builder-preview.md +++ b/resources/references/adr/2023-07-13-flow-builder-preview.md @@ -2,13 +2,7 @@ title: Flow Builder Preview date: 2023-07-13 area: Business Ops -tags: - - business-ops - - flow -nav: - title: Flow builder preview - position: 1020 - +tags: [business-ops, flow] --- # Flow Builder Preview diff --git a/resources/references/adr/2023-08-17-media-path.md b/resources/references/adr/2023-08-17-media-path.md new file mode 100644 index 000000000..3acd3f1d7 --- /dev/null +++ b/resources/references/adr/2023-08-17-media-path.md @@ -0,0 +1,185 @@ +--- +title: Media path rewrite +date: 2023-08-17 +area: core +tags: [media, url, strategy] +--- + +# Media path rewrite + +::: info +This document represents an architecture decision record (ADR) and has been mirrored from the ADR section in our Shopware 6 repository. +You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/adr/2023-08-17-media-path.md) +::: + +## Context +In the current media system it is possible to configure different `Shopware\Core\Content\Media\Pathname\PathnameStrategy\PathnameStrategyInterface`. + +These strategies are used to store files, which are uploaded for media entity, under a certain path. + +The configured strategy is then also used to generate the URL that is used in the frontend/store API to embed the file. + +The generation of this URL is currently triggered in an event subscriber which is registered to the `media.loaded` event. + +For generating the URL an implementation of the `UrlGeneratorInterface` is used. + +```php +interface UrlGeneratorInterface +{ + public function getAbsoluteMediaUrl(MediaEntity $media): string; + + public function getRelativeMediaUrl(MediaEntity $media): string; + + public function getAbsoluteThumbnailUrl(MediaEntity $media, MediaThumbnailEntity $thumbnail): string; + + public function getRelativeThumbnailUrl(MediaEntity $media, MediaThumbnailEntity $thumbnail): string; +} + +interface PathnameStrategyInterface +{ + public function getName(): string; + + /** + * Generate a hash, missing from url if omitted + */ + public function generatePathHash(MediaEntity $media, ?MediaThumbnailEntity $thumbnail = null): ?string; + + /** + * Generate the cache buster part of the path, missing from url if omitted + */ + public function generatePathCacheBuster(MediaEntity $media, ?MediaThumbnailEntity $thumbnail = null): ?string; + + /** + * Generate the filename + */ + public function generatePhysicalFilename(MediaEntity $media, ?MediaThumbnailEntity $thumbnail = null): string; +} +``` + +## Issues + +* `PathnameStrategyInterface` as well as `UrlGeneratorInterface` have a dependency on the DAL and always need a fully loaded entity to generate the URL. This is a big overhead when you consider what data is (currently) needed for the URL generation in the end. +* The media upload "must" always be done via the shopware application, so that the folder structure stored in the file system and generated in the URL match. So it is only conditionally (or not at all) possible to upload all media directly to a S3 CDN without uploading the files via the shopware stack. +* In theory, the strategy must never be reconfigured after a file has been uploaded. If the file is uploaded to `/foo/test.jpg` and then the strategy is changed to one that would place the same file under `/bar/test.jpg`, the new strategy will take effect when the URL is generated, but the file will never be moved in the filesystem. +* The current strategies use a so called "cache busting" system, where the "uploaded-at" value is included in the file path. However, this does not work if the URL has been statically included in the CMS. Here, replacing the media file always leads to a new file path and the image can no longer be reached under the old file path. + +## Decision +To address the issues listed above, we will make the following changes to the system: + +- The file path will be saved directly to the media entity (and thumbnail) when the file is uploaded. + - This way we don't have to access the strategy when generating the URL, which might have changed in the meantime. +- We allow to change the file path via API and write it directly when creating the entity + - This way files can be synchronized directly with an external storage and the path only has to be changed in the entity or given during import. +- To generate the strategy we use new location structs, which can be easily created via a service. + - So we remove the dependency to the DAL to generate the file path. +- For generating the URL, we implement a new service, which can be operated without entities. + - The URL generation is more resource efficient and can be done without fully loaded entities. +- The new URL generator uses a new "cache busting" system, which writes the updated at timestamp of the media entity as query parameter into the URL. + - This way the file path can remain the same even if the file is updated. Changes to the entity's meta data will also result in a new URL. + +## BC promise + +For the Backwards compatibility we will take the following measures: + +- Until 6.6.0 the old URL generator will still be used, which generates the URL with the old strategy. +- From 6.6.0 the new URL generator will be used, which generates the URL based on the `MediaEntity::$path`. +- If a project specific strategy is used, it must be migrated to the new pattern by 6.6.0. +- We provide a `BCStrategy` which converts the new format to the old format. +- For an easy transition between the majors, we make it possible to always use `MediaEntity::$path` for the relative path. We realize this via an entity loaded subscriber, which generates the value at runtime via the URL generator and writes it to the path property. + +## Consequences + +- We need less resources to generate the absolute media URLs +- We can generate the URLs even without fully loaded entities +- The strategy can be changed over time without moving the files in the file system +- We can load the files directly to an external storage and adjust the path in the entity +- We remove the dependency to the DAL from the strategy and the URL generator. + +## Example + +```php +urlGenerator->getRelativeMediaUrl($media); + + $absolute = $this->urlGenerator->getAbsoluteMediaUrl($media); + } + + public function bar(MediaThumbnailEntity $thumbnail) + { + $relative = $this->urlGenerator->getRelativeThumbnailUrl($thumbnail); + + $absolute = $this->urlGenerator->getAbsoluteThumbnailUrl($thumbnail); + } +} + +class AfterChange +{ + private AbstractMediaUrlGenerator $generator; + + public function foo(MediaEntity $media) + { + $relative = $media->getPath(); + + $urls = $this->generator->generate([UrlParams::fromMedia($media)]); + + $absolute = $urls[0]; + } + + public function bar(MediaThumbnailEntity $thumbnail) + { + // relative is directly stored at the entity + $relative = $thumbnail->getPath(); + + // path generation is no more entity related, you could also use partial entity loading and you can also call it in batch, see below + $urls = $this->generator->generate([UrlParams::fromMedia($media)]); + + $absolute = $urls[0]; + } + + public function batch(MediaCollection $collection) + { + $params = []; + + foreach ($collection as $media) { + $params[$media->getId()] = UrlParams::fromMedia($media); + + foreach ($media->getThumbnails() as $thumbnail) { + $params[$thumbnail->getId()] = UrlParams::fromThumbnail($thumbnail); + } + } + + $urls = $this->generator->generate($paths); + + // urls is a flat list with {id} => {url} for media and also for thumbnails + } +} + +class ForwardCompatible +{ + // to have it forward compatible, you can use the Feature::isActive('v6.6.0.0') function + public function foo(MediaEntity $entity) + { + // we provide an entity loaded subscriber, which assigns the url of + // the UrlGeneratorInterface::getRelativeMediaUrl to the path property till 6.6 + // so that you always have the relative url in the MediaEntity::path proprerty + $path = $entity->getPath(); + + if (Feature::isActive('v6.6.0.0')) { + // new generator call for absolute url + } else { + // old generator call for absolute url + } + } +} +``` diff --git a/resources/references/adr/2023-08-27-post-updater.md b/resources/references/adr/2023-08-27-post-updater.md new file mode 100644 index 000000000..77d51fb2d --- /dev/null +++ b/resources/references/adr/2023-08-27-post-updater.md @@ -0,0 +1,76 @@ +--- +title: Post updater +date: 2023-08-17 +area: core +tags: [indexer, update, installer] +--- + +# Post updater + +::: info +This document represents an architecture decision record (ADR) and has been mirrored from the ADR section in our Shopware 6 repository. +You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/adr/2023-08-27-post-updater.md) +::: + +## Context +We often need a way between the different Shopware versions to provide a one-time update for data. This is currently done on the way to extend an indexer to this logic and then trigger this via a migration. +This is of course a possible way to enable certain migrations of data, but this migration is also executed again and again when the indexer is executed. +With certain data this is critical and can lead to system errors. For example, the one-time migration of media path information. + +## Decision + +We implement a new `PostUpdateIndexer`. This is an extension of the `EntityIndexer` and the system can be adapted 1:1. Also, the indexing registration via database migration can be adapted 1:1. +However, the indexer is not triggered via the `IndexerRegistry` when a full re-index or an entity written event is triggered. +These indexers are only included after the update process. +In addition to the one-time update of the data, we then often also provide a command that can be used to trigger the migration of the data again. + +## Consequences + +- We allow computationally intensive migrations, which need to be performed only once, to be performed after the update process. +- These one-time migrations do not affect the normal indexer process and cannot be triggered by it. +- Developers can trigger more complex migrations without worrying about the impact on the normal indexer process. +- The transition from one system to the other is very simple and can be adapted 1:1. + +## Example + +```php +iteratorFactory->createIterator('my_entity', $offset); + + $ids = $iterator->fetch(); + + if (empty($ids)) { + return null; + } + + return new EntityIndexingMessage(array_values($ids), $iterator->getOffset()); + } + + public function handle(EntityIndexingMessage $message): void + { + // handle ids + } +} +``` + +```php +registerIndexer($connection, 'post.update.example'); + } +} +``` diff --git a/resources/references/adr/2023-09-06-feature-property-for-experimental-anotation.md b/resources/references/adr/2023-09-06-feature-property-for-experimental-anotation.md index 5464d7cfe..aafe3de8f 100644 --- a/resources/references/adr/2023-09-06-feature-property-for-experimental-anotation.md +++ b/resources/references/adr/2023-09-06-feature-property-for-experimental-anotation.md @@ -2,13 +2,7 @@ title: Add Feature property to `@experimental` annotation date: 2023-09-06 area: core, administration, storefront -tags: - - process - - backwards compatibility -nav: - title: Feature property for experimental anotation - position: 1030 - +tags: [process, backwards compatibility] --- # Add Feature property to `@experimental` annotation @@ -37,11 +31,11 @@ To address the existing challenges, we propose implementing a refined approach t The key modifications are as follows: * Mandatory `feature` property: * Every `@experimental` annotation will now require a mandatory `feature` property. This property is a string that must contain the name of the associated feature. -* Uniform Feature Naming: +* Uniform feature Naming: * To enhance code organization and traceability, all sections of code related to a particular feature must use the same feature name in the `feature` property of the `@experimental` annotation. * Feature names should follow the conventions. * Feature names cannot contain spaces - * Feature names should be written in camelCase. + * Feature names should be written in `ALL_CAPS`. ## Consequences ### Core @@ -54,7 +48,7 @@ php ```php /** - * @experimental stableVersion:v6.6.0 feature:wishlist + * @experimental stableVersion:v6.6.0 feature:WISHLIST */ class testClass() { @@ -65,7 +59,7 @@ js ```js /** - * @experimental stableVersion:v6.6.0 feature:wishlist + * @experimental stableVersion:v6.6.0 feature:WISHLIST */ Component.register('sw-new-component', { ... @@ -75,7 +69,7 @@ Component.register('sw-new-component', { In twig blocks can be wrapped as being experimental: ```twig -{# @experimental stableVersion:v6.6.0 feature:wishlist #} +{# @experimental stableVersion:v6.6.0 feature:WISHLIST #} {% block awesome_new_feature %} ... {% endblock %} @@ -84,7 +78,7 @@ In twig blocks can be wrapped as being experimental: In addition to that, we can also mark the whole template as experimental: ```twig -{# @experimental stableVersion:v6.6.0 feature:wishlist #} +{# @experimental stableVersion:v6.6.0 feature:WISHLIST #} {% sw_extends '@Storefront/storefront/page/product-detail/index.html.twig' %} ``` @@ -105,16 +99,16 @@ feature.yaml shopware: feature: flags: - - name: wishList + - name: WISHLIST default: false major: true - description: "experimental stableVersion:v6.6.0 feature:wishList" + description: "experimental stableVersion:v6.6.0 feature:WISHLIST" ``` New experimental class ```php /** - * @experimental stableVersion:v6.6.0 feature:wishList + * @experimental stableVersion:v6.6.0 feature:WISHLIST */ class Foo { @@ -123,7 +117,7 @@ class Foo Connection point ```php -if (Feature.isActive('wishlist') { +if (Feature.isActive('WISHLIST') { $obj = new Foo(); // New implementation } else { diff --git a/resources/references/adr/YYYY-MM-DD-template.md b/resources/references/adr/YYYY-MM-DD-template.md index c7d4d0475..1fbd20697 100644 --- a/resources/references/adr/YYYY-MM-DD-template.md +++ b/resources/references/adr/YYYY-MM-DD-template.md @@ -1,16 +1,8 @@ --- -title: - "{ title }": null -date: - "{ date }": null -area: - "{ area }": null -tags: - - "{ tags }": null -nav: - title: YYYY MM DD template - position: 1040 - +title: {{ title }} +date: {{ date }} +area: {{ area }} +tags: [{{ tags }}] --- # {{ title }} diff --git a/resources/references/adr/index.md b/resources/references/adr/index.md index 153684fe8..e69de29bb 100644 --- a/resources/references/adr/index.md +++ b/resources/references/adr/index.md @@ -1,7 +0,0 @@ ---- -nav: - title: Architecture Reference - position: 30 - ---- -