Integrationen zurückgeben
Diese Seite ist für Integratoren und Integrationsunternehmen. Integrationsprojekte finden Fehler an den Rändern eines Systems, bauen Konnektoren, die auch andere Kunden brauchen, und lernen Muster, die es wert sind, aufgeschrieben zu werden. Das zurückzugeben macht das nächste Projekt für Sie und für alle günstiger, und so wächst Exponential. Die allgemeine Anleitung ist Erweiterungen zurückgeben.
Inhalt
- Was Sie zurückgeben können
- Allgemeinen Code von Kundencode trennen
- Punkte zur Lizenzierung
- Vom privaten zum öffentlichen Repository
- Was es Ihnen bringt
Was Sie zurückgeben können
| Beitrag | Beispiel | Wohin er geht |
|---|---|---|
| Eine beim Integrieren gefundene Korrektur am Kernel oder an einer Erweiterung | Das fromString() eines Datentyps speicherte einen ungültigen Wert; eine REST-Route antwortete mit dem falschen Status | Ein Pull Request an das Repository auf https://github.com/se7enxweb (Mit Pull Requests zurückgeben) |
| Ein Fehlerbericht mit Reproduktion | Eine Einstellung, die nicht tut, was ihr Kommentar sagt | Ein Issue im Repository (Gute Issues schreiben) |
| Ein allgemeiner Konnektor | Ein Mail-Transport für die API eines Anbieters, ein Login-Handler für einen Identitätsanbieter, ein Plugin für eine Suchmaschine | Eine eigene öffentliche Erweiterung |
| Ein Erweiterungspunkt | Ein Filter oder Ereignis, das der Kernel melden sollte, damit Integrationen keinen Override brauchen | Ein Pull Request mit dem Ereignis und seiner Dokumentation |
| Dokumentation | Ein Muster, eine Falle, ein Rezept | Ein Pull Request an die Dokumentation (Dokumentation und Übersetzungen beitragen) |
| Eine Änderung an einem Verhalten, das gewollt, für Ihre Integration aber unpraktisch ist | Ein Standardwert, der zu den meisten Websites passt, aber nicht zu Ihrer | Zuerst ein Issue; es kann eine negative Funktion sein, auf die andere angewiesen sind, also begründen Sie es klar, rechnen Sie mit mehreren Prüfrunden und schlagen Sie eine Option vor |
Allgemeinen Code von Kundencode trennen
Entwerfen Sie die Integration von Anfang an als zwei Erweiterungen (Eine Integration als Erweiterung bauen):
- Der Konnektor: der Client der API des anderen Systems, seine Fehlerbehandlung, der Mail-Transport oder Login-Handler. Über Einstellungen konfiguriert, ohne Kundennamen, Knoten-IDs, URLs oder Zugangsdaten im Code.
- Die Kundenerweiterung: die Zuordnung, die Klassen, der Zeitplan, die Einstellungen des Kunden.
Prüfen Sie den Konnektor vor dem Veröffentlichen:
- To do: Keine Kundennamen, Domains, Knoten-IDs, internen URLs oder Testdaten des Kunden.
- To do: Keine Zugangsdaten in Code, Einstellungsdateien, Tests oder der Git-Historie (durchsuchen Sie die Historie, nicht nur den letzten Commit).
- To do: Einstellungen dokumentiert, mit sicheren Standardwerten.
- To do: Tests, die ohne das andere System laufen.
- To do: Eine README mit Zweck, Anforderungen, Installation und einer Beispielkonfiguration.
Punkte zur Lizenzierung
Der Exponential-Kernel steht unter der GNU General Public License v2 (oder einer späteren Version). Eine Erweiterung, die innerhalb von Exponential läuft und an andere verbreitet wird, muss diese Lizenz beachten; die Wahl von GPL v2 oder später für eine öffentliche Erweiterung hält sie kompatibel. Eine Erweiterung nur selbst zu nutzen oder für einen Kunden, der sie als Teil eines Projekts erhält, bringt andere Pflichten mit sich als ihre Veröffentlichung. Lesen Sie Erweiterungen zurückgeben und Lizenzierung für Partner, und vereinbaren Sie im Vertrag, wem was gehört (Leistungsbeschreibungen). Das ist keine Rechtsberatung.
Vom privaten zum öffentlichen Repository
- Vereinbaren Sie mit dem Kunden schriftlich, dass der allgemeine Konnektor veröffentlicht werden darf.
- Verschieben Sie den Konnektor in ein eigenes Repository mit sauberer Historie (oder beginnen Sie ein neues aus dem bereinigten Code).
- Fügen Sie
LICENSE,README.md,CHANGELOG.md,composer.json,ezinfo.phpundextension.xmlmit derselben Version hinzu (Veröffentlichen). - Veröffentlichen Sie eine erste Version; Tags sind dauerhaft, prüfen Sie also vor dem Taggen (Tags sind dauerhaft).
- Registrieren Sie das Paket bei Packagist und kündigen Sie es an (Composer und Packagist).
- Lassen Sie die Kundenerweiterung den veröffentlichten Konnektor verlangen.
Was es Ihnen bringt
- Korrekturen im Hauptprojekt bedeuten keine privaten Patches, die Sie durch jedes Upgrade tragen müssen.
- Ein öffentlicher Konnektor wird von anderen geprüft und verbessert und zeigt Interessenten die Kompetenz Ihres Unternehmens.
- Für Exponential-Partner zählt Community-Arbeit zu den Punkten des Partnerprogramms (Punkte durch Community-Arbeit sammeln).
Verwandte Seiten
- Erweiterungen zurückgeben
- Erweiterungen als Partner zurückgeben
- Code zurückgeben
- Teil 5 des Erweiterungsbuchs: erweitern, forken, mitwirken
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
Werden Sie Exponential-Partner
Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.