Modified Module Loader Client Anleitung

Diese Anleitung beschreibt dir den Umgang mit dem Modified Module Loader Client (MMLC). Beim MMLC handelt es sich um die Clientvariante des Modified Module Loaders (MML), die du dir auf deinem Server in deinen Shop installierst. Die Clientvariante kommuniziert per API mit einer Servervariante (MMLS) des Modified Module Loaders. Der MMLC erreicht diese API unter app.module-loader.de. Die Servervariante (MMLS) musst und kannst du nicht installieren.

Community / Forum / Chat

Auf unserem Discord #mmlc DE/EN Community Server beantworten wir dir deine Fragen sehr gerne, wenn du zusätzliche Hilfe benötigst. Auf Discord kannst du dich auch mit anderen Entwickelrn und Usern austauschen. Wenn du dich fragst, wieso wir Discord verwenden, findest du hier die Antwort auf deine Frage.

Systemvoraussetzungen #

  • PHP 7.2 oder höher
  • modified eCommerce Shopsoftware 2.0.3.0 oder höher
  • allow_url_fopen muss aktiviert sein
  • Bis einschließlich MMLC 1.18.0 darf das admin Verzeichnis des Shops nicht umbenannt sein, ab MMLC 1.19.0 kannst du das Adminverzeichnis in der config/config.php anpassen.

Installation #

In diesem Abschnitt wird beschrieben, wie du den MMLC in deinen Shop installierst. Die Installation ist ganz einfach. Folgende Schritte musst du durchführen:

Hinweis: In der folgenden Anleitung musst du www.dein-shop.tld durch deine Shop-Url ersetzen.

  1. Lade dir die mmlc_installer.php Datei kostenlos herunter. Download Link
  2. Kopiere die mmlc_installer.php Datei in das Root-Verzeichnis deines Shops. Z. B. mit einem FTP-Client.
  3. Rufe den Installer im Browser über www.dein-shop.tld/mmlc_installer.php auf.
  4. Lege einen Benutzernamen und ein Passwort deiner Wahl für den Zugang zum MMLC fest.
  5. Nach der Installation erreichst du den MMLC unter www.dein-shop.tld/ModifiedModuleLoaderClient.

Tipp: Installiere dir mit dem MMLC das Modul MMLC im Admin, dann kannst du den MMLC in Zukunft direkt aus dem Admin deines Shops aufrufen, statt die URL in deinen Browser eingeben zu müssen.

Deinstallation #

Bereits installierte Module funktionieren auch nach der Deinstallation des MMLCs, falls du diese Module nicht vorher deinstallierst. Für eine komplette Deinstallation solltest du zuerst alle Module, die du mit dem MMLC installiert hast deinstallieren. Dieser Schritt ist optional, wird aber empfohlen, wenn du dein Shopsystem in den Zustand vor der Installation des MMLCs bringen möchtest. Danach kannst du einfach das Verzeichnis /ModifiedModuleLoaderClient im Root-Verzeichnis deines Shops löschen. In diesem Verzeichnis befinden sich sämtliche Dateien zum MMLC.

Tipp: In dem Root-Verzeichnis deines Shops, kann je nachdem welche Module du installiert hast, dass Verzeichnis vendor-no-composer installiert worden sein. Wenn du alle Module deinstalliert hast, sollte dieses Verzeichnis leer sein. Möchtest du den MMLC und all deine Module komplett entfernen, bietet es sich an zu kontrollieren, ob das Verzeichnis vendor-no-composer leer ist.

Allgemein #

In diesem Abschnitt erfährst du einige Grundlagen zum MMLC. Wenn du den MMLC noch nicht installiert hast, lies dir den Abschnitt „Installation“ durch.

Verzeichnisstruktur #

