Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions .gitbook.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -170,12 +170,12 @@ redirects:
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.html
resources/guidelines/testing/store/quality-guidelines-plugins.html: guides/development/testing/testing-guidelines.html
resources/guidelines/testing/store/quality-guidelines-apps.html: guides/development/testing/testing-guidelines.html
resources/guidelines/testing/store/quality-guidelines-plugins/: guides/development/testing/testing-guidelines.html
resources/guidelines/testing/store/quality-guidelines-apps/: guides/development/testing/testing-guidelines.html
resources/guidelines/testing/store/quality-guidelines-plugins/#the-way-we-test-apps-based-on-the-plugin-system: guides/development/testing/testing-guidelines.html
resources/guidelines/testing/store/: guides/development/testing/store/index.html
resources/guidelines/testing/store/quality-guidelines-plugins.html: guides/development/testing/store/quality-guidelines.html
resources/guidelines/testing/store/quality-guidelines-apps.html: guides/development/testing/store/quality-guidelines.html
resources/guidelines/testing/store/quality-guidelines-plugins/: guides/development/testing/store/quality-guidelines.html
resources/guidelines/testing/store/quality-guidelines-apps/: guides/development/testing/store/quality-guidelines.html
resources/guidelines/testing/store/quality-guidelines-plugins/#the-way-we-test-apps-based-on-the-plugin-system: guides/development/testing/store/quality-guidelines.html
guides/integrations-api/general-concepts/: guides/development/integrations-api/
guides/integrations-api/general-concepts/api-versioning.html: guides/development/integrations-api/request-headers.html#sw-version-id
guides/integrations-api/general-concepts/request-headers.html: guides/development/integrations-api/request-headers.html
Expand All @@ -191,6 +191,8 @@ redirects:
guides/development/monetization/quality-guidelines/: guides/development/testing/store/quality-guidelines.html
guides/development/monetization/store-review-errors.html: guides/development/testing/store/store-review-errors.html
guides/development/monetization/store-review-errors/: guides/development/testing/store/store-review-errors.html
guides/development/testing/testing-guidelines.html: guides/development/testing/store/index.html
guides/development/testing/testing-guidelines/: guides/development/testing/store/index.html
Comment on lines +194 to +195
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
Expand Down
57 changes: 13 additions & 44 deletions guides/development/testing/store/content-and-translations.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ Listing text, translations, previews, and account profile content for the Shopwa

All extensions must:

* Be available in English, with 1:1 translation between English and German. For the German store, German is required. Extensions are released in both the German and International stores.
* The extension will publish in the international store. Publication in the German Store is optional. If the extension should also be available in the German Store, there must be a 1:1 translation between English and German.
* **Short description** (150–185 characters): Teaser in overviews, “Customers also bought” / “Customers also viewed,” and published as the meta description.
* **Long description** (minimum 200 characters): Describe functionality in detail; must match 1:1 between English and German where both are used.
* Use meaningful short and long descriptions.
* Accurately and clearly describe the extension and its use cases.
* Avoid the words “plugin” and “shopware” in the display name.
Expand All @@ -28,73 +30,40 @@ Allowed HTML tags:

There must be no advertising for your own services or contact information in the Administration, description, or images. Links that encourage contact are not permitted, including support email addresses and backlinks.

The extension’s visual design must be consistent with Shopware and fit existing sections.

The store display name must be used for `composer.json` and `config.xml`.

An extension whose name reflects its functional purpose is allowed, even if another extension uses a similar name.

### Short and long description

* **Short description** (150–185 characters): Teaser in overviews, “Customers also bought” / “Customers also viewed,” and published as the meta description.
* **Long description** (minimum 200 characters): Describe functionality in detail; must match 1:1 between English and German where both are used.

### Store description (DE and EN)

* Minimum 200 characters for the long description; describe functionality in detail.
* Must be accurately translated 1:1 (EN ↔ DE) where both languages are offered.
* A precise, clear description of the extension and its use cases.

### Images and screenshots

