Hallo Shopware,
hallo Community,
wir betreiben mehrere Shopware-Instanzen für unsere Kunden. Seit Version 5.4 nutzen wir nun verstärkt auch composer. Zunächst einmal vielen Dank für dieses Feature. Darauf haben wir seit längerem gewartet.
Insgesamt sind wir jedoch noch auf verschiedene Probleme gestoßen.
Als Basis nutzen wir das composer-Skeleton: https://github.com/shopware/composer-project
Mit einem
composer create-project shopware/composer-project . --no-interaction –stability=dev
und anschließendem
./app/install.sh
ist die Installation sehr schnell gemacht. Sehr gut!
1.) .env
Das .env File ist momentan direkt im Shopware-Root abgelegt. Hier haben wir uns zunächst damit beholfen, dass wir in der .htaccess den Zugriff auf das File verbieten.
Order allow,deny
Deny from all
Wie ist hier die best practice?
Eine generelle Frage dazu kam auf: wäre es nicht sinnvoll, Files, die nicht zugänglich sein sollen, bereits in der Default-Konfiguration, eine Ebene nach unten zu schieben und alle Assets, die im Frontend benötigt werden, bspw in einen Ordner /htdocs/ (oder /web/) zu verschieben.?
|- app
|- bin
|- vendor
|- .env
|- …
|- htdocs
| |- files
| |- media
| |- theme
In ähnlicher Weise wird es bspw. in TYPO3 gehandhabt (https://github.com/TYPO3/CmsComposerInstallers).
Aber das nur am Rande.
2.) Versions- und Revisionsnummer
Auffällig ist außerdem, dass Versions- und Revisionsnummer nicht überall zugänglich sind.
Während im Shopware-Backend Version und Revision aus .env File genutzt und angezeigt werden, ist dies auf der CLI nicht der Fall.
Backend:
Shopware 5.4.2 dev (Rev. 201804030942) - Backend (c) shopware AGdev@dev:~/project54.de/web/bin$ ./console
Shopware version ___VERSION___ - /dev
Hier ist ebenfalls auffällig, dass im Cache-Ordner die Shopware-Revision nicht mehr angehangen ist. Aus Shopware 5.3 und früher kennen wir das anders. Ist das ein Konfigurationsfehler auf unserer Seite?
dev@dev:~/project54.de/web/var/cache$ ls
clear_cache.sh dev
dev@dev:~/project53.de/web/shop/var/cache$ ls
clear_cache.sh dev_201801171346
3.) Feedback-Fenster deaktivieren
Gibt es außerdem eine Möglichkeit das Fenster im Backend „Feedback für Vorabversion“ zu deaktivieren? Das Fenster erscheint mit jeder installierten Shopware 5.4 Version (also auch mit 5.4.2) und in jedem Kontext (dev und production). Hängt dies mit der nicht verfügbaren Version/Revision zusammen?
4.) composer und ionCube
Auch wenn es sich um eine Composer-Installation handelt, wollen wir unseren Kunden natürlich nicht die Möglichkeit nehmen Plugins über das Backend zu installieren. Nachdem ein Kunde vor kurzem ein verschlüsseltes Kauf-Plugin installiert hatte, war der Plugin-Manager nicht mehr verfügbar und folgende Fehlermeldung wurde angezeigt:
Uncaught Error: Class ‘ComposerAutoloaderInitShopware’ not found in
/xx/Plugins/Community/Frontend/xyz/Bootstrap.php:2548 […]
Nicht mehr verfügbar heißt, die Plugin-Liste wurde als komplett leer angezeigt. Nach dem Entfernen des verschlüsselten Plugins konnte der Plugin-Manager wieder benutzt werden.
Besten Dank für eure Hilfe