In diesem Abschnitt erfährst, du wie die Verzeichnisstruktur unter /ModifiedModuleLoaderClient aufgebaut ist und wozu diese dienen.

  • Archives - Beinhaltet die geladenen Module als gepackte .tar Dateien.
  • config - Beinhaltet Kofigurationsdateien wie z. B. die config.php Datei.
  • Modules - Beinhaltet die geladenen Module geordnet nach Entwickler.
  • scripts - Beinhaltet Scriptdateien für Entwickler, mit denen diese Module erstellen können.
  • src - Beinhaltet den Programmcode des MMLC.
  • vendor - Beinhaltet Programmbibliotheken, die der MMLC benötigt.

Einige Module installieren zudem neue Programmdateien in das Verzeichnis vendor-no-composer, welches dazu im Root-Verzeichnis deines Shops angelegt wird.

Woher kommen die Module? #

Die Module werden von unterschiedlichen Entwicklern für den MMLC programmiert. Die Servervariante des Modified Module Loaders unter app.module-loader.de weiß, wo diese Entwickler ihre Module für den ModifiedModuleLoader bereitgestellt haben. Rufst du deinen MMLC auf deinem Server auf, fordert dein MMLC über eine API die Servervariante unter app.module-loader.de dazu auf, ihm Informationen über diese Module zu liefern. Wenn du ein Modul installierst, lädt dein MMLC das entsprechende Modul von app.module-loader.de und speichert es auf deinem Server in dem Verzeichnis /ModifiedModuleLoaderClient/Modules ab.

Modulstatus #

Ein Modul kann sich in einem der folgenden Status befinden:

  • Nicht geladen - Das Modul befindet sich nicht auf deinem Server.
  • Geladen - Das Modul befindet sich auf deinem Server unter /ModifiedModuleLoaderClient/Modules ist aber nicht installiert.
  • Installiert - Das Modul befindet sich auf deinem Server und ist installiert.
  • Bearbeitet - Das Modul befindet sich auf deinem Server, ist installiert und du hast Moduldateien bearbeitet.

Modulversionen #

Die Module des MMLCs können in unterschiedlichen Versionen vorliegen. Wird z. B. ein Programmfehler in einer Version entdeckt und korrigiert oder eine neue Funktion zu einem Modul hinzugefügt, wird dir das Modul in einer neuen Version zur Verfügung gestellt. Eine neue Version kannst du durch ein Update installieren. Schaue dir hierfür den Abschnitt „Ein installiertes Modul aktualisieren“ an. Der MMLC verwendet für die Nummerierung der Versionen „Semantic Versioning“. Information hierzu findest du unter https://semver.org/lang/de/

Abhängigkeiten #

Die Module im MMLC können von anderen Modulen abhängen. Wenn du ein Modul installierst, werden automatisch alle abhängigen Module mitinstalliert. Dadurch, dass Module im MMLC auf die Funktionalität von anderen Modulen aufbauen können, lassen sich schneller, einfacher und fehlerfreier neue Module von unterschiedlichen Entwicklern erstellen, da nicht jeder Entwickler das Rad neu erfinden muss. Wie du dir die Abhängigkeiten zu einem Modul anzeigen lassen kannst, erfährst du im Abschnitt „Modulinformationen anzeigen > Tab - Details“.

Library Module #

Häufig haben Module des MMLCs sogenannte „Library Module“ als Abhängigkeiten. Library Module sind oft Module, die dein Shopsystem um nicht für dich sichtbare neue Funktionen erweitert, aber auf die Modulentwickler zugreifen können, um einfacher und schneller neue tolle Module zu entwickeln. Der MMLC handhabt Library Module genau so wie alle anderen Module. Bei der Bezeichnung „Library Modul“ handelt es sich also lediglich um den Namen einer Kategorie von Modulen, die nicht direkt sichtbar neue Funktionen für dich im Shop bereitstellen. In der Regel wird es nicht nötig sein ein Library Modul direkt zu installieren. Diese werden automatisch als Abhängigkeit anderer Module mitinstalliert.

Passwort aktualisieren #

Wenn du das Passwort ändern möchtest, kannst du das seit Version 1.19.0 auch direkt über die Einstellungen im MMLC machen. Wenn deine Version älter ist, musst du dein Passwort manuell ändern. Wie das geht, beschreibt der folgende Abschnitt.

