Kein HTML in globaler Benachrichtigung

Dieses Thema wurde vom Discourse-Team geklärt. Ich lasse das ursprüngliche Thema aus Archivierungszwecken bestehen, aber es wurde von @Roman und dem Team gelöst.


Ich habe Discourse kürzlich neu aufgebaut, um meine SMTP-Einstellungen zu aktualisieren, und die HTML-Tags meiner globalen Ankündigung werden nun als Code ausgegeben.

So sieht es mit den Tags aus:

Willkommen auf den NEUEN Real Racin' USA Motorsport-Foren!


Ihre Gebete und Wünsche sind erfüllt worden.

Wir haben ein schnelleres, neueres und benutzerfreundlicheres Forumserlebnis für Sie vorbereitet und dabei alles vom alten Forum in dieses neue übertragen. Alle Ihre Themen, Beiträge und Benutzerprofile sind unverändert geblieben, genau so, wie Sie sie verlassen haben!

Bitte lesen Sie unseren „Ich möchte mein Konto zurück!"-Beitrag für Anweisungen, wie Sie wieder Zugriff auf Ihr Konto erhalten.

Nun, da sich der Staub weitgehend gelegt hat, prüfen wir dieses Forum weiterhin, um sicherzustellen, dass es für alle ordnungsgemäß funktioniert.

Für alle Updates zum Forum und zur Unterstützung besuchen Sie die Facebook-Seite von Sunshine State Racing.

Aber nach dem Neuaufbau erhalte ich Folgendes:

In einem kürzlichen Commit wurden einige Änderungen an globalen Ankündigungen vorgenommen, die dies deaktivieren.

Gibt es jetzt eine Möglichkeit, Links in globale Mitteilungen aufzunehmen?

Meine Alternative bestand darin, einen Beitrag zu erstellen und als Banner-Thema zu pinnen.

Ja, wir erlauben es nicht mehr, dass die globale Benachrichtigungseinstellung HTML enthält, sondern nur Klartext. Wir haben uns dafür entschieden, sie wie jede andere Benutzereingabe zu behandeln und zu bereinigen.

Wie oben erwähnt, besteht der Workaround darin, stattdessen ein Banner-Thema zu verwenden.

Das ist schade, das war wirklich hilfreich.

Danke für die Klärung.

Hm, nur meine zwei Cent, aber die beiden haben sehr unterschiedliche Zwecke.

Das globale Banner dient einem bestimmten Zweck, also wenn ich das Forum über ein wichtiges Thema informieren möchte. Wenn ein Benutzer das Banner geschlossen hat, bleibt diese Einstellung bestehen, und er kann kein Update sehen, das andernfalls mit einer globalen Mitteilung sichtbar wäre.

Ja, wir haben uns dafür entschieden, die Einstellung beizubehalten, da wir wissen, wie nützlich ein nicht ablehnbarer Banner in einer dringenden Situation ist. Allerdings könnte die Zulassung von nicht bereinigtem HTML potenziell gefährlich sein.

Wenn jemand Berechtigungen hat, um eine globale Ankündigung festzulegen, darf diese Person dann auch eine Theme-Komponente erstellen? Gibt es also hier keinen zusätzlichen Angriffsvektor?

Um Missverständnisse zu vermeiden: Wir betrachten dies nicht als Sicherheitsproblem, da nur Administratoren diese Einstellung ändern können. Es ist Teil einer laufenden Initiative, um HTML in Site-Einstellungen zu unterbinden und stattdessen andere dafür vorgesehene Tools zu nutzen.

Lassen Sie mich eine Argumentation für die Zulassung von HTML darlegen. Ich arbeite mit einem Kunden zusammen, der ein Forum für Investoren startet. (Die geschlossene Beta hat übrigens gestern begonnen.) Das Legal-Team des Kunden besteht auf einem Haftungsausschluss. Dieser muss:

  • Auf jeder Seite des Forums deutlich sichtbar sein.
  • Nicht ausgeblendet werden können.

Mit anderen Worten: eine globale Benachrichtigung.[1]

Als Beispiel (nicht die Seite, an der ich arbeite, aber im selben Bereich) sehen Sie sich den Haftungsausschluss auf Freetrade an. Wichtig ist, dass das Legal-Team nicht interessiert daran ist, ob die Benachrichtigung HTML enthält. Es geht ihnen nur darum, dass sie vorhanden ist und Nutzer nicht behaupten können, sie nicht gesehen zu haben.

Leider sieht die Benachrichtigung etwas unansehnlich aus, da es sich um einen großen Textblock handelt. Zum Glück ist das Legal-Team damit einverstanden, eine kleinere Schriftart zu verwenden und einen Link zum vollständigen Haftungsausschluss einzufügen. Das Team hat letzte Woche einen Textentwurf beim Legal-Team eingereicht, der einen Link zum Haftungsausschluss enthielt. Diese Woche haben wir festgestellt, dass HTML in einer globalen Benachrichtigung nicht mehr erlaubt ist. Das ist ja toll.

Übrigens: Wenn wir dies für den vorgesehenen Zweck verwenden würden („DRINGEND, NOTFALL, nicht ausblendbare globale Banner-Benachrichtigung an alle Besucher"), wäre es dann nicht praktisch, einen Weg zu haben, um auf eine Statusseite oder einen anderen Ort zu verlinken, um weitere Informationen zu erhalten?

Es ist jedoch wirklich keine „andere Benutzereingabe", oder? Es ist eine Site-Einstellung, die nur eine Handvoll Personen ändern kann. Aus Sicht der Site-Betreiber ist dies keine Benutzereingabe, sondern Teil der Benutzeroberfläche, die den Nutzern bereitgestellt wird.[2]

Gibt es irgendwo eine Erklärung der Begründung? Falls ihr an einem anderen Tool arbeitet, das nicht ausblendbare globale Banner mit Links unterstützt,[3] wäre es hilfreich zu wissen, wann es bereit sein wird. Ich würde es vorziehen, eine Anpassung nicht einrichten zu müssen, wenn möglich.

Ich entschuldige mich, falls ich etwas gereizt wirke. Wir wussten nicht, dass diese Änderung kommt, und sie bringt uns in eine unangenehme Lage. Die Community sollte nächste Woche einem größeren Publikum zugänglich gemacht werden, und diese Änderung wirft einen Störfaktor ins Getriebe.



  1. Ich kann ein Argument sehen, dass dies eine Missbrauch der Funktion ist. Aber wenn wir diese Funktion selbst entwickeln würden, würde sie genau wie eine globale Benachrichtigung funktionieren. :man_shrugging: ↩︎

  2. Ich verstehe, dass aus der Sicht von Discourse Administratoren Nutzer sind. Es fühlt sich in diesem Fall nur irgendwie wie der falsche Denkansatz an. ↩︎

  3. Und auch das Styling, aber das ist sekundär. ↩︎

Mein ursprünglicher Ansatz diente dem weiteren Schutz der Datenbankeinträge, hauptsächlich aufgrund von Kodierungsproblemen in einem alten Forum, das ich genutzt habe.

Emojis wurden im Forum in das Format &# umgewandelt und verursachten beim Zitieren nach der Konvertierung Fehler wie „Ungültige Byte-Sequenz in UTF-8". Das Forum zeigt die Emojis stattdessen als �-Symbole an.

Ich befürchtete, dass bei einem zukünftigen Update ein ähnliches Problem mit HTML-Tags auftreten könnte, was zu Datenbankproblemen führen und alle Communities unbrauchbar machen würde.

Jemand, der den Code besser kennt, könnte wahrscheinlich versichern, dass dies aufgrund der zahlreichen Prüfungen, die jede Korrektur durchläuft, bevor sie in den Hauptbranch für den Download/das Update gelangt, wahrscheinlich nicht passieren wird. Das Discourse-Team bemüht sich darum, das System als in sich geschlossene, problemfreie 1-Klick-Lösung für alle zu erhalten, die eine Community online betreiben möchten, und hat dabei hervorragende Arbeit geleistet!

Trotzdem hat meine einfache Lösung vorerst ausgereicht, bis eine neue veröffentlicht wird. Außerdem ist es schön, weniger Unordnung auf dem Bildschirm zu haben, da man Banner-Themen schließen kann.

Entschuldigt bitte die Unannehmlichkeiten. Um ein nicht abwählbares Banner zu erstellen, schaut euch bitte diese Theme-Komponente an:

Sie ist weitaus leistungsfähiger und anpassbarer als die globale Mitteilung.

Wir haben die HTML-Unterstützung für die globale Ankündigungseinstellung erneut aktiviert. Wir möchten eine bessere Lösung finden, um einen reibungslosen Übergang zu gewährleisten.

Unter dem globalen Hinweisfeld können Sie Folgendes angeben:

„Die HTML-Unterstützung wird in einer zukünftigen Version entfernt."

Auch nachdem HTML deaktiviert wurde, stand in der Beschreibung weiterhin „HTML erlaubt".

@Roman_Rizzi Wann erscheint die Version mit dem globalen Hinweis?

Wir haben dies besprochen und uns dafür entschieden, die HTML-Unterstützung für die globale Ankündigungseinstellung beizubehalten, sodass sie in absehbarer Zeit nicht entfernt wird.

Was fehlt mir dann? Warum funktioniert es auf unserem Forum nicht?

Aktualisiere dein Discourse. Es wurde vor einigen Tagen wieder aktiviert, also führe ein Update durch, und das Problem sollte behoben sein.

Danke für die superschnelle Antwort! Habe gerade aktualisiert, aber es funktioniert immer noch nicht (HTML wird angezeigt).