OpenXE Update, lokale Anpassungen und Modulsystem

  • Aktuell läuft das Update über das Update Script

    Code
     ./upgrade.sh -do -v


    Lokale Anpassungen oder Erweiterungen würden mit dem Vorgehen überschrieben werden.


    --------------- OpenXE upgrade ---------------

    --------------- 2024-02-07 14:40:13 ---------------

    There are modified files:

    ../www/pages/verkaufszahlen.php

    ../www/themes/new/css/color3.css

    ../www/themes/new/css/styles.css

    ../www/themes/new/images/favicon/favicon-16x16.png

    ../www/themes/new/images/favicon/favicon-32x32.png


    Gibt es eine Best Bractice um wie man mit lokalen Änderungen im Filesystem und der Datenbank umgeht?


    Mögliches Vorgehen wäre ein eigener git branch mit OpenXE als Upstream repo den man dann jeweils merged und zusammen auf dem Zielserver deployed.


    Ist die Implementierung eines Modulsystems geplant, um OpenXE um zusätzliche Module erweitern zu können, ohne die Kernkomponenten zu beeinträchtigen?

  • Überlegungen zu einem richtigen Plugin-System gibt es schon, allerdings wären da größere Änderungen in der Softwarearchitektur vonnöten (Datenmodell und Funktionen trennen, zentrale API vereinheitlichen, alle Module migrieren). Aktuell ist es recht unwahrscheinlich dass das angegangen wird.


    Solange es sich nur um zusätzliche Dateien handelt kannst Du das wahrscheinlich mit einen Skript ganz gut regeln, oder es überlegt sich jemand etwas wie man das mit dem eingebauten Upgrade-Skript sinnvoll umsetzen kann. Aktuell macht das Upgrade git reset, git fetch, git checkout und danach Datenbank-Upgrade.

  • Hallo

    Ein Plugin System ist in Arbeit 🤗.

    Plugins können als zip hochgeladen werden. Angelehnt an das Shopware 5 Plugin System.

    Diese enthält das eine plugin.json, Modul und Views (pages/content Ordner) wie man es sonst kennt. Bis auf 2 Kleinigkeiten. Klassennamen muss mit Plugin_ beginnen und eine Methode function GetConfig() um Modul Konfigurationen im Plugin Manager vorzunehmen zu können.

    Die Plugins liegen jeweils in einer eigenen Ordnerstruktur und eigenen Unterordner.

    Die Änderungen im Core bleiben übersichtich.

    - Aktive Plugins sind ganz normal über z.b. ?module=helloworld&action=list erreichbar.

    - Sidebar Menüeinträge im Modul definierbar.

    - Plugins werden vom Benutzer Rechtesystem erkannt.

    - Datenbank Migration und Rollback beim Installieren/Deinstallieren. Ähnlich wie bei Laravel per Migrations Php.



    Lg. Timo H.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!