Passwort manuell aktualisieren #

Es kann passieren, dass du dich nicht mehr an deine Zugangsdaten (Benutzername oder Passwort) erinnerst, die du für den Zugang zum MMLC auf deinem Server benötigst. In diesem Fall kannst du die Zugangsdaten in der config.php des MMLCs aktualisieren. Hiefür musst du dir ein neues Passwort generieren. Das kannst du in der Console / Shell deines Betriebsystems mit folgendem Befehl machen:

Hinweis: Du musst dein-neues-passwort durch ein Passwort deiner Wahl ersetzen.

php -r 'echo password_hash("dein-neues-passwort", PASSWORD_DEFAULT) . "\n";'

Mit diesem Befehl wurde dein Passwort sicher verschlüsselt und unleserlich gemacht (man sagt auch gehashed). Kopiere anschließend diese kryptisch aussehende Zeichenkette (Hash) und ersetze damit in der Datei /ModifiedModuleLoaderClient/config/config.php den alten Hash im Eintrag password => "...".

Übersichtsseite der Module #

Wenn du den MMLC aufrufst gelangst du zuerst auf die Übersichtsseite, auf der alle Module die für deinen Shop zur Auswahl stehen aufgelistet sind. Die Module werden in der Übersicht gruppiert nach ihrer Kategorie angezeigt.

Hinweis: Module die speziell für einen bestimmten Kunden entwickelt wurden, werden hier nur abhängig vom passenden AccessToken angezeigt. Siehe dazu den Abschnitt „AccessToken einrichten“.

Suche nach Modulen #

Um schneller ein bestimmtes Modul zu finden, kannst du über die Suche nach dem Modulnamen oder nach dem Archivnamen suchen. Der Archivname wird im Abschnitt „Modulinformationen anzeigen > Tab - Details“ beschrieben.

Modulinformationen auf der Modul-Detailseite #

Klickst du ein Modul an, kommst du auf die Modul-Detailseite. Hier kannst du dir weitere Informationen (wie Beschreibungen oder Screenshots) zu dem Modul ansehen und das Modul laden, installieren, aktualisieren, reparieren oder deinstallieren.

Auf der Modul-Detailseite sind die Informationen zum Modul in mehrere Tabs aufgeteilt. Im folgendem Abschnitt wird beschrieben, welche Informationen dir in dem jeweiligen Tab bereitgestellt werden.

