Mir ist bekannt, dass es Discourse Patreon gibt. Obwohl meine Frage Patreon betrifft, ist das „Patreon-Plugin
In einem Plugin kannst du alles Mögliche tun.
Ich würde jedoch nicht empfehlen, Zugriffssteuerungslisten (ACLs) im Code zu verwalten. Sicher, du kannst das Verhalten und die Regeln ändern, aber die Zugriffskontrolle sollte für den Administrator so transparent und intuitiv wie möglich sein, oder? Außerdem wird es Zeiten geben, in denen du Änderungen dringend vornehmen musst. Du möchtest nicht auf eine Code-Veröffentlichung angewiesen sein, um das zu tun!
Versuche, das bestehende Modell vollständig zu verstehen und prüfe, ob du das Erreichte ohne Code-Änderungen erreichen kannst. Sicherheit ist ein sehr wichtiges, aber heikles Element. Solange du das bestehende Framework nutzt, steht dir das Discourse-Team zur Seite. Wenn du Dinge änderst, läufst du ein höheres Risiko und bist auf dich allein gestellt.
Denke auch daran, dass deine Plugin-Änderungen robust gegenüber der Weiterentwicklung des Kerns sein müssen. Überschreibungen müssen so geschrieben sein, dass sie mit hoher Wahrscheinlichkeit weiterhin funktionieren, wenn sich der ursprüngliche Code verändert. Dies ist ein heikles Gleichgewicht und stellt einen Wartungsaufwand dar. Die Tatsache, dass du deine Instanz nicht aktualisieren kannst, weil dein Plugin brechen würde, ist an sich bereits ein Sicherheitsrisiko.
Letzten Endes sind Plugins besonders für oberflächliche, harmlose Änderungen geeignet, aber ihre Anwendung auf die Sicherheitsebene sollte nur nach sorgfältiger Abwägung erfolgen. Es gibt jedoch Ausnahmen, wie z. B. OAuth-Plugins, die mit Plattformfunktionen arbeiten, die es dir ermöglichen, neue Anbieter sicher hinzuzufügen.
Alles in allem: Viel Erfolg!