Im aktuellen Entwurf der neuen Plattform werden Plugins durch einen String gekennzeichnet (zB um Abhängigkeiten zu definieren).
Ich würde gerne diskutieren, wie man diese IDs irgendwie eindeutiger macht, zB indem man einen Java-artigen Namen wie org.elastic.timelion
oder de.timroes.demo-plugin
verwendet. Auf diese Weise konnte es nicht mehr zu Namenskollisionen kommen, weil Leute zu einfache Namen verwenden und Sie mehrere Plugins mit Namen haben, zB 3dcharts
.
Ein anderes Benennungsschema könnte die Verwendung von npm-ähnlichem Scoping sein, z. B. @elastic/timelion
oder @timroes/demo-plugin
. Ich denke, beide Vorschläge haben ihre Vor- und Nachteile.
Die Verwendung von Scoping ist eher JavaScript-artig und könnte von Vorteil sein, wenn npm jemals für die Plugin-Verwaltung verwendet werden sollte. Ich sehe den Vorteil in Java-artigen Namen, dass ich annehme, dass viele Leute keinen npm-Benutzer haben und tatsächlich @scope
verwenden würden, die nicht wirklich zu ihnen gehören, während ich selten jemanden getroffen habe, das wäre nicht in der Lage, einen Revere-Domainnamen für eine Privat- oder Firmendomain zu erstellen.
Unabhängig davon, welches Format diese eindeutige ID hat, kann es sinnvoll sein, dieses Format direkt in der neuen Plattform zu erzwingen und alle neuen Plugins zu verbieten, die diesem Namensschema nicht entsprechen.
<discuss>
Vielleicht könnte eine Ausnahme für eingebaute Core-Plugins sinnvoll sein, dass diese kein Präfix benötigen, aber ich sehe auch einige Nachteile, Ausnahmen wieder von Anfang an einzuführen.
Ich sehe den Vorteil darin, aber das ist auch ein Problem, das wir jederzeit in der Zukunft lösen können. Wir haben keine Epidemie von doppelten Plugin-IDs, und wenn es doppelte Plugin-IDs in freier Wildbahn gibt, ist es außergewöhnlich selten, dass Sie beide Plugins gleichzeitig installieren möchten. Ich mag diese Art des Vorausdenkens über das Potenzial für eine weit verbreitete Plugin-Entwicklung, die die neue Plattform fördert, aber lassen Sie uns dies zu einem späteren Zeitpunkt behandeln, wenn es tatsächlich zu einem Problem wird.
@elastic/kibana-platform was denkst du?
Ich werde dies vorerst als nicht behobene Lösung schließen. Wie ich in meinem vorherigen Kommentar erwähnt habe, denke ich, dass die Ideen hier gut sind, aber dass wir dieses Problem noch nicht wirklich treffen. Wir können diesen Thread wiederbeleben oder einen neuen eröffnen, wenn/wenn es in der Praxis zu einem häufigen Problem wird.
Hilfreichster Kommentar
Ich sehe den Vorteil darin, aber das ist auch ein Problem, das wir jederzeit in der Zukunft lösen können. Wir haben keine Epidemie von doppelten Plugin-IDs, und wenn es doppelte Plugin-IDs in freier Wildbahn gibt, ist es außergewöhnlich selten, dass Sie beide Plugins gleichzeitig installieren möchten. Ich mag diese Art des Vorausdenkens über das Potenzial für eine weit verbreitete Plugin-Entwicklung, die die neue Plattform fördert, aber lassen Sie uns dies zu einem späteren Zeitpunkt behandeln, wenn es tatsächlich zu einem Problem wird.
@elastic/kibana-platform was denkst du?