Seit geraumer Zeit gibt es eine Guideline für Pluginentwickler. Sicherlich wissen alle größeren Agenturen schon davon, aber solltest du gerade mit der Entwicklung starten hier ein paar nützliche Informationen.
Quality Guidelines
Die genaue Dokumentation zu den Guidelines findest du hier
plugin.xml
Neben den bereits bekannten required Fields in der xml müsst Ihr auch einen Changelog anlegen, außerdem sollten die min Version im Account und der plugin.xml übereinstimmen
Abhängigkeiten
Euer Plugin benötigt steht in einer Abhängigkeit zu z.B. MihoScrollToTop? Das solltet Ihr in der Datei wie folgt angeben:
<requiredPlugins>
<requiredPlugin pluginName="MihoScrollToTop" minVersion="1.0.0" />
</requiredPlugin>
Übersetzungen, Logo und Log
Übersetzungen sollten natürlich zu allen im Shop erwähnten Sprachen vorhanden sein, das Logo 16x16px haben und die Logs dürfen nur in den plugin.log oder in eine eigene Log Datei gepackt werden.
Datenbank Änderungen
Hier bin ich etwas zwiegespalten – es sollte dem Nutzer überlassen sein hier die Daten zu löschen oder auch nicht (Bsp. ein extra Attributfeld auf der Order, welches man noch für alte Aufträge benötigt und das ERP System erwartet).
Plugin Suffix, E-Mail Vorlagen, Nachladen
Natürlich muss der Plugin Suffix passen (bei mir Miho) und E-Mail Vorlagen müssen nach der Deinstallation gelöscht werden (verständlich, da die Logik mit dem Versand nicht mehr greift). Ein nachladen von Dateien ist strengstens verboten, logisch, sonst wird außerhalb der Kontrolle von Shopware alles mögliche hochgeladen.
Review Prozess
Den komplette Review Prozess gehe ich hier nun nicht durch, das wäre etwas zu langweilige + eine ziemlich exakte Kopie von der Doku. Dieser ist aber mittlerweile sehr genau beschrieben, was sicherlich eine gute Sache ist und zeigt warum es manchmal etwas länger dauern kann (auch wenn der Großteil davon automatisiert ist).
Frontend Tests
Interessant und erwähnenswert finde ich noch den Frontend Test der auch erst seit kurzem in der Doku vorhanden ist („created_at“: „2019-04-13T05:56:35Z“). Ich habe ja vor kurzem auch über Cypress berichtet. Nun wohl auch nette E2E Tests bei Shopware mit Cypress 🙂