J4.x

Joomla! an die eigene Umgebung anpassen

From Joomla! Documentation

Revision as of 06:16, 11 October 2018 by Franz.wohlkoenig (talk | contribs)
Tutorial - Wie man Joomla! 4 in der eigenen Umgebung einrichtet
Joomla! 
4.x

Mit Joomla! 4 wurde der Entwicklungsprozess verändert. Es ist nicht länger möglich, die Paketquellen zu klonen und damit Joomla! zu installieren. Im folgenden ist nach aktuellen Erfahrungswerten ein funktionaler Weg zur Installation beschrieben.

Schnellstart Anweisungen

Abhängig vom Betriebssystem unterscheidet sich die Einrichtung der Entwicklungsumgebung. Es ist leider nicht möglich, den Vorgang für die verschiedenen Betriebssysteme zu dokumentieren. Die bevorzugte Suchmaschine wird hier helfen.

Benötigte Werkzeuge

  1. PHP - im Wesentlichen dasselbe wie beim Betreiben einer Joomla! Seite, allerdings brauchst du eine spezielle Version, die PHP CLI (Kommandozeileneingabe) (beachte auch die Seite Einrichten eines LAMPP Servers für die PHP Entwicklung)
  2. Composer - um die Abhängigkeiten von Joomla!s PHP zu verwalten - Hilfe bei der Installation von Composer bietet die Dokumentation auf https://getcomposer.org/doc/00-intro.md
  3. Node.js - um Joomla!s JavaScript und SASS Dateien zu kompilieren - Hilfe bei der Installation von Node.js bieten die Anweisungen die auf https://nodejs.org/en/ erhältlich sind.
  4. Git - für die Versionsverwaltung

Schritt für Schritt zur Installation der eigenen Umgebung

  1. Klone die Paketquelle
  2. führe composer install im Wurzelverzeichnis der git Paketquelle aus (du kannst --ignore-platform-reqs hinzufügen falls du PHP-LDAP lokal nicht installiert und du es nicht brauchst)
  3. führe npm install im Wurzelverzeichnis der git Paketquelle aus

Linux and OSX users can set up the following bash alias by placing the following inside the ~/.bashrc file:

alias jinstall="rm -rf administrator/templates/atum/css; rm -rf templates/cassiopeia/css; rm -rf media/; rm -rf node_modules/; rm -rf libraries/vendor/; composer install; npm install; git checkout -- libraries/vendor/.htaccess"

This will wipe all the compiled files in your system and run a fresh install as one command by calling jinstall inside your Joomla install

Die etwas längere Startanleitung

Joomla! unterscheidet sich heutzutage nicht von anderen Internetwerkzeugen. Es weist einen großen PHP-Teil auf und erhält mehr und mehr JavaScriptcode. Während die Programmierung mit PHP nicht sehr viel Vorbereitung benötigt, braucht JavaScript eine umfangreiche Werkzeugumgebung. Der Hauptgrund liegt darin, dass niemand Programmkode auf eine Weise schreibt, die jeder Browser versteht, daher muss der Kode auch von zum Beispiel ES6 in eine kompatible Version von JavaScript transkompiliert werden. Dasselbe gilt für CSS, bei Joomla! verwenden wir SASS, dieses wird in natives CSS konvertiert, sodass es jeder Browser verstehen kann. Die Kehrseite bei der Installation einer Entwicklerumgebung ist, dass es ein bisschen komplizierter ist, dafür die Werkzeugausstattung das Programmieren viel bequemer macht. Dank Wächtern und dem automatischen Browserreload werden Änderungen in Echtzeit angezeigt.

PHP

Es sollte reichen, composer install auszuführen. Dies wird die PHP Abhängigkeiten, die in der composer.lock Datei gespeichert sind, installieren. Man kann dies beliebig oft wiederholen, es werden nur neue Pakete installiert, wenn die composer.lock Datei verändert wird. Bitte composer update nicht ausführen, da dadurch alle Pakete auf neuere Versionen und die composer.lock Datei aktualisiert werden.

Beachte: Eventuell muss composer install mit der Option --ignore-platform-reqs ausgeführt werden um Plattformanforderungen, die in Composer näher spezifiziert sind, zu ignorieren, dass heißt falls du die PHP LDAP Erweiterung nicht installiert hast.

Node/npm Skripte

Node.js wird mit einem Paketmanager names NPM (in manchen Dingen das Gleich wie Composer) ausgeliefert. NPM hat einen run Befehl und wir haben ein paar Skripte vorbereitet, die dir das Leben erleichtern. Man muss die Befehle im Stammverzeichnis der Paketquellen ausführen.

npm run build:css

Kompiliert SASS Dateien nach CSS und erzeugt die komprimierten Dateien.

npm run build:js

Kompiliert und transkompiliert die JavaScript Dateien in das richtige Format und erzeugt verkleinerte Dateien.

npm run watch:css

Führt auch den Befehl build:css aus, bemerkt aber Veränderungen und erstellt automatisch aktualisierte Dateien.

npm run watch:js

Dies ist das Gleiche wie der build:jsBefehl, sucht aber Veränderungen und erstellt automatisch aktualisierte Dateien.

npm run lint:js

Führt eine Syntaxprüfung in den JavaScript-Dateien aus.

npm run test

Dies wird andere JavaScript Testsuiten ausführen.

Possible Issues

if you receive a login error such as shown below, then delete the \library\autoload_psr4.php file as shown in the second image. Login After Install Error autoload_psr4.php