So legen Sie die gleichen Kategorien in der Seitenleiste für alle Benutzer fest

:bookmark: Dieser Leitfaden erklärt, wie man Standardkategorien in der Seitenleiste festlegt und Änderungen auf bestehende Benutzer anwendet.

:person_raising_hand: Erforderliche Benutzerstufe: Administrator

Mit default navigation menu categories können Sie auswählen, welche Kategorien standardmäßig in der Seitenleiste angezeigt werden. Sie können Änderungen auch auf bestehende Benutzer anwenden oder Kategorien wiederherstellen, die Benutzer aus ihrer Seitenleiste entfernt haben.

Diese Einstellung erzwingt keine identische Seitenleiste für alle. Sie wendet Hinzufügungen und Entfernungen an, anstatt die gesamte Kategorie-Liste jedes Benutzers zu ersetzen. Andere Kategorien, die Benutzer selbst hinzugefügt haben, können bestehen bleiben.

Standardkategorien festlegen

  1. Gehen Sie zu „Admin“ → „All site settings“.
  2. Suchen Sie nach default navigation menu categories.
  3. Öffnen Sie den Auswahldialog und wählen Sie die Kategorien aus, die standardmäßig angezeigt werden sollen. Um eine Kategorie zu entfernen, klicken Sie auf das „ד neben ihrem Namen.
  4. Klicken Sie auf die Schaltfläche „✓“ zum Speichern.

  1. Falls Sie gefragt werden, ob die Änderung rückwirkend angewendet werden soll, wählen Sie eine dieser Optionen:
    • „Ja“ wendet die Hinzufügungen und Entfernungen auf bestehende Benutzer an und aktualisiert die Voreinstellung für Personen, die später beitreten.
    • „Nein, nur zukünftig anwenden“ aktualisiert die Voreinstellung, ohne die Seitenleisten bestehender Benutzer zu ändern.

Die Anzahl der betroffenen Benutzer hängt von Ihrer Website ab. Die Aufforderung wird möglicherweise nicht angezeigt, wenn keine bestehenden Benutzer von der Änderung betroffen sind.

Bereits in der Standardliste enthaltene Kategorien wieder anwenden

Wenn ein Benutzer eine Standardkategorie aus seiner Seitenleiste entfernt hat, wird sie durch Speichern derselben Standardliste nicht wieder hinzugefügt. Es werden nur Hinzufügungen und Entfernungen angewendet.

Um die konfigurierten Kategorien wieder anzuwenden:

  1. Notieren Sie sich die Kategorien, die Sie anzeigen möchten.
  2. Entfernen Sie alle Kategorien aus default navigation menu categories und speichern Sie. Wählen Sie „Ja“, wenn Sie dazu aufgefordert werden, um die Entfernung auf bestehende Benutzer anzuwenden.
  3. Lassen Sie sich Zeit für die Hintergrundaktualisierung. Dies kann einige Minuten dauern, auf großen Websites auch länger.
  4. Fügen Sie die Kategorien hinzu, die Sie anzeigen möchten, und speichern Sie erneut. Wählen Sie „Ja“, wenn Sie dazu aufgefordert werden, um die Hinzufügungen auf bestehende Benutzer anzuwenden.
  5. Lassen Sie die zweite Hintergrundaktualisierung abgeschlossen werden, laden Sie die Seite neu und prüfen Sie die Seitenleiste.

Dadurch werden die konfigurierten Standards entfernt und erneut hinzugefügt. Es werden keine persönlich hinzugefügten Kategorien entfernt, die nie in der Einstellung enthalten waren.

Verstehen, was sich für bestehende Benutzer ändert

Wenn Sie „Ja“ wählen, wendet Discourse den Unterschied zwischen der vorherigen und der aktualisierten Einstellung an:

Änderung an der Einstellung Auswirkung auf bestehende Benutzer
Eine Kategorie hinzufügen Fügt sie der Seitenleisten-Kategorieliste der Benutzer hinzu, falls sie dort noch nicht vorhanden ist.
Eine Kategorie entfernen Entfernt sie aus den Seitenleisten-Kategorielisten der Benutzer, einschließlich der Benutzer, die diese Kategorie selbst ausgewählt haben.
Eine Kategorie unverändert lassen Wendet sie nicht erneut auf Benutzer an, die sie zuvor entfernt haben.
Eine persönlich hinzugefügte Kategorie außerhalb der Einstellung belassen Entfernt sie nicht.

Beispiel: Angenommen, „General“ ist eine Standardkategorie und ein Benutzer fügt zusätzlich selbst „Support“ hinzu. Das Löschen und erneute Hinzufügen von „General“ entfernt „Support“ nicht, es sei denn, „Support“ wurde auch aus der Einstellung entfernt.

Einschränkungen beachten

  • Kategorieberechtigungen gelten weiterhin. Die Auswahl einer privaten Kategorie gewährt keinen Zugriff und macht sie nicht für Benutzer sichtbar, die keinen Zugriff darauf haben.
  • Benutzer können ihre Seitenleisten anschließend weiterhin anpassen. Dies ist eine Voreinstellung und eine Massenaktualisierung, keine erzwungene Kategoriensliste.
  • Dies ist kein vollständiges Zurücksetzen der Seitenleiste. Die Schritte zum Löschen und erneuten Anwenden garantieren keine identischen Kategorienslisten für alle Benutzer.

Weitere Ressourcen

