Ab und zu stoßen wir auf eine Situation, in der ein Forum im schreibgeschützten Modus sein muss, um die Erstellung neuer Beiträge zu verhindern.
Es ist jedoch wirklich ärgerlich, dass der schreibgeschützte Modus auch Konfigurationsänderungen, SSO-Synchronisierung und Anmeldungen verhindert.
Es wäre großartig, wenn wir eine Art teilweisen schreibgeschützten Modus hätten, bei dem nur Beiträge und Beitragsaktionen schreibgeschützt wären.
Im Moment kann ich nur daran denken, die Beitragsberechtigungen aus allen Kategorie-Sicherheitsgruppen zu entfernen, aber das ist etwas zu hacky und erfordert, dass sie vorerst woanders gespeichert werden.
Hat jemand eine Idee, wie man das am besten erreichen könnte? Wahrscheinlich ist das Plugin-Territorium, aber trotzdem: Welcher Ansatz wäre der beste?
Eine Plugin- und Website-Einstellung sollte ausreichen.
Versuchen Sie vielleicht den validate_post-Hook, fügen Sie eine benutzerdefinierte Validierung hinzu, die „no good“ zurückgibt, wenn die Website-Einstellung sie auf schreibgeschützt setzt.
Ich habe NewPostManager.add_handler verwendet. Es scheint, dass das :validate_post-Ereignis nur benachrichtigt und keine Möglichkeit bietet, ein Ergebnis zurückzugeben und den Beitrag zu verweigern.
Ich würde die Einstellung hier gerne festlegen, idealerweise können wir alles in einer einzigen Website-Einstellung mit mehreren Optionen unterbringen.
Ich möchte zuerst eine gute Spezifikation erstellen. Einige Fragen:
Was ist mit Reaktionen und Plugins?
Was ist mit Benutzerprofilen?
Was ist mit der Anmeldung mit neuen Konten?
Ich mache mir auch Sorgen, dass hier zu viel Detailtreue zugelassen wird.
Vielleicht reicht ein einfacher Wartungsmodus ein/aus und die Erlaubnis für Administratoren, ihn immer zu umgehen?
Für unsere Community bietet dieses Plugin einen „Sabbat“-Modus. Dahinter steckt die Idee, Community-Mitglieder dazu anzuregen, das, was sie in unserem Online-Kontext erlebt haben, zu nutzen, um ihren Nachbarn in ihren lokalen Gemeinschaften liebevoll zu dienen.
Die Schlüsselkomponenten dessen, was Richard entwickelt hat, sind:
Die Möglichkeit, sowohl routinemäßige als auch gelegentliche Zeiten zu planen, zu denen das Posten deaktiviert und wieder aktiviert wird. Es gibt die Möglichkeit, das Posten für Wochenenden (laufend) und auch für wichtige Feiertage (gelegentlich) zu deaktivieren.
Die Kapazität, dies mit einem benutzerdefinierten globalen Banner zu synchronisieren, damit wir die Teilnehmer nicht verwirren („Warum funktioniert die Seite nicht?!“). Vielmehr können wir Besuchern und Mitgliedern klar erklären, warum das Posten vorübergehend deaktiviert ist.
Was andere Aktivitäten betrifft:
Das Deaktivieren von Reaktionen steht im Einklang mit der ursprünglichen Vision, aber ich nehme an, es könnte eine Checkbox sein, die Administratoren aktivieren können, um die Vielseitigkeit dieser Site-Einstellung zu erweitern.
Ich glaube nicht, dass dieses Plugin andere Plugins beeinträchtigt.
Neue Konten können erstellt werden – nur das Posten ist deaktiviert.
Es funktioniert wunderbar. Ich freue mich, dass diese Kapazität in die Roadmap integriert werden könnte.
@outofthebox Tatsächlich ist die Zeitplanung kein Teil dieses Plugins, das ist das Plugin scheduled-readonly, das eng mit dem prevent-posting-Plugin zusammenarbeitet.
Ich bin so froh, das zu wissen, da ich mit der Idee eines Sabbat- oder Urlaubsmodus experimentiert habe, da ich vielleicht eine Auszeit nehmen möchte, besonders wenn ich meine Discourse-Seite zusammen mit einem Kurs betreibe.
Ich denke, ich werde beide Plugins ausprobieren, danke!
EDIT: Ich habe dies gerade getestet und es auf einer meiner Seiten zum Laufen gebracht, aber als ich versuchte, das Plugin zu bearbeiten, um es zu deaktivieren, wurde angezeigt, dass es sich im schreibgeschützten Modus befand und ich die Einstellung nicht bearbeiten konnte. Ich habe versucht, auf “Schreibgeschützten Modus deaktivieren” unter Admin > Backups zu klicken, aber ich glaube, das Plugin hat die Einstellung überschrieben.
Wenn das Plugin aktiviert ist und sich in der schreibgeschützten Zeit befindet, gibt es eine Möglichkeit, es zu deaktivieren?
EDIT 2: Ich musste ohne das Plugin neu erstellen, da es stecken blieb und den schreibgeschützten Modus erzwang, auch nachdem die Zeit abgelaufen war. Ich weiß nicht, ob das manuelle Klicken auf die Schaltfläche “Schreibgeschützten Modus deaktivieren” dies verursacht hat. Außerdem wurde aus irgendeinem Grund der Urlaubszeitraum auf einer anderen Discourse-Instanz nicht einmal aktiviert, sodass ich ratlos bin
Wir haben kürzlich einen „Nur-Mitarbeiter-schreiben“-Modus hinzugefügt – es ist ein schreibgeschützter Modus, der nur Nicht-Mitarbeiter betrifft. Er ermöglicht es Mitarbeitern, sich anzumelden, zu posten, Einstellungen zu ändern usw., während andere Benutzer eine Website sehen, die sich effektiv im schreibgeschützten Modus befindet.
Verwendung
Um ihn zu aktivieren, führen Sie von der Konsole aus Folgendes aus:
Gibt es eine Möglichkeit, ADMIN_WRITES_ONLY_MODE_KEY zu implementieren, um auch Moderationsaktionen zu verhindern?
Ich habe ein Anwendungsfallszenario, in dem ich das Forum in den schreibgeschützten Modus versetze, ein Backup durchführe und das Forum dann online und zur Ansicht zugänglich halte, während der neue VPS von Grund auf neu aufgebaut wird, das Backup wiederhergestellt und dann nahtlos auf den neuen Server umgeschaltet wird, ohne Ausfallzeiten.
Jegliche Moderationsaktionen auf dem alten Server nach dem Backup/schreibgeschützten Modus würden nach dem Live-Switch verloren gehen, wenn Moderatoren vom teilweisen schreibgeschützten Modus ausgenommen sind.
Ich verwende derzeit einen vollständig schreibgeschützten Modus, aber das ist umständlich, da es auch Administratoränderungen über die Weboberfläche verhindert.
Nur zur Information für alle, die das geplante Read-Only-Plugin testen: Ich habe einen Testfall für etwa 2 Minuten eingerichtet und war verwirrt, warum er sich nicht ausschaltete – es stellte sich heraus, dass er nur alle 5 Minuten prüft.