Hey Leute, bei nun ca. 20 entwickelten Plugins stoße ich immer wieder auf diese Problematiken:
Duplikat-Quelltexte
Locale Codes können nicht wirklich technisch genutzt werden
Plugins teilen sich die selben Custom Fieldsets
Ich kann Foundation Plugins einfach deinstallieren -> Shop kackt ab weil Dependencies nicht mehr gegeben sind
Datenbank Updates (Lieferanten, Zahlungsarten, Custom Fields, E-Mail templates) mega kompliziert
Auch Datenbank Updates: Es sollte für jede Entity eine Default ID geben
Es gibt keine Möglichkeit das Löschen/Bearbeiten von technischen Einträgen zu sperren -> habe ich bisher nur bei den CMS Seiten gesehen.
Wenn Shopwelten Elemente durch das Plugin generiert werden, dann müssen diese auch beim Deinstallieren des Plugins entfernt werden
Bei den meisten Entities sind keine technischen Namen vorhanden -> ich muss mir selbst eine feste ID für meine Entries bestimmen -> Fehlerquelle weil kein (INSERT IGNORE) via DAL möglich ist?!
Hauptproblem: Ich kann “Shopware\Core\Framework\Plugin” nicht erweitern das wäre aber nütlich, da ich immer wiederkehrende Funktionen gerne zusammenfasse und worauf meine anderen Plugins zurückgreifen können. So sieht z.B. dieser Funktionskatalog aus:
Aber will nicht alles nur bemängeln Sonst nen top System und super dokumentiert. Beschäftige mich jetzt intensiv seit 8 Monaten mit Shopware 6 und verstehe so langsam die Sinnhaftigkeit des Systems
Bei den meisten Entities sind keine technischen Namen vorhanden -> ich muss mir selbst eine feste ID für meine Entries bestimmen -> Fehlerquelle weil kein (INSERT IGNORE) via DAL möglich ist?!
=> upsert benutzen von der Repository
Hauptproblem: Ich kann “Shopware\Core\Framework\Plugin”
=> Du könntest eine eigene Composer Dependency erstellen und diese verwenden. Das hier wird jedoch sehr anstregend, weil es kein globales Managment von Dependencies gibt. So könnte eine ältere Version deiner Dependency verwendet werden.
Bei den meisten Entities sind keine technischen Namen vorhanden -> ich muss mir selbst eine feste ID für meine Entries bestimmen -> Fehlerquelle weil kein (INSERT IGNORE) via DAL möglich ist?!
=> upsert benutzen von der Repository
Hauptproblem: Ich kann „Shopware\Core\Framework\Plugin“
=> Du könntest eine eigene Composer Dependency erstellen und diese verwenden. Das hier wird jedoch sehr anstregend, weil es kein globales Managment von Dependencies gibt. So könnte eine ältere Version deiner Dependency verwendet werden.
Also eine Composer Dependency ist vorhanden, jedoch wird die Main Klasse des Plugins direkt nach dem Upload ausgeführt bevor die Dependency durch Composer geprüft wird -> Resultat sieht dann so aus:
Fatal error: Uncaught Error: Class 'MoorlFoundation\MoorlPlugin' not found in /var/www/html/custom/plugins/MoorlFormBuilder/src/MoorlFormBuilder.php:14 Stack trace: #0 /var/www/html/vendor/composer/ClassLoader.php(444): include() #1 /var/www/html/vendor/composer/ClassLoader.php(322): Composer\Autoload\includeFile('/var/www/html/c...') #2 [internal function]: Composer\Autoload\ClassLoader->loadClass('MoorlFormBuilde...') #3 /var/www/html/vendor/shopware/core/Framework/Plugin/KernelPluginLoader/KernelPluginLoader.php(273): spl_autoload_call('MoorlFormBuilde...') #4 /var/www/html/vendor/shopware/core/Framework/Plugin/KernelPluginLoader/KernelPluginLoader.php(115): Shopware\Core\Framework\Plugin\KernelPluginLoader\KernelPluginLoader->instantiatePlugins('/var/www/html') #5 /var/www/html/vendor/shopware/core/Kernel.php(133): Shopware\Core\Framework\Plugin\KernelPluginLoader\KernelPluginLoader->initializePlugins('/var/www/html') #6 /var/www/html/vendor/shopware/core/HttpKernel.php(133): Shopware\Core\Kernel->boot() #7 /var/www/h in /var/www/html/custom/plugins/MoorlFormBuilder/src/MoorlFormBuilder.php on line 14
Nachtrag:
Ist es geplant hierzu ein Confirm oder ähnliches im Backend Bereich anzubieten?
Klar gerne, hab den ursprungszustand wiederhergestellt und die builds erstellt. Das Phänomen tritt nur auf wenn man das Plugin hochlädt, ohne dass Foundation bereits auf dem System ist. Vllt kannst du damit etwas anfangen.
Erstell gern ein Issue. Wir hatten damals das Problem auch in Shopware 5. Hatten das dann gelöst, dass man das Plugin nicht hochladen kann, bis die Abhängigkeiten da sind.
Zurzeit passiert das nur beim Installieren, und das ist viel zu spät
Erstell gern ein Issue. Wir hatten damals das Problem auch in Shopware 5. Hatten das dann gelöst, dass man das Plugin nicht hochladen kann, bis die Abhängigkeiten da sind.
Zurzeit passiert das nur beim Installieren, und das ist viel zu spät
Danke für den Hinweis, aktuell hilft mir das kaum weiter, da aufgrund dieses Fehlers meine Plugins bei der Prüfung abgelehnt werden. Ich sammle jedoch fleißig weiter und sobald in eurem Issuetracker etwas Luft ist - kann ich euch wieder mit Arbeit versorgen VG