Möglichkeit zur Installation und Deinstallation von Plugins direkt aus der Admin-GUI

Es wäre wirklich toll, wenn das möglich wäre.

Bei großen Foren mit hohem Verkehrsaufkommen ist es nicht gut, wenn das Forum herunterfährt, weil ich bei jeder Installation oder Deinstallation eines Plugins

./launcher rebuild app

ausführen muss. Das führt dazu, dass das Forum für eine Weile nicht verfügbar ist und die Nutzer frustriert sind.

Es wäre wünschenswert, die Möglichkeit zu haben, Discourse direkt über die Admin-Oberfläche zu installieren, zu deinstallieren sowie neu aufzubauen und neu zu starten.

Ich glaube nicht, dass dies möglich ist, da Plugins in die Ressourcen der App integriert werden müssen, was zur Build-Zeit erfolgen muss. Besonders, weil einige Plugin-Elemente Auswirkungen auf das Backend haben.

Mehrere Minderungsmaßnahmen:

  1. Passen Sie so viel wie möglich mit Theme-Komponenten an. Diese können online ausgetauscht und aktualisiert werden.

  2. Legen Sie eine Reihe von Plugins fest und bleiben Sie bei dieser Liste. Warum müssen Sie die Einrichtung so häufig ändern?

  3. Wenn Sie nur ein Plugin aktualisieren müssen, verwenden Sie das Online-Upgrade-Tool.

  4. Planen Sie das Hinzufügen neuer Plugins für den Zeitpunkt ein, an dem Sie aufgrund anderer grundlegender Änderungen in der Kern-App ohnehin zu einem Neuaufbau gezwungen sind.

11 „Gefällt mir“

Die einzige echte Empfehlung, die wir hier geben können, lautet: Plant im Voraus. Es gibt einfach keinen Ersatz dafür.

Nutzt eine kleine Instanz, um alle gewünschten Plugin-Änderungen zu testen und zu genehmigen, und plant dann wöchentlich oder monatlich ein Zeitfenster ein, um alle diese Änderungen auf eure Live-Site zu übernehmen.

Auf diese Weise werden eure Nutzer von solchen Aktivitäten nicht erheblich beeinträchtigt, und ihr reduziert das Risiko zusätzlicher Ausfallzeiten durch Kompatibilitätsprobleme erheblich.

4 „Gefällt mir“

Bei einer Einrichtung mit mehreren Web-Containern kann Ausfallzeit während eines Neubuilds definitiv vermieden werden, indem man die Container nacheinander neu erstellt bzw. bereitstellt.

5 „Gefällt mir“

Entschuldigung, @Faizan_Zahid, aber du hättest bei diesem Titel wirklich besser abschneiden können. Vielleicht meintest du „Plugins

3 „Gefällt mir“

Ich plane, mir die Aufgabe zu nehmen, einfache Anleitungen für eine Vielzahl von fortgeschrittenen Anwendungsfällen, einschließlich der oben genannten, zu erstellen. Das steht auf der Backlog-Liste :slight_smile:

2 „Gefällt mir“

Wenn dein Discourse-Forum Docker verwendet, kannst du den Procourse-Installer nutzen.

Der führt ebenfalls einen Neuaufbau durch.

2 „Gefällt mir“

Obwohl es heute noch funktioniert, hat Procourse nach meinem Kenntnisstand den Kundensupport eingestellt. Ich würde es nur sehr zögerlich empfehlen, ohne einen klaren Wartungsplan.

4 „Gefällt mir“

Das war mir nicht bewusst. Solange sich an der Discourse-Struktur nichts Wesentliches ändert, sollte es weiterhin funktionieren. Betonung auf sollte. Ich frage mich, ob der Autor jemand anderen übernehmen lassen würde, falls er das Projekt verlassen hat.

Im Laufe der Zeit müssen alle Plugins aktualisiert werden. Selbst kleine Änderungen können gelegentlich Probleme für aktiv entwickelte Discourse-Plugins verursachen. Es ist einfach nicht möglich, dies vorherzusagen, und definitiv nichts, auf das sich jemand verlassen kann.

Ein Plugin, das selbst die Installation anderer Plugins verwaltet und nicht mehr gepflegt wird, ist ein sehr riskantes Unterfangen. Sich auf Optimismus zu verlassen, um es weiterhin zu nutzen, scheint eine sehr schlechte Idee zu sein.

Ich habe nur mit zwei Kunden zusammengearbeitet, die Interesse an der Nutzung geäußert hatten. Sobald klar wurde, dass Procourse nicht mehr existiert, waren beide bestrebt, wegzumigrieren.

1 „Gefällt mir“

Das bedeutet, dass die DeVs diese Art von Funktion, auch wenn sie als schaltbare Option in der Kommandozeile implementiert wird, in Discourse integrieren sollten, falls Sicherheitsbedenken bestehen.

AFAIK sind die Herausforderungen grundlegender als das. Der aktuelle Ansatz funktioniert bei Multisite überhaupt nicht.

Außerdem können Sie Plugins nicht direkt deinstallieren, falls Sie versehentlich etwas installieren, das sich als inkompatibel herausstellt. Dafür ist SSH-Zugriff erforderlich.

Ich habe das Problem mit Multi-Site-Lösungen gelesen. Man könnte einfach eine Prüfung einbauen und nur zulassen, wenn es sich nicht um eine Multi-Site-Installation handelt, die Docker verwendet.

Ja, es könnte etwas Anpassung erfordern. Dennoch sollten sie dies für Nicht-Multi-Site-Installationen in Betracht ziehen.

Selbst wenn es als offizielles Plugin für Single-Site-Container übernommen wird.

Wenn Sie weiter unten im Thema lesen, können Sie sehen, wie viel schwieriger die grundlegende Fehlerbehebung bei Plugin-Kompatibilitätsproblemen wird.

Das ist etwas, das unbedingt in die Roadmap aufgenommen werden sollte. Es ist nicht viel anders als die Installation über eine GUI unter Linux im Vergleich zur Kommandozeile; es gibt jedoch einige, die das gut umgesetzt haben.

Bei der Verwendung von nicht-offiziellen Installationen besteht stets das Risiko von Störungen. Daher wäre es beispielsweise ideal, wenn man Plugins wie Themes oder Theme-Komponenten ein- und ausschalten könnte.

Kürzlich hatten wir ein Problem, bei dem Kategorie-Icons anscheinend Dinge kaputtgemacht haben. Selbst bei einem Basis-Theme ohne weitere CSS-Anpassungen oder Komponenten. Es dauerte eine Weile, bis wir die Ursache gefunden hatten.

Das Seltsame ist, dass es auf unserer separaten Testinstallation funktioniert, auf der die neueste Discourse-Beta läuft.