* Use English-only screenshots for the English store listing and preview images. German screenshots for the German description are optional.
* Use English-only screenshots for the English store listing and preview images.
* Do not mix languages within the same image.
* Only images that represent the extension’s function are allowed.
* Advertising for other extensions or services is not permitted.
* Show the extension in use in Storefront and Administration, including configuration and how-to detail.
* Prefer screenshots for mobile and desktop.
* Images must be high quality; at least one storefront and one admin screenshot should show main features.
* Store a valid favicon named `plugin.png` (112×112px) under `src/Resources/config/` so the extension is identifiable under **Administration > Extension Manager**.
* [Themes](../../../plugins/themes/index.md) require a preview image in the Theme Manager.
* [Shopping Experiences CMS elements](../../../../concepts/commerce/content/shopping-experiences-cms.md#elements) must include an element icon.
* [How to request a preview](https://docs.shopware.com/en/account-en/extension-partner/extensions?category=account-en/extension-partner#how-can-i-request-a-preview)

::: info
[How to add images and icons to extensions](https://docs.shopware.com/en/account-en/adding-pictures-and-icons/how-to)
:::

## Fallback language and translations {#fallback-language-and-translations}
## Preview and Extension Manager presentation

Extensions must work independently of the system language. If a translation is missing (for example, Spanish), use a proper fallback (usually English).
For detailed requirements, see the [FAQ — What must a preview include?](./faq.md#what-must-a-preview-include).

If the extension is available in multiple languages, define them in your Shopware Account under “Translations into the following languages are available,” in the "Description & images" section.
## Admin translations

During review we check text snippets, `config.xml`, and `composer.json` where applicable.
Extensions must work independently of the system language. If a translation is missing (for example, Spanish), use a proper fallback (usually English).

### Admin translations
If the extension is available in multiple languages, define them in your Shopware Account under “Translations into the following languages are available,” in the "Description & images" section.

English must be the fallback and always be available for settings and error messages.

**Own media folder:** Create separate media folders or use existing ones for uploads. Do not change Shopware’s base structure. Do not add entries to the main menu of the Administration.

## Preview and Extension Manager presentation

* A preview image must exist in the Extension Manager.
* Store a valid favicon named `plugin.png` (112×112px) under `src/Resources/config/` so the extension is identifiable under **Administration > Extension Manager**.
* [Themes](../../../plugins/themes/index.md) require a preview image in the Theme Manager.
* [Shopping Experiences CMS elements](../../../../concepts/commerce/content/shopping-experiences-cms.md#elements) must include an element icon.

[How to request a preview](https://docs.shopware.com/en/account-en/extension-partner/extensions?category=account-en/extension-partner#how-can-i-request-a-preview)

### Reserve a name with a store preview

To secure an idea early, create a preview in your Shopware Account with placeholder images, meaningful use cases, key features, a description, and an expected release month. No binary upload is required.

### Extension master data and license

The license in your Shopware Account must match the license in `composer.json`. The selected license cannot be changed after the extension is created; a new extension with a new technical name and upload is required for changes.

### Demo shop URLs in listings

* URLs must not contain `http:` or `https:` prefixes in the form required by the listing workflow.
* Test environments are deleted after about two weeks; do not link to them as permanent demos.

## Manufacturer profile

Configure the profile under **Shopware Account > Extension Partner > [Extension Partner profile](https://account.shopware.com/producer/profile)**.
Expand Down
2 changes: 1 addition & 1 deletion guides/development/testing/store/cookies-and-privacy.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,4 @@ If personal data of customers (merchant and/or end customers) is processed with
* Enter the data processor’s details in **Subprocessor**.
* Enter any further processors under **Further subprocessors**.

If external services transfer personal data, update your privacy information; a tooltip in the extension configuration is recommended.
If external services transmit personal data or are in use, this should be specified in the description.
14 changes: 13 additions & 1 deletion guides/development/testing/store/faq.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
---
nav:
title: Frequently asked questions
title: FAQ
position: 100
---


# FAQ

## Why do I need to implement requirements that are not provided by Shopware?

All developed extensions must comply with current development standards, best practices, and security requirements. Even if certain mechanisms, safeguards, or implementation standards are not provided by Shopware out of the box, they may still be required to ensure the extension meets the expected level of security, stability, quality, and compatibility for Store approval and long-term maintainability.

## Is a test environment available for testing the extension?

For testing, we provide you with a test environment in your partner account within the extension. This allows the extension to be tested across all its functionalities.
Expand Down Expand Up @@ -39,3 +43,11 @@ If the extension is a software application or interface that involves downstream
If you have any questions regarding the technology partner agreement, please contact our sales team by email at <alliances@shopware.com> or by phone at +44 (0) 203 095 2445 (UK) / 00 800 746 7626 0 (worldwide) / +49 (0) 25 55 / 928 85-0 (Germany).

Alternatively, you can include this information directly in your app and provide it during the final submission.

## What must a preview include?

For a preview to be accepted, it must meet all the requirements listed in the store description.

If no images are available yet, placeholders such as a logo or “coming soon” can be used.

See also: [Preview and Extension Manager presentation](https://developer.shopware.com/docs/guides/development/testing/store/content-and-translations.html#preview-and-extension-manager-presentation).
39 changes: 9 additions & 30 deletions guides/development/testing/store/functionality-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ nav:

# Functionality and integration

The extension’s features must work as described. All advertised features must be available at review time.
The extension’s visual design must be consistent with Shopware and fit existing sections.

## API validation and external services

Expand All @@ -20,19 +20,19 @@ Example pattern: [ShyimApiTest](https://github.com/shyim/ShyimApiTest).

## Configuration per sales channel

Apps that appear in the Storefront and use `config.xml` must be configurable **per sales channel**, or explicitly scoped to a single channel.
Extensions that appear in the Storefront must be able to be configured separately for each sales channel, or scoped so they apply only to a single channel.

## Message queue

If the extension enqueues messages, each payload must not exceed **262,144 bytes (256 KB)**.
If the extension adds messages to the message queue, the entry should not be bigger than **256 KB**.

## External fonts and services
This limitation is set by common message queue workers and should not be exceeded.

If you use external fonts (for example Google Fonts, Font Awesome) or other third-party services, state this clearly in the **extension store description**. If personal data is transferred, update privacy information; a **tooltip** in configuration is recommended.
## Structure

## App-specific requirements {#app-specific-requirements}
**Own media folder:** Create separate media folders or use existing ones for uploads. Do not change Shopware’s base structure. Do not add entries to the main menu of the Administration.

These apply to **apps** only:
The basic structure of Shopware should not be changed or modified.

* Provide **per-sales-channel** configuration when you use `config.xml`.
* Do **not** load external files during installation in the Extension Manager.
Expand All @@ -41,30 +41,9 @@ These apply to **apps** only:
* A **Shopware Technology Partner (STP)** agreement is required for commission-based integrations that bill the merchant (see below).
* Apps visible in the Storefront with `config.xml` must support separate configuration per sales channel.

## Commercial and technology partner (STP) integrations

If the extension integrates external services and generates revenue (for example fees per transaction), an **STP agreement** may be required. Commission-based integrations must report usage as defined in the contract.

Example payload shape reported to Shopware (see your contract for the live endpoint and fields):

```json
{
"identifier": "8e167662-6bbb-11eb-9439-0242ac130002",
"reportDate": "2005-08-15T15:52:01",
"instanceId": "alur24esfaw3ghk",
"shopwareVersion": "6.3.1",
"reportDataKeys": [
{ "customer": 3 },
{ "turnover": 440 }
]
}
```

Partners typically `POST` reports to `/shopwarepartners/reports/technology` as specified in the STP documentation.

Questions: [alliances@shopware.com](mailto:alliances@shopware.com) or **+44 (0) 203 095 2445 (UK)**, **00 800 746 7626 0 (worldwide)**, **+49 (0) 25 55 / 928 85-0 (Germany)**.
## External fonts and services

**Progressive Web App:** For PWA compatibility and the PWA flag in the Store, contact [alliances@shopware.com](mailto:alliances@shopware.com).
If external fonts (for example, Google Fonts, Font Awesome) or external services are used, this information must be included in the description in the extension store.

## Tools

Expand Down
6 changes: 3 additions & 3 deletions guides/development/testing/store/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
nav:
title: Store
title: Extensions for Store
position: 5
---

Expand Down Expand Up @@ -46,11 +46,11 @@

<PageRef page="./store-review-errors" title="Common Store review errors" />

## Frequently asked questions
## FAQ

For submission logistics, timelines, and readiness questions that do not fit a single technical page, start here.

<PageRef page="./faq" title="Frequently asked questions" />
<PageRef page="./faq" title="FAQ" />

Check warning on line 53 in guides/development/testing/store/index.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] guides/development/testing/store/index.md#L53

Unpaired symbol: ‘"’ seems to be missing (EN_UNPAIRED_QUOTES) URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US Category: PUNCTUATION
Raw output
guides/development/testing/store/index.md:53:12: Unpaired symbol: ‘"’ seems to be missing (EN_UNPAIRED_QUOTES)
 URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses 
 Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US
 Category: PUNCTUATION

Check warning on line 53 in guides/development/testing/store/index.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] guides/development/testing/store/index.md#L53

Unpaired symbol: ‘"’ seems to be missing (EN_UNPAIRED_QUOTES) URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US Category: PUNCTUATION
Raw output
guides/development/testing/store/index.md:53:18: Unpaired symbol: ‘"’ seems to be missing (EN_UNPAIRED_QUOTES)
 URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses 
 Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US
 Category: PUNCTUATION

## Related

Expand Down
6 changes: 0 additions & 6 deletions guides/development/testing/store/installation-and-cleanup.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,3 @@ For **completely delete**:
The free [Adminer for Admin](https://store.shopware.com/en/frosh79014577529f/adminer-for-admin.html) extension can help verify database state in your test environment.

After uninstall, [Shopping Experiences](../../../../concepts/commerce/content/shopping-experiences-cms.md) must continue to work in the storefront.

## Apps and Extension Manager

**Apps:** Do not load or reload external files during or after installation in the Extension Manager.

Avoid extending or overwriting the Extension Manager in general.
6 changes: 3 additions & 3 deletions guides/development/testing/store/quality-guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Listing copy, languages, images, previews, manufacturer profile, and account rul

#### Fallback language/translations

Fallback languages, account configuration, and Administration translations are covered in [Content and translations](./content-and-translations.md#fallback-language-and-translations).
Fallback languages, account configuration, and Administration translations are covered in [Content and translations](./content-and-translations.md#admin-translations).

### Functional requirements

Expand All @@ -59,7 +59,7 @@ Packaging and delivery rules for plugins—Composer archive, readable JavaScript

#### App-specific requirements

Rules that apply only to apps—per-sales-channel `config.xml`, API test flows, no Extension Manager changes, and STP where required — are documented under [Functionality and integration](./functionality-integration.md#app-specific-requirements).
For apps, reviewers additionally validate `config.xml` per sales channel, install and uninstall flows, and Administration presentation. Technical rules are documented under [Functionality and integration](./functionality-integration.md).

### Storefront guidelines

Expand All @@ -71,7 +71,7 @@ Sitemaps, canonicals, robots headers, and structured data: [SEO and structured d

### Administration guidelines

Main-menu rules, media folders, API test buttons, validation messages, and logging in the Administration: [Content and translations](./content-and-translations.md) and [Functionality and integration](./functionality-integration.md).
Main-menu rules, media folders, API test buttons, validation messages, and logging in the Administration: [Functionality and integration](./functionality-integration.md) and [Content and translations](./content-and-translations.md).

### Composer and dependencies

Expand Down
Loading
Loading