OXID 6 – Module aus dem ZIP Archiv installieren per Composer

OXID 6 – Module aus dem ZIP Archiv installieren per Composer

Wer sich schon einmal mit Composer beschäftigt hat, für den ist es nichts neues, dass sich PHP Pakete auch aus einem ZIP Archiv installieren lassen. Dies gilt selbstverständlich auch für OXID 6 Module. Hierfür müssen lediglich ein paar einfache Dinge beachtet werden. Das Ganze schauen wir uns in diesem Beitrag am Beispiel eines unserer OXID 6 Module an.

Als Systemvorausetzung für das Installieren von PHP Paketen aus dem ZIP Archiv per Composer muss die PHP ZIP Extension auf dem Webspace vorhanden sein.

In der Regel sieht die Ordnerstruktur der OXID 6 Standard Installation so aus:

Schritt 1:

Zunächst müssen wir einen Ort für die ZIP Archive mit den Modulen schaffen. Dazu legen wir zunächst einen neuen Ordner mit der Bezeichnung “zip-mods” direkt im Hauptverzeichnis der OXID Installation an.

Schritt 2:

Jetzt brauchen wir ein OXID 6 Modul – z. B. das wea-tracker Modul, welches hier zu finden ist:
https://github.com/kavatari/wea-tracker/archive/v1.0.0.zip
Das Modul kann von Github direkt als ZIP Archiv heruntergeladen und anschließend in den zuvor erstellten Order “zip-mods” kopiert werden (ohne es zu entpacken).

Schritt 3:

Machen wir nun Composer mit unserem “zip-mods” Ordner vertraut. Dazu müssen wir lediglich die composer.json aus Schritt 1 anpassen und folgende Zeilen hinzufügen.

"repositories": [
    {
       "type": "artifact",
       "url":  "./zip-mods"
    }
 ],

Schritt 4:

Nun installieren wir das Modul – hierzu müssen wir ein weiteres “require” zur OXID 6 composer.json hinzufügen. Damit dies funktioniert, muss die composer.json des Moduls (https://github.com/kavatari/wea-tracker/blob/master/composer.json#L4) die Property “version” enthalten. In diesem Beispiel ist es die Version 1.0.0.

"require": {
  "wea/wea-tracker": "v1.0.0",
  "wea/wea-xmlsitemap": "dev-master#4ab46488"
},

Nun müssen nur noch die Packages durch Composer aktualisiert werden, z. B. mit dem Befehl “composer update”.
Danach ist das Modul “wea-tracker” unter “source/modules/wea/tracker” zu finden.

Wichtige Anmerkung an dieser Stelle: auf einer produktiven OXID 6 Installation sollte stehts der Befehl “composer install” verwendet werden, da hier die bereits bestehenden Module und andere PHP Pakete in der bereits installieren Version erhalten bleiben und nicht auf eine aktueller Version geupdatet werden.

In meinem nächsten Beitrag werde ich Euch zeigen, wie Ihr OXID 6 Module aus einem privaten Git-Repository, z. B. Gitlab, installieren könnt.

 

Eugen
Eugen

Kommentare sind geschlossen.