4D Komponenten direkt von GitHub einbinden

Viele 4D Entwickler nutzen die Leistungsfähigkeit von Komponenten von Drittanbietern, die auf GitHub zu finden sind, insbesondere diejenigen, die unter 4d-Komponenten aufgeführt sind. 4D 20 R6 führt eine fantastische neue Funktion ein: die direkte Integration dieser Komponenten in den Component Manager.

Dieser Blogbeitrag geht auf die Details ein und macht Ihren Entwicklungsprozess einfacher und effizienter.

Viele 4D Komponenten sind auf GitHub verfügbar, sei es von Dritten entwickelt oder von Ihnen selbst erstellt.
Diese Plattform bietet eine einfache Möglichkeit, Komponenten zu verteilen: Releases.
Bevor Sie fortfahren, empfehlen wir Ihnen, den Beitrag über den Component Manager zu lesen, um sich mit den unten beschriebenen Konzepten vertraut zu machen.

Automatisches Herunterladen von Repository-Versionen

Der Komponentenmanager integriert nicht nur lokale Komponenten, sondern ruft auch automatisch Komponenten ab, die in Repository-Releases gespeichert sind.

Im Dialogfeld für die Projektabhängigkeiten sind GitHub-Komponenten durch ein kleines Symbol neben der Angabe des Komponentenstandorts leicht von lokalen Komponenten zu unterscheiden.

Und so funktioniert es:

  1. Komprimieren Sie Ihre Komponente in ein ZIP-Format.
  2. Benennen Sie das Archiv mit demselben Namen wie das Repository.
  3. Integrieren Sie es in eine Repository-Veröffentlichung.

 

Dieser Prozess kann beispielsweise mit 4D Code oder GitHub Actions automatisiert werden. Deklarieren Sie die Komponente anschließend in der Datei dependencies.json Ihres Projekts:

{
    "dependencies": {
        "myComponent": {
            "github": "anyAccount/myComponent"
        }
    }
}

Starten Sie das Projekt neu, und die Komponente wird automatisch geladen. So einfach ist das!

Tags und semantische Versionen

Wenn Sie eine Veröffentlichung im Repository erstellen, geben Sie ein Tag und eine Version an.

Tags sind Texte, die eindeutig auf ein Release verweisen. In den Dateien dependencies.json können Sie das Release-Tag angeben, das Sie in Ihrem Projekt verwenden möchten. Zum Beispiel :

{
    "dependencies": {
        "myComponent": {
            "github": "anyAccount/myComponent",
            "tag": "textTag"
        }
    }
}

Auf die gleiche Weise wird ein Release durch eine Version identifiziert. Das Versionierungssystem basiert auf dem Konzept der semantischen Versionierung, das am häufigsten verwendet wird. Jede Versionsnummer wird wie folgt bestimmt: majorNumber.minorNumber.patchNumber. Wie bei den Tags können Sie auch hier die Version der Komponente angeben, die Sie in Ihrem Projekt verwenden möchten, wie in diesem Beispiel:

{
    "dependencies": {
        "myComponent": {
            "github": "anyAccount/myComponent",
            "version": "2.1.3"
        }
    }
}

Die Version wird verwendet, um festzulegen, welche Versionen verwendet werden können. Hier sind ein paar Beispiele:

  • „latest“: die Version mit dem „latest“-Badge in den Repository-Releases.
  • „*“: die letzte freigegebene Version.
  • „1.*“: alle Versionen der Hauptversion 1.
  • „1.2.*“: alle Patches der Unterversion 1.2.
  • „^1.2.3“ oder „>=1.2.3“: die neueste Version 1, beginnend mit der Version 1.2.3.
  • „~1.2.3“ oder „>1.2.3“: die neueste Hauptversion 1, beginnend mit der Version unmittelbar nach 1.2.3.
  • „<=1.2.3“: die letzte Version bis zur Version 1.2.3.
  • „1.0.0 – 1.2.3“ oder „>=1.0.0 <=1.2.3“: Version zwischen 1.0.0 und 1.2.3.
  • „<1.2.3 || >=2“: Version, die nicht zwischen 1.2.3 und 2.0.0 liegt.

Wenn Sie weder ein Tag noch eine Version angeben, ruft 4D automatisch die „neueste“ Version ab.

Private Repositories

Wenn Sie eine Komponente integrieren möchten, die sich in einem privaten Repository befindet, müssen Sie 4D anweisen, ein Verbindungstoken für den Zugriff zu verwenden. Dazu erstellen Sie ein „klassisches“ Token mit Zugriffsrechten auf „repo“ in Ihrem GitHub-Konto. Fügen Sie dann den generierten Schlüssel in Ihre environment4d.json Datei ein.
Hier ist ein Beispiel für eine environment4d.json-Datei:

{
    "github": {
        "token": "ghp_a0B1cDEf2gHi3JKl4mNo5P6qRST7UvW8x9yZ"
    }
}

Diese neue Funktion vereinfacht die Arbeit mit 4D Komponenten. Wir sind zuversichtlich, dass Sie diese Integration zu schätzen wissen. Sie fördert einen effizienteren Entwicklungsprozess und bietet 4D Entwicklern eine enorme Möglichkeit der Zusammenarbeit. Fühlen Sie sich frei, Ihre 4D Komponenten in GitHub Repositories zu teilen und sie mit dem Thema 4d-component zu kennzeichnen. So werden Sie Teil der großen Gemeinschaft der 4D Komponentenentwickler und werden in der 4D Komponentenliste erwähnt.
Teilen Sie uns gerne Ihr Feedback mit!

Avatar
- Product Owner - Damien Fuzeau ist seit Februar 2019 Mitglied des 4D Produktteams. Als Product Owner ist er für das Schreiben von User Stories zuständig, die er dann in funktionale Spezifikationen umsetzt. Zu seinen Aufgaben gehört es auch, dafür zu sorgen, dass die gelieferten Funktionsimplementierungen den Anforderungen der Kunden entsprechen. Damien hat an der Universität von Nantes einen Abschluss in Softwaretechnik gemacht. Er verbrachte mehr als 23 Jahre in seinem früheren Unternehmen, zunächst als Entwickler (er entdeckte 4D im Jahr 1997) und später als technischer Leiter und Softwarearchitekt. Dieses Unternehmen ist ein 4D OEM Partner und hat 4D basierte Geschäftssoftware für Tausende von Usern auf Hunderten von Servern eingesetzt. Damien ist also mit der Entwicklung und dem Einsatz von 4D in einem mehrsprachigen Kontext vertraut.