5 „Gefällt mir“

[quote=“fzngagan, Beitrag: 1, Thema: 402479”]

  • Entferne alle Kategorien aus den „Standard-Navigationsmenü-Kategorien
3 „Gefällt mir“

@Moin
Die Funktionsweise des Backfills ist hier etwas anders als erwartet. Wir setzen die Sidebar-Kategorien aller Benutzer nicht einfach zurück, wenn die Einstellung default navigation menu categories aktualisiert wird. So gehen wir vor:

  • Fügt der Administrator einige Kategorien zur Einstellung hinzu, werden nur diese neu hinzugefügten Kategorien in die Sidebars aller Benutzer übernommen, die diese noch nicht hatten.
  • Entfernt man einige Kategorien aus der Einstellung, werden diese aus den Sidebars aller Benutzer entfernt.

Der Backfill erzwingt also nicht den Status der Einstellung für alle Benutzer, sondern berechnet lediglich die Differenz (Delta) zwischen den bestehenden Werten in der Einstellung und den neu hinzugefügten oder entfernten Kategorien.

Der Hauptgrund für dieses Vorgehen ist die Wahrung der individuellen Benutzerpräferenzen.

Hier ist der PR, in dem dieses Verhalten eingeführt wurde:

Wir haben zwei Möglichkeiten erkannt, um dieselben Kategorien für alle Benutzer zu erreichen:

  1. Alle hinzufügen, historisch anwenden, einige entfernen, historisch anwenden.
  2. Alle entfernen, historisch anwenden, einige hinzufügen, historisch anwenden.

Bei einem kürzlichen Versuch, dies für eine große Seite umzusetzen, funktionierte Variante 1 nicht ordnungsgemäß, während Variante 2 erfolgreich war. Daher habe ich Variante 2 dokumentiert.

Falls du Zeit hast, probiere beide Methoden mit einer Reihe von Benutzern aus, um zu prüfen, ob sie funktionieren. Falls hilfreich, kann ich eine SQL-Abfrage schreiben, um zu bestätigen, ob die Aktualisierung wie erwartet funktioniert hat. Lass mich bitte wissen, was du davon hältst.

1 „Gefällt mir“

Ich habe die Schritte, die du im ersten Beitrag beschrieben hast, erneut ausprobiert. Und ich stelle immer noch dasselbe Problem fest: Die Kategorie, die der Benutzer zu seiner Seitenleiste hinzugefügt hat, wird nicht entfernt, sodass das Ergebnis nicht ist, dass alle Benutzer dieselben Kategorien in ihrer Seitenleiste haben.

Detaillierte Schritte zur Reproduktion
  1. Ich habe ein brandneues Forum erstellt.
  2. Ich habe 5 Kategorien erstellt (category1, category2, category3, category4, category5).
  3. Ich habe category4 über die Option “Seitenleiten-Kategorien bearbeiten” zu meiner Seitenleiste hinzugefügt.

  4. Die Kategorie wurde zu meiner Seitenleiste hinzugefügt.
  5. Ich habe die Site-Einstellung default_navigation_menu_categories überprüft.
  6. Wie du im Leitfaden sagst, habe ich alle Kategorien entfernt.


und habe die Änderung auf alle Benutzer angewendet.

7. Jetzt war die Einstellung leer.

8. Ich habe meine Seitenleiste überprüft und nur category4, das manuell hinzugefügt wurde, war darin (auch der Link zur Site-Einstellung unten zeigt an, dass die Site-Einstellung leer ist).

9. Ich habe etwa 45 Minuten gewartet und category1, category2 und category3 zur Einstellung hinzugefügt.

und habe die Änderung auf alle Benutzer angewendet.

Erwartetes Ergebnis basierend auf dem Titel dieses Leitfadens: Alle Benutzer haben dieselben Kategorien in ihrer Seitenleiste, das heißt diejenigen in der Einstellung und nichts anderes.
Tatsächliches Ergebnis: category4 ist immer noch in der Seitenleiste, während es nicht in der Seitenleiste für Benutzer ist, die es nicht manuell hinzugefügt haben.

In welchem Schritt erwartest du, dass die Kategorie, die der Benutzer (in meinem Beispiel category4) zu seiner Seitenleiste hinzugefügt hat, entfernt wird, um das Ergebnis zu erzielen, dass alle Benutzer dieselben Kategorien in ihrer Seitenleiste haben?

Basierend auf dem, was du hier gesagt hast, erwarte ich nicht, dass sie entfernt wird, da die Kategorie nicht aus der Einstellung entfernt wird, weil sie nicht darin war. Aber du sagst, dass du diese Schritte verwendet hast, um dieselben Kategorien für alle Benutzer durchzusetzen.
Wenn ich alle Kategorien hinzugefügt hätte (Methode 1), wäre category4 hinzugefügt und wieder entfernt worden, also würde ich erwarten, dass es verschwindet. Das ist der Punkt, an dem ich verstehe, was passiert. Aber dein Leitfaden sagt, ich sollte Methode 2 verwenden, also frage ich mich, was mir in meinem Verständnis und meinen Tests fehlt.

1 „Gefällt mir“

@moin Wie siehst du diesen Leitfaden jetzt? Beantwortet er alles, was geklärt werden muss? Ist er zu lang? Zu kurz?

(Ich arbeite an einem Bot, der unsere Docs mit dem tatsächlichen Code abgleicht und die Screenshots aktualisiert)