Entwicklungsumgebung IDE für Komponentenentwicklung mit package-builder

  • Hallo,


    ich habe einige Erfahrungen mit der Entwicklung von kleinen Plugins und Modulen.

    Diese habe ich meistens mit Sublime gecoded und manuell zu einem install-package zusammengefügt.


    Nun will ich mich an einer Komponente versuchen und eine IDE (vorzugsweise Visual Studio Code) aufsetzten.

    Ich habe bereits folgende Dokus erfolgreich durch:

    https://docs.joomla.org/Settin…on_for_Joomla_development

    https://docs.joomla.org/Visual_Studio_Code

    und die passenden Erweiterungen (Node.js, XDebug, PHP Intelephense, PHP Unit, usw....) installiert und getestet.


    Weiterhin bin ich auch mit der Doku von astrid vertraut:

    https://blog.astrid-guenther.d…zu-joomla4-erweiterungen/


    Nun gibt es ja einige Builder wie z.B. gulp oder grunt die komfortabel install-packages erstellen können.

    Für gulp z.B.: https://github.com/phproberto/joomla-gulp


    Ich habe viel im Internet gelesen, jedoch bin ich letztendlich noch nicht wirklich zufrieden da es unendlich viele Möglichkeiten gibt die IDE anzupassen.


    Was mir noch Kopfzerbrechen bereitet, ist der strukturelle Aufbau der IDE bzw. des Repos und der Workflow.

    1. Was ist der Vorteil das repo, php und mysql in Docker auszulagern? (Aktuell läuft meine Umgebung unter XAMPP)
    2. Mein Komponenten-Entwicklungs-Repo liegt z.B. in folgendem Pfad:
      D:/projects/joomla-component
      und meine Joomla Installation in diesem:
      C:/xampp/httdocs/joomla4

      Wie ich gelesen habe, kann ich ja u.a. mit gulp den Komponentenpfad auf Änderung überwachen, anschließend automatisch in das Joomlaverzeichnis kopieren und den Browser aktualisieren. Ist das ein guter Weg oder verstehe ich da etwas falsch?
    3. Welches building script nutzt ihr und könnt ihr empfehlen?
    4. Wie sieht euer Workflow für so etwas aus?
    5. Astrid schreibt auf ihren github boilerplate repo
      To create installable zip packages, you need to run composer i and and after that vendor/bin/robo build and in the dist folder it is ready to be installed.
      Bezieht sich das auf der Joomlaeigenen build.js?
      Kann ich diese anstatt gulp nutzen?

    Ich hoffe, dass ich mich verständlich ausgedrückt habe. :)

  • 1. Für mich ist der Hauptvorteil von Docker, dass man eine Joomla-Installation unkompliziert mit mehreren verschiedenen PHP Versionen und/oder Datenbanken testen kann. Die Docker-Konfiguration war für mich aufwendig. Der Aufwand zahlt sich in meinen Augen aber auch aus. Außerdem gibt es Code auf dem man aufbauen kann.


    Zum Beispiel:

    deGobbis hat degobbis/docker-lamp (github.com) eingerichtet und Allon Moritz arbeitet mit https://github.com/Digital-Peak/DPDocker.


    Bei docker-lamp finde ich die Docker Einrichtung übersichtlicher. Guido hat Wert darauf gelegt, dass sein Code einfach von anderen mit genutzt werden kann und hilft auch gerne. DPDocker bietet zusätzlich Skripte, die Joomla automatisch installieren, selbst erstellte Komponenten in die Joomla Installation verlinken und diese "discovern" und Softwaretests sind vorkonfiguriert.




    5. Das bezieht sich auf dieses Projekt: https://github.com/joomla-projects/jorobo

    Das wird/wurde in der Weblinks Komponente (https://github.com/joomla-extensions/weblinks) als Beispiel gezeigt und ist in meinem Boilerplate integriert.

  • Danke für deine Hinweise.

    Ich werde mich mal an der Einrichtung von Docker versuchen.


    Jorobo besitzt auch eine Methode "map". Sehe ich das richtig, dass ich damit meinen Punkt 2 umsetzen kann? Also das Kopieren eines Entwicklungsrepo in ein Joomlaverzeichnis?