diff --git a/guides/development/monetization/quality-guidelines.md b/guides/development/monetization/quality-guidelines.md index 09b523c6e..d17885df6 100644 --- a/guides/development/monetization/quality-guidelines.md +++ b/guides/development/monetization/quality-guidelines.md @@ -1,327 +1,366 @@ --- nav: - title: Quality Guidelines for Store Extensions + title: Quality guidelines for apps in the plugin system position: 20 --- -# Quality Guidelines for Store Extensions +# Quality guidelines for the Shopware Store -These guidelines apply to all extensions distributed via the Shopware Store, including both plugins and apps. They define the quality, security, and compliance requirements for publication. +These guidelines apply to all extensions distributed via the Shopware Store, including plugins and apps. They define the quality, security, and compliance requirements for publication. ## Scope and terminology * **Extension**: umbrella term for plugins and apps. -* **Plugin**: installed in the Shopware instance; PHP code, Composer. -* **App**: integrated via app system; no direct PHP execution in core. +* **Plugin**: installed in the Shopware instance; PHP code and Composer packages. +* **App**: integrated via the app system; no direct PHP execution in core. Unless stated otherwise, requirements apply to all extensions. +## What kind of extension is allowed? + +Currently, all types of extensions are allowed, except those that violate the regulations below. Extensions with the following characteristics are not permitted and will not be approved: + +* Functions that are included in the Shopware B2B Components; see [Shopware 6 - Commercial Features - B2B Components](https://docs.shopware.com/en/shopware-6-en/commercial-features/b2b-components). +* Direct SQL changes by the merchant or other security-relevant issues. +* Extensions that are two major Shopware versions below the current supported range. +* If your extension is a software app or interface with downstream costs, transaction fees, or service fees for the customer, a technology partner agreement must be completed before the app can be activated. + ## Review process All extensions are: -1. Automatically [code-reviewed](https://github.com/shopwareLabs/store-plugin-codereview) (PHPStan, SonarQube), due to our quality assurance, with special attention on impacts to the Administration and Storefront. +1. Automatically [code-reviewed](https://github.com/shopwareLabs/store-plugin-codereview) (PHPStan, SonarQube) as part of quality assurance, with special attention to impacts on the Administration and Storefront. 2. Manually reviewed for security, coding standards, user experience, and functionality. -3. Tested on the latest stable [Shopware 6](https://www.shopware.com/de/download/#shopware-6) CE version. +3. Tested on the latest stable [Shopware 6](https://www.shopware.com/en/download/#shopware-6) Community Edition. -Always test against the highest supported Shopware 6 version (e.g., `shopware/testenv:6.7.6`). +Always test against the highest supported Shopware 6 version (for example `shopware/testenv:6.7.6`). For apps, we additionally test: -* `config.xml` per sales channel -* Install/uninstall behavior -* Styling and viewport issues +* `config.xml` per sales channel. +* Install and uninstall behavior. +* Styling and viewport issues. -Before publishing an extension, review the full test process to ensure fast approval. +Before publishing an extension, review the full test process to ensure faster approval. -::: info -[Test your app for the Shopware Store (DE):](https://www.youtube.com/watch?v=gLb5CmOdi4g); EN version is coming soon. -::: +## Checklist for testing -## Store listing requirements +* We use automatic code review and look for security issues and Shopware coding standards in the manual code review. +* We check the full functionality of the extension and look for styling issues on every viewport. -All extensions must: +[Documentation for Extension Partner – preview and testing](https://docs.shopware.com/en/account-en/extension-partner/extensions?category=account-en/extension-partner#how-can-i-request-a-preview) -* Be available in English, with 1:1 translation between English and German. For the German store, German language is required. All extensions will be released in both the German and International stores. -* Use meaningful short and long descriptions. - * The short description (150–185 characters) teases your extension in an overview, along with "Customers also bought" and "Customers also viewed" recommendations. It is also published as a meta-description. - * Long descriptions (minimum 200 characters) must describe the extension's functionality in detail. -* Accurately and clearly describe the extension and its use cases. -* Avoid the words “plugin” and “shopware” in the display name. -* Avoid blank spaces as filler text. -* Include clear, complete setup and configuration instructions. -* Use clean HTML source code. Inline styles will be stripped. +## Extension store description -These tags are allowed: +Release to the international store is standard; the German store is optional. When an extension is released in both stores, content must accurately translate one-to-one from English to German. -```markdown -