Artikel
von Patrick Froch

Contao 4: Installation von Erweiterungen - Artefakte

Wir wollen nun eine Installationsmethode betrachten, die sich für das Weitergeben von Erweiterungen an Kunden, aber auch für die interne Verwendung eignet. Wer schon länger mit Contao arbeitet kennt das Vorgehen noch von Contao 3. Es wird ein Archiv gepackt und der Inhalt einfach unter TL_ROOT/system/modules/ gespeichert. So ähnlich funktioniert es auch mit Artefakten.

Wer den ersten Teils und zweiten Teils dieser Serie nicht gelesen hat, sollte dies nachholen. Der aktuelle Beitrag baut direkt darauf auf.

Vorbereitung

Wir packen unsere Erweiterung aus der Entwicklungsumgebung in ein Archiv. Wichtig ist das in dem Archiv ein Ordner ist, der die ganze Erweiterung (also auch die composer.json) enthält. Bei mir leigen die Erweiterugnen z.B. unter TL_ROOT/src/Esit/NAMEderERWEITERUNG. Im Archiv sollten dann als oberste Ebene der Ordner NAMEderERWEITERUNG enthalten sein. Dieser enthält dann die composer.json, die Bundle-Datei, unsere Klassen, den Ordner Resources mit den Contao-Datien und alles weitere.

Für die eigentliche Installation sind auch hier wieder nur die beiden composer.json (Quell-composer.json und Ziel-composer.json) interessant.

Quell-composer.json

Die Quell-composer.json muss im Vergleich zum letzten Beitrag nicht angepasst werden. Ich habe sie hier der Übersicht halber noch einmal eingefügt.

Ziel-composer.json

Die Ziel-composer.json ist auch hier wieder eine globale, von Contao mitgebrachte composer.json. Der einzige Unterschied lieg im Abschnitt repositories, da wir unsere Erweiterung nun als artifact installieren (Zeile 23 - 26).

In Zeile 25 ("url": "artifacts/") wird das Verzeichnis in unserer Zielinstallation angegeben, in dem wir unsere Archive speichern. Dort müssen die Archive vor der Installation manuell hinterlegt werden.

Installation und Update

Nun reicht ein composer update um unsere Erweiterung zu installieren.

Ein Update ist etwas aufwendiger, wir müssen zunächst die Versionsnummer in der Quell-composer.json anpassen und dann ein neues Archiv erstellen. Dieses muss im entsprechenden Ordner für die Artefakte in der Zielinstallation gespeichert werden. Es reicht nun ein composer update um unsere Erweiterung zu aktualisieren.

Zurück

Kommentare

Aufgrund der unklaren Rechtslage durch die DSGV habe ich mich entschlossen, die Kommentare bis auf Weiteres zu deaktivieren.