Tab - Übersicht #

  • Version - Zeigt dir die ausgewählte Version des Moduls in Semver Konvention an. (https://semver.org/lang/de/)
  • Preis - Zeigt dir den Kaufpreis bei kostenplfichtigen Modulen an.
  • Kompatible mit Modified - Zeigt dir an, mit welchen Versionen des Shopsystems das Modul getestet wurde.
  • Entwickler - Zeigt dir den Entwickler an, von dem das Modul hergestellt wurde.
  • Beschreibung - Gibt dir einen Überblick über die Funktionen des Moduls.

Tab - Installation #

Hier ist die Installtationanleitung des Moduls hinterlegt. Zu beachten ist auch, dass oft die Installationsanleitungen der Abhängigen Module (siehe Abschnitt „Abhängigkeiten“ und Abschnitt „Modulinformationen anzeigen > Tab Details“) berücksichtigt werden müssen. Sollten für ein Modul Anpassungen an deinem Template nötigt sein, werden hier auch die Anpassungen beschrieben und erklärt, die du an deinem Template vornehmen musst. Am Ende finden sich die Infomationen zur Deinstallation des Moduls.

Tab - Bedienung #

Hier ist die Bediengsanleitung des Modul hinterlegt.

Tab - Änderungsprotokoll #

Das Änderungsprotokoll ist ein typisches Changelog. Hier kannst du dir die Änderungen, die neuen Funktionen und die behobenen Fehler je Version des Moduls ansehen.

Tab - Details #

  • Archivname - Zeigt dir den technischen Namen des Moduls an. Er setzt sich aus VENDOR-NAME/MODULE-NAME zusammen.
  • Version - Zeigt dir die ausgewählte Version des Moduls in Semver Konvention an. (https://semver.org/lang/de/)
  • Kompatible mit Modified - Zeigt dir an, mit welchen Versionen des Shopsystems das Modul getestet wurde.
  • Alle Versionen - Listet dir alle verfügbaren Versionen des Moduls auf. Klicke eine Version an um mehr Informationen zu erhalten.
  • Benötigt - Listet dir alle Module auf, die das Modul benötigt um korrekt zu arbeiten.
  • Benutzt von - Listet dir alle installierte Module auf, die dieses Modul verwenden.

Tab - Änderungen (nicht immer sichtbar) #

Wenn du an den installierten Dateien eines Moduls Änderungen vorgenommen hast (z. B. um den Programmcode des Moduls an deine Bedürfnisse anzupassen), werden dir hier alle Änderungen angezeigt, die du an dem Modul vorgenommen hast. Geänderte Module können nicht aktualisiert werden. Hierzu musst du das Modul zuvor reparieren. Das bedeutet, dass alle Änderungen die du an dem Modul vorgenommen hast wieder rückgängig gemacht werden. Das Reparieren von Modulen kann der MMLC automatisch mit einem Klick für dich übernehmen. Schaue dir hierfür den Abschnitt „Ein Modul reparieren“ an.

Ein neues Modul installieren #

Module kannst du auf der Modul-Detailseite installieren. Klicke hierfür auf den Button „Downlad & Install“ (falls du das Modul noch nicht geladen hast) oder klicke auf den Button „Installieren“ (falls du das Modul bereits geladen aber noch nicht installiert hast). Bei der Installtion durch „Downlad & Install“ wird das Modul vom Server (app.module-loader.de) in den MMLC auf deinem Server geladen und anschließend in deinen Shop installiert. Bei der Installation durch „Installieren“ wird das bereits geladene Modul lediglich in deinem Shop installiert, aber nicht von app.module-loader.de geladen.

Ein kostenpflichtiges Modul lässt sich nur laden und installieren, nachdem der Entwickler dieses Modul für dich freigeschaltet hat. Es wird dir zunächst kein Button zur Installation angezeigt. Setze dich mit dem Entwickler eines kostenpflichtigen Moduls in Verbindung, damit er dir das gewünschte Modul freischalten kann, danach steht dir die Funktion „Downlad & Install“ zur Verfügung.

Nachdem der MMLC das Modul erfolgreich geladen und installiert hast, musst du noch die Anweisungen aus der Installationsanleitung (siehe Abschnitt „Modulinformationen anzeigen > Tab - Installation“) durchführen, um die installtion des Moduls abzuschließen. Oft musst du ein System-Modul aktivieren oder Anpassungen an deinem Template durchführen, damit das Modul seine Arbeit aufnehmen kann.

Hinweis: Wenn ein Modul bei der Installation neue Templatedateien im templates Verzeichnis deines Shops hinzufügt, werden diese Dateien ebenfalls automatisch in jedem Template hinzugefügt. Bei einer Aktualisierung eines Moduls, werden bis auf Dateien im tpl_modified Template, keine anderen Templatedateien aktualisiert, damit deine Änderungen nicht verloren gehen.

Ein installiertes Modul aktualisieren / update #

Nach einem Update könnten Änderungen an dem Template nötig werden, damit das Modul funktioniert.

Dokumentation in Arbeit ...

Hinweis: Wenn ein Modul bei der Installation neue Templatedateien im templates Verzeichnis deines Shops hinzufügt, werden diese Dateien ebenfalls automatisch in jedem Template hinzugefügt. Bei einer Aktualisierung eines Moduls, werden bis auf Dateien im tpl_modified Template, keine anderen Templatedateien aktualisiert, damit deine Änderungen nicht verloren gehen.

Ein Modul reparieren #

Wenn du Änderungen an den Programmcodedateien eines Moduls vorgenommen oder welche gelöscht hast, kannst du das Modul reparieren. Auf der Modul-Detailseite wird dir dann der Button „Änderungen verwerfen“ angezeigt. Klickst du auf den Button „Änderungen verwerfen“ werden alle Änderungen an dem Modul, die du vorgenommen hast rückgängig gemacht. Änderungen an Templatedaten werden hierduch nicht rückgängig gemacht. Ausgenommen hiervon sind die Templatedateien im Template tpl_modified.

ACHTUNG: Nachdem du „Änderungen verwerfen“ durchgeführt hast und das Modul wieder im Urzustand ist, kann der MMLC deine Änderungen nicht wieder herstellen. Du musst eine seperate Sicherung deiner Änderungen durchführen, falls du diese behalten möchtest. Du kannst dir vorher im Tab „Geänderte Dateien“ die Dateien ansehen, die durch dich geändert wurden und diese im Bedarfsfall sichern.

Ein Modul deinstalieren #

Bei der Deinstallation werden die installierten Dateien des Moduls aus dem Shop entfernt. Das Modul ist aber weiterhin im Verzeichnis /ModifiedModuleLoaderClient/Modules vorhanden für den Fall, dass das Modul wieder installiert werden soll. Es befindet sich in dem Status geladen. Möchtest du das Modul komplett von deinem Server entfernen, musst du auf „Modul löschen“ klicken. Für eine erneute Installation musst du jetzt das Modul erneut laden.

AccessToken #

Damit du im MMLC kostenpflichtige Module laden kannst, musst du ein AccessToken in der Konfigurationsdatei deines MMLCs hinterlegen. Mit diesem Token kann dein MMLC sich bei der Servervariante des Modified Module Loaders (MMLS) unter app.module-loader.de identifizieren und die Servervariante weiß anhand deines AccessTokens, welche Module du laden darfst und welche nicht. Zudem gibt es auch Module, die z. B. speziell für einen bestimmten Kunden oder speziell nur für dich gedacht sind. Diese Module soll kein anderer Nutzer des MMLCs sehen können. Durch deinen AccessToken weiß die Servervariante, welche Module er dir anzeigen und bereitstellen darf und welche nicht.

Ein AccessToken kann je nach Version deines MMLCs automatisch generiert werden oder es wird dir ein neuer AccessToken vom Modul-Entwickler beim Kauf eines Moduls mitgeteilt. Wie du diesen AccessToken in die Konfigurationsdatei einträgst beschreibt der nächste Abschnitt „AccessToken einrichten“.

AccessToken einrichten #

Du kannst in deinem MMLC unter System in der Menüleiste überprüfen, ob du bereits einen AccessToken hinterlegt hast. Um einen AccessToken zu hinterlegen führe folgende Schritte durch:

  1. Gehe in das Verzeichnis /ModifiedModuleLoaderClient/config.
  2. Öffne die Datei config.php mit einem Texteditor.
  3. (optional) Suche die Zeile "accessToken" => "", oder füge Sie hinzu, wenn sie nicht vorhanden ist.
  4. Füge zwischen den leeren Anführungszeichen in "accessToken" => "", deinen AccessToken ein.
  5. Speichere die Datei.

Deinen MMLC aktualisieren #

Wir arbeiten ständig an dem MMLC, um Fehler zu beheben oder neue Funktionen hinzuzufügen. Wenn eine neue Version des MMLCs vorliegt, kannst du deinen MMLC einfach selbst mit einem Klick unter dem Menüpunkt System aktualisieren. Der MMLC verwendet für die Nummerierung seiner Versionen „Semantic Versioning“. Information hierzu findest du unter https://semver.org/lang/de/

Fehler und Patches #

Leider kann es immer mal vorkommen, das Fehler auftauchen. Manche Fehler lassen sich auch leider nicht durch ein Update des MMLCs korrigieren. Für diesen Fall stellen wir Patches bereit, die den MMLC aktualisieren. Hier ist eine Auflistung der aktuellen Patches:

  • 1.12.0 - In dieser Version gibt es einen Fehler mit dem SelfUpdate des MMLCs, sodass der MMLC nicht ordnungsgemäß aktualisiert werden kann.