diff --git a/.gitbook.yaml b/.gitbook.yaml index 28b445800c..c8f51e1060 100644 --- a/.gitbook.yaml +++ b/.gitbook.yaml @@ -109,4 +109,34 @@ redirects: resources/references/upgrades/core/translation/extension-translation.html: guides/upgrades-migrations/extension-translation.html resources/references/upgrades/core/translation/language-pack-migration.html: guides/upgrades-migrations/language-pack-migration.html resources/references/upgrades/administration/: guides/upgrades-migrations/administration/ - resources/references/upgrades/: guides/upgrades-migrations/ \ No newline at end of file + resources/references/upgrades/: guides/upgrades-migrations/ + guides/plugins/plugins/testing/php-unit.html: guides/development/testing/unit/php-unit.html + guides/plugins/plugins/testing/jest-storefront.html: guides/development/testing/unit/jest-storefront.html + guides/plugins/plugins/testing/jest-admin.html: guides/development/testing/unit/jest-admin.html + guides/development/testing/ci.html: guides/development/testing/index.html + resources/guidelines/testing/store/: guides/development/testing/testing-guidelines/ + guides/integrations-api/general-concepts/: guides/development/integrations-api/general-concepts/ + guides/integrations-api/general-concepts/api-versioning.html: guides/development/integrations-api/general-concepts/api-versioning.html + guides/integrations-api/general-concepts/request-headers.html: guides/development/integrations-api/general-concepts/request-headers.html + guides/integrations-api/general-concepts/search-criteria.html: guides/development/integrations-api/general-concepts/search-criteria.html + guides/integrations-api/general-concepts/partial-data-loading.html: guides/development/integrations-api/general-concepts/partial-data-loading.html + guides/integrations-api/general-concepts/generated-reference.html: guides/development/integrations-api/general-concepts/generated-reference.html + resources/references/core-reference/dal-reference/filters-reference.html: guides/resources/references/core-reference/dal-reference/filters-reference.html + resources/references/core-reference/dal-reference/aggregations-reference.html: guides/resources/references/core-reference/dal-reference/aggregations-reference.html + guides/plugins/apps/app-scripts/data-loading.html: guides/integrations-api/general-concepts/search-criteria.html + resources/accessibility/accessibility-checklist.html: guides/development/accessibility/accessibility-checklist.html + resources/accessibility/storefront-accessibility.html: guides/development/accessibility/storefront-accessibility.html + guides/plugins/apps/in-app-purchases.html: guides/development/monetization/in-app-purchases.html + guides/plugins/plugins/testing/playwright/actor-pattern.html: guides/development/testing/e2e-playwright/actor-pattern.html + guides/plugins/plugins/testing/playwright/best-practices.html: guides/development/testing/e2e-playwright/best-practices.html + guides/plugins/plugins/testing/playwright/deployment.html: guides/development/testing/e2e-playwright/deployment.html + guides/plugins/plugins/testing/playwright/fixtures.html: guides/development/testing/e2e-playwright/fixtures.html + guides/plugins/plugins/testing/playwright/install-configure.html: guides/development/testing/e2e-playwright/install-configure.html + guides/plugins/plugins/testing/playwright/language-agnostic-testing.html: guides/development/testing/e2e-playwright/language-agnostic-testing.html + guides/plugins/plugins/testing/playwright/local-development.html: guides/development/testing/e2e-playwright/local-development.html + guides/plugins/plugins/testing/playwright/page-object.html: guides/development/testing/e2e-playwright/page-object.html + guides/plugins/plugins/testing/playwright/test-data-service.html: guides/development/testing/e2e-playwright/test-data-service.html + guides/plugins/plugins/testing/playwright/test-suite-types.html: guides/development/testing/e2e-playwright/test-suite-types.html + guides/plugins/plugins/testing/playwright/test.html: guides/development/testing/e2e-playwright/test.html + guides/plugins/plugins/testing/cypress/cypress-best-practises.html: guides/development/testing/legacy/cypress/cypress-best-practises.html + guides/plugins/plugins/testing/cypress/cypress-end-to-end-testing/: guides/development/testing/legacy/cypress/ \ No newline at end of file diff --git a/.wordlist.txt b/.wordlist.txt index e90ee14f11..63d7e2cc6c 100644 --- a/.wordlist.txt +++ b/.wordlist.txt @@ -631,6 +631,7 @@ ORMs OSS OTEL OTLP +OWASP ObjectField ObjectType OffCanvas @@ -1768,6 +1769,7 @@ resolver's resolvers resubmittable rethrown +retryability returnUrl revalidation rfc diff --git a/concepts/framework/in-app-purchases.md b/concepts/framework/in-app-purchases.md index 2d1d83afb3..fd7230d092 100644 --- a/concepts/framework/in-app-purchases.md +++ b/concepts/framework/in-app-purchases.md @@ -5,13 +5,13 @@ nav: --- -# In-App purchases (IAP) +# In-App Purchases (IAP) ::: info In-App Purchase is available since Shopware version 6.6.9.0 ::: -In-App Purchases are a way to lock certain features behind a paywall within the same extension. +In-App Purchases allow you to lock certain features behind a paywall within the same extension. This is useful for developers who want to offer a free version of their extension with limited features and a paid version with more features. ## Creation @@ -25,7 +25,7 @@ This JWT ensures that purchase data cannot be tampered with or spoofed and allow All bought In-App Purchases are part of the JWT claims. To verify the JWT signature, you can use the JSON Web Key Set (JWKS) available at [`https://api.shopware.com/inappfeatures/jwks`](https://api.shopware.com/inappfeatures/jwks) -Shopware automatically verifies the signature for the use within the Core and Admin. +Shopware automatically verifies the signature for use within the Core and Admin. Tokens are retrieved when a new purchase is made and during periodic updates. You can also manually trigger an update by running the command `bin/console scheduled-task:run-single in-app-purchase.update` or by calling the `/api/_action/in-app-purchases/refresh` endpoint. @@ -37,12 +37,12 @@ In-app purchases are optimized for use with app servers. Whenever Shopware sends a request to the app server, it includes the [IAP JWT](#token). The app server can use this token to validate active purchases and unlock related features accordingly. -Plugins are inherently less secure, as their open nature makes them more vulnerable to spoofing or tampering. +Plugins are inherently less secure because their open nature makes them more vulnerable to spoofing and tampering. - + -## Checkout Process +## Checkout process When integrating In-App Purchases, Shopware handles the entire checkout process for you—including payment processing and subscription management. diff --git a/resources/accessibility/accessibility-checklist.md b/guides/development/accessibility/accessibility-checklist.md similarity index 75% rename from resources/accessibility/accessibility-checklist.md rename to guides/development/accessibility/accessibility-checklist.md index 50d102c296..ded01744db 100644 --- a/resources/accessibility/accessibility-checklist.md +++ b/guides/development/accessibility/accessibility-checklist.md @@ -10,9 +10,9 @@ Creating an accessible storefront ensures that all users can navigate, interact This checklist outlines the key principles and technical requirements for building accessible web interfaces, with a focus on semantic structure, keyboard usability, screen reader compatibility, and inclusive design practices. -## Storefront Accessibility Checklist: Best Practices for Inclusive Web Design +## Storefront accessibility checklist: Best practices for inclusive web design -### Use Semantic HTML +### Use semantic HTML Leverage native HTML elements that communicate their purpose effectively: @@ -20,31 +20,31 @@ Leverage native HTML elements that communicate their purpose effectively: - Structure your layout with semantic elements: `