E-Mail-Einstellungen werden immer noch angezeigt, wenn E-Mails deaktiviert sind

Es gibt ein paar seltsame Dinge aus UX-Sicht, die auftreten, wenn alle E-Mails deaktiviert sind.
Ich würde diese als Fehler einstufen.

  1. Alle, einschließlich Nicht-Mitarbeiter, erhalten eine Meldung darüber, dass das System keine E-Mails versendet. Es scheint keine Möglichkeit zu geben, diese Benachrichtigung zu unterdrücken. Ich kann mir keinen Grund vorstellen, warum Benutzer ständig darauf hingewiesen werden sollten. Vielleicht wäre es in Ordnung, dies nur an Mitarbeiter oder Administratoren anzuzeigen. Es könnte zu einem bestimmten Zeitpunkt eine bewusste Entscheidung gewesen sein. Ich habe einfach keine Diskussion dazu finden können.

aus https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/app/components/global-notice.js#L99

   if (
        this.siteSettings.disable_emails === "yes" ||
        this.siteSettings.disable_emails === "non-staff"
      ) {
        notices.push(
          Notice.create({
            text: I18n.t("emails_are_disabled"), // "Alle ausgehenden E-Mails wurden global von einem Administrator deaktiviert. Es werden keine E-Mail-Benachrichtigungen jeglicher Art versendet."
            id: "alert-emails-disabled",
          })
        );
      }

Ich denke, die Bedingung sollte geändert werden zu:

if (
        this.get("currentUser.staff") && // oder currentUser.admin
        (this.siteSettings.disable_emails === "yes" ||
        this.siteSettings.disable_emails === "non-staff") 
      ) {
          …

Oder zumindest eine Einstellung haben, um festzulegen, wer diese Benachrichtigung erhält (z. B. alle/Mitarbeiter/Admin/niemand).

Außerdem FIX: Show 'emails disabled' to staff users when disabled for non-staf… · discourse/discourse@acc121f · GitHub In dieser Korrektur scheint die Idee zu sein, dass „E-Mails deaktiviert

1 „Gefällt mir“

Ich habe vergessen zu erwähnen, dass ich die gesamte Vorlage
https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/app/templates/preferences/emails.hbs#L1
ebenso umschließe:

  {{#if (show-emails-preferences model siteSettings.disable_emails)}}
    {{#unless siteSettings.disable_mailing_list_mode}}
…

Discourse kann ohne E-Mail nicht funktionieren.

Du kannst kein Konto registrieren, dein Passwort zurücksetzen, keine Benachrichtigungen erhalten oder E-Mail-Logins nutzen. Es ist ein unverzichtbarer Bestandteil. Dieser Banner ist da, weil er allen mitteilt, dass die Seite nicht funktioniert.

Es ist kein Fehler, dass du diese Warnung nicht deaktivieren kannst. Es ist ein Feature.

Was ist, wenn Sie ausschließlich SSO zur Authentifizierung verwenden?
Eine der Funktionen von Discourse ist es, Anmeldungen per E-Mail zu unterbinden und SSO als einziges Authentifizierungssystem zuzulassen.
Sie können sowohl „Lokale Anmeldungen aktivieren

1 „Gefällt mir“

@pfaffman Nebenbei: Was hast du von dieser Methode gehalten?

Ist das das richtige Niveau/die richtige Art (im Sinne der Discourse-Philosophie), Dinge zu tun?

Ich hatte bisher nicht viel Zeit, den Code eingehend zu erkunden und eine strikte „Discourse-Art

Ja, da könnte etwas dran sein. Ich bin gerade auf eine Discourse-Instanz gestoßen, bei der SSO aktiviert ist, aber dennoch das Banner „E-Mail deaktiviert

2 „Gefällt mir“

@blake Ich persönlich denke, dass dies eine Benachrichtigung sein sollte, die nur für das Team sichtbar ist.
Ein normaler Benutzer kann nichts damit anfangen, außer vielleicht ein Thema zu eröffnen, warum er die Nachricht sieht und was sie bedeutet.
Sie wird einfach den falschen Leuten angezeigt, das ist alles :wink:

Übrigens: Ich habe sie auf meiner Seite per CSS ausgeblendet, aber ich kann mir vorstellen, dass die Nachricht sinnvoll sein könnte, sodass dies keine korrekte Lösung im Distro-Code wäre.