Quality Guidelines for Apps & Themes in the Community Store

Version

6.2.0 or newer

Table of contents

Apps & Themes - Quality Guidelines for Community Store

Changelog

02/06/20: Initial Release
 

Checklist for app-testing

Please note that this checklist may be edited at any time. Be sure you are using the most recent testing checklist from Shopware, and not from any other provider. We also ask that you pay attention to every single point in the Quality Guide for store apps & themes – these will be reviewed by us in order to release your app or theme.

Every app or theme

  1. If using external fonts (e.g. from Google Fonts) or external services, the store description must contain this information, and please be aware that you might have to edit your "data protection information". 
  2. App store description: Mandatory number of characters set in short and long description. No blank spaces as filler are allowed (EN/DE).
  3. App store description: Does the description makes sense, and does it include step-by-step instructions on how to use and test your app? .
  4. App store description: Did you include enough screenshots showing the app or theme in action in the storefront AND administration.
  5. We want to improve the quality in the Shopware Community Store and offer as many different apps as possible. We check for a functional comparison with other apps already available in the Shopware Community Store: If there is an app with exact the same function, the app or theme may be rejected.
  6. External links must be marked as rel="noopener" instead of target="_blank" or nothing.
  7. We check for styling errors on every viewport.
  8. We check the complete functionality of the app. 

Themes

  1. There must be a preview image available in the Theme Manager.
  2. Links must include a title-tag and images must have an alt-tag.
  3. Use Google's Structured Data Testing Tool to check the homepage, categories, and various product detail pages (incl. products with no review, 1 review, 9 reviews with various ratings, out of stock products, or any other kind of product configuration). We check for any new bugs. .
  4. We do a Lighthouse Audit to check the performance and quality of your frontend extension. There should not be any drastic change in performance or accessibility values when activating the theme or app.
  5. We check for new errors throughout the entire storefront using the Browser Debug Console. We also pay attention to new JavaScript errors. .

Apps that extend the administration

  1. We check the complete functionality of the app and test wherever the administration is impacted by the app.
  2. We check if the added configuration items are translated DE/EN
 

Quality Guidelines

 

manifest.xml - App and Theme metadata

All apps must contain the following metadata:


    


<manifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../plugins/connect/src/Core/Content/App/Manifest/Schema/manifest-1.0.xsd">
    <meta>
        <name>YourTechnicalThemeName</name>
        <label>Label</label>
        <label lang="de-DE">Name</label>
        <description>A description</description>
        <description lang="de-DE">Eine Beschreibung</description>
        <author>Your Company Ltd.</author>
        <copyright>(c) by Your Company Ltd.</copyright>
        <version>1.0.0</version>
    </meta>
    <setup>
        <registrationUrl/>
    </setup>
</manifest> 

 

Translations in the XML & TPL files

If your app is available in more than one language (e.g. English and German), these can be defined using the option "My app is translated into the following languages" (located in the “Description & images” section of your extension management). The translations / text snippets must be maintained in the respective XML and TPL files.

Link: Writing an own theme: Snippets

Untrusted content should not be included

See Untrusted content should not be included in SonarQube Rules.


Code review - Errors

Examples will follow soon.

 

The way we test apps & themes

It's always a good idea to review the process of how we conduct tests prior to submitting your apps or themes for review - this ensures the quickest way for your apps and themes to be published.

First sighting of the app

Your app/theme will be testet in our current SaaS environment.

 

Testing apps

The app should not produce any error messages - neither in the backend nor in the frontend.

Manual code review

  • make sure that your external service is secured and has a high availability
  • make sure that you inform your customers about which data will be handled by your external service
 

Testing themes

The app should not produce any error messages - neither in the backend nor in the frontend.

Manual code review

  • Use Google's Structured Data Testing Tool to check if there are any new bugs. There must be no new warnings/errors. We test categories and product pages (available products, unavailable products, available products plus reviews, and products to be released in future). Testing Tool: Google Structured Data Testing Tool
  • We check the frontend and the checkout with the Debug Console - we also pay attention to new JavaScript errors. If more errors appear in the debug console than before the installation of the app or theme, we will reject the extension.
  • We do an Lighthouse Audit to check the perfomance and quality of your frontend extensions. If there are drastically worse performance and accessability values than before activating the apps or theme, we will reject the extension. Google Lighthouse: Run Lighthouse Audit
 

Automatic code reviews with PhpStan and SonarQube

Our most current code review configurations that we use when uploading pluigns via the Shopware Acccount can be found on GitHub.
 

Shopware Account

Note: iframes, external scripts or tracking pixels are not allowed in the source code of the descriptions, profiles, and instructions. Custom styles may not overwrite the original Shopware styles. External sources must be included via https.

App or Theme master data

Please enter a valid license. You have to identify this license in the app.xml as well.

Description & images

Short description: Min. 150 - max. 185 characters.

Description: Min. 200 characters.

Inline styles will be stripped.The following HTML tags are allowed:


<a> <p> <br> <b> <strong> <i> <ul> <ol> <li> <h2> <h3> <h4> <h5>

In addition, you should include descriptive images that represent the extensions functionality. Show the plugin "in action" in both the frontend and backend.

Note: You are no longer able to advertise your Shopware certificates within the extensions description, in your apps or themes images, or in your manufacturer profile. The manufacturer/partner certificates are dynamically loaded at the end of each extensions description and published by us.

Availability in the Community Store

An extension is to be released in both stores (German and International), the content must be accurately translated 1:1 from/to German/English.​​​

Manufacturer profile

A complete manufacturer profile in German and English is mandatory. The English or German text must be translated 1:1. You can find the manufacturer profile in your account under Shopware Account > Plugin Administration > Plugin manufacturer profile.

Note on Shopware Technology Partner contract for interfaces

You have now read the complete list of requirements for developing and releasing apps in the Shopware Community Store.

If your app is a software extension/interface with downstream costs, transaction fees, or service fees for the customer, we need to complete a technology partner agreement in order activate your apps.

If you have any questions regarding the technology partner agreement, please contact our sales team by writing an email to sales@shopware.com or calling +44 (0) 203 095 2445 (UK) / 00 800 746 7626 0 (worldwide) / +49 (0) 25 55 / 928 85-0 (Germany).

Was this article helpful?