Come impostare le stesse categorie della barra laterale per tutti gli utenti

:bookmark: Questa guida spiega come impostare le categorie predefinite della barra laterale e applicare le modifiche agli utenti esistenti.

:person_raising_hand: Livello utente richiesto: Amministratore

Puoi utilizzare default navigation menu categories per scegliere quali categorie appariranno nella barra laterale per impostazione predefinita. Puoi anche applicare le modifiche agli utenti esistenti o riapplicare le categorie che hanno rimosso dalla loro barra laterale.

Questa impostazione non impone una barra laterale identica per tutti. Applica aggiunte e rimozioni, piuttosto che sostituire l’elenco completo delle categorie di ogni utente. Le altre categorie aggiunte manualmente dagli utenti possono rimanere.

Imposta le categorie predefinite

  1. Vai su “Admin” → “All site settings”.
  2. Cerca default navigation menu categories.
  3. Apri il selettore e seleziona le categorie che vuoi visualizzare per impostazione predefinita. Per rimuovere una categoria, fai clic sulla “×” accanto al suo nome.
  4. Fai clic sul pulsante “✓” per salvare.

  1. Se ti viene chiesto di applicare la modifica retroattivamente, scegli una di queste opzioni:
    • “Sì” applica le aggiunte e le rimozioni agli utenti esistenti e aggiorna il predefinito per chi si unisce in seguito.
    • “No, applica la modifica solo in futuro” aggiorna il predefinito senza modificare le barre laterali degli utenti esistenti.

Il numero di utenti interessati dipende dal tuo sito. Il prompt potrebbe non apparire se nessun utente esistente è interessato dalla modifica.

Riapplicare le categorie già presenti nell’elenco predefinito

Se un utente rimuove una categoria predefinita dalla sua barra laterale, salvare lo stesso elenco predefinito non la aggiungerà nuovamente. Vengono applicate solo le aggiunte e le rimozioni.

Per riapplicare le categorie configurate:

  1. Annota le categorie che vuoi visualizzare.
  2. Rimuovi tutte le categorie da default navigation menu categories, quindi salva. Scegli “Sì” per applicare la rimozione agli utenti esistenti quando richiesto.
  3. Lascia trascorrere il tempo necessario per il completamento dell’aggiornamento in background. Potrebbe volerci qualche minuto, o di più su un sito grande.
  4. Aggiungi le categorie che vuoi visualizzare, quindi salva di nuovo. Scegli “Sì” per applicare le aggiunte agli utenti esistenti quando richiesto.
  5. Lascia completate il secondo aggiornamento in background, poi aggiorna la pagina e controlla la barra laterale.

Questo rimuove e riaggiunge i predefiniti configurati. Non rimuove una categoria aggiunta personalmente che non è mai stata inclusa nell’impostazione.

Comprendere cosa cambia per gli utenti esistenti

Quando scegli “Sì”, Discourse applica la differenza tra l’impostazione precedente e quella aggiornata:

Modifica all’impostazione Effetto sugli utenti esistenti
Aggiungere una categoria La aggiunge agli elenchi di categorie nella barra laterale degli utenti se non è già presente.
Rimuovere una categoria La rimuove dagli elenchi di categorie nella barra laterale degli utenti, inclusi gli utenti che hanno selezionato quella categoria loro stessi.
Lasciare invariata una categoria Non la riapplica agli utenti che l’hanno rimossa in precedenza.
Lasciare una categoria aggiunta personalmente fuori dall’impostazione Non la rimuove.

Ad esempio, supponiamo che “General” sia una categoria predefinita e che un utente aggiunga anche “Support” manualmente. Cancellare e riaggiungere “General” non rimuove “Support” a meno che “Support” non fosse stata rimossa anche dall’impostazione.

Verificare i limiti

  • Le autorizzazioni sulle categorie si applicano comunque. Selezionare una categoria privata non concede l’accesso né la rende visibile agli utenti che non possono accedervi.
  • Gli utenti possono comunque personalizzare le proprie barre laterali successivamente. Si tratta di un’aggiornamento di default e in blocco, non di un elenco di categorie imposto.
  • Non si tratta di un reset completo della barra laterale. I passaggi di cancellazione e riapplicazione non garantiscono elenchi di categorie identici per tutti gli utenti.

Risorse aggiuntive

5 Mi Piace

Qual è la differenza tra rimuovere il predefinito precedente e aggiungerlo in un’unica fase, oppure farlo in due fasi con una pausa in mezzo?

Ho pensato brevemente che questo processo avrebbe resettato tutte le personalizzazioni personali. Ma dai miei test, non è così. Se una categoria non era precedentemente nelle impostazioni predefinite della barra laterale e un utente l’ha aggiunta autonomamente, non verrà rimossa solo perché l’impostazione viene cancellata. Viene rimosso solo ciò che era precedentemente configurato nell’impostazione.

Quindi, per rendere la barra laterale identica per tutti, dovresti:

  • aggiungere tutte le categorie all’impostazione (e preferibilmente non sovrascriverla per tutti)
  • poi rimuovere tutte le categorie dall’impostazione e sovrascriverla per tutti
  • (attendere qualche minuto?)
  • aggiungere nuove categorie e sovrascriverle per tutti

I passaggi 2 e 4 devono essere separati qui perché il primo passaggio non è stato applicato a tutti. Potremmo applicare il primo passaggio a tutti, in modo che tutti abbiano tutte le categorie nella propria barra laterale, e dopo qualche minuto rimuovere tutte le categorie che non vogliamo nella loro barra laterale, ma questo potrebbe risultare in un’esperienza peggiore per qualche minuto.

I miei test, che mostrano che l’impostazione per cancellare le categorie aggiunte manualmente non viene rimossa, sono errati? C’è un’altra ragione per la separazione dei passaggi? Vorrei saperlo per decidere quali informazioni aggiungere a Configuring the default sidebar for your users.

3 Mi Piace

@Moin
Il modo in cui funziona il backfill qui è leggermente diverso da quanto ci si potrebbe aspettare. Non resettiamo semplicemente tutte le categorie della barra laterale degli utenti quando viene aggiornata l’impostazione default navigation menu categories. Ecco cosa facciamo:

  • Se l’amministratore aggiunge alcune categorie all’impostazione, solo quelle nuove vengono aggiunte alle barre laterali di tutti gli utenti che non le avevano già impostate.
  • Se rimuovi alcune categorie dall’impostazione, queste vengono rimosse dalle barre laterali di tutti gli utenti.

Quindi il backfill non forza lo stato dell’impostazione su tutti gli utenti, ma calcola la differenza (delta) tra i valori esistenti nell’impostazione e quelli aggiunti o rimossi di recente.

Il motivo principale per cui si fa così è preservare le preferenze individuali di ciascun utente.

Ecco la PR in cui è stato introdotto questo comportamento:

Abbiamo identificato due modi per ottenere le stesse categorie su tutti gli utenti:

  1. Aggiungi tutto, applica storicamente, rimuovi alcuni, applica storicamente.
  2. Rimuovi tutto, applica storicamente, aggiungi alcuni, applica storicamente.

In un recente tentativo di eseguire questa operazione su un sito di grandi dimensioni, il metodo 1 non ha funzionato correttamente, mentre il metodo 2 sì. Per questo motivo ho documentato il metodo 2.

Se hai tempo, prova entrambi i metodi con diversi utenti per verificare se funzionano. Se ti è utile, posso scrivere una query SQL per confermare se l’aggiornamento è andato a buon fine come previsto. Fammi sapere cosa ne pensi.

1 Mi Piace

Ho riprovato i passaggi descritti nel primo post. Ho ancora notato lo stesso problema: la categoria che l’utente ha aggiunto alla propria barra laterale non viene rimossa, quindi il risultato non è che tutti gli utenti abbiano le stesse categorie nella barra laterale.

Passaggi dettagliati per la riproduzione del problema
  1. Ho creato un nuovo forum
  2. Ho creato 5 categorie (category1, category2, category3, category4, category5)
  3. Ho aggiunto category4 alla mia barra laterale utilizzando l’opzione “modifica categorie barra laterale”

  4. La categoria è stata aggiunta alla mia barra laterale
  5. Ho controllato l’impostazione del sito default_navigation_menu_categories
  6. Come indicato nella tua guida, ho rimosso tutte le categorie


e ho applicato la modifica a tutti

7. Ora l’impostazione era vuota

8. Ho controllato la mia barra laterale e c’era solo category4, che era stata aggiunta manualmente (anche il link all’impostazione del sito in basso indica che l’impostazione è vuota)

9. Ho atteso circa 45 minuti e ho aggiunto category1, category2 e category3 all’impostazione

e ho applicato la modifica a tutti gli utenti

Risultato atteso in base al titolo di questa guida: tutti gli utenti hanno le stesse categorie nella barra laterale, ovvero quelle presenti nell’impostazione e nient’altro.
Risultato effettivo: category4 è ancora presente nella barra laterale, mentre non appare nella barra laterale degli utenti che non l’hanno aggiunta manualmente.

In quale passaggio ti aspetti che venga rimossa la categoria che l’utente ha aggiunto (nel mio esempio category4) alla propria barra laterale, per ottenere il risultato in cui tutti gli utenti hanno le stesse categorie nella barra laterale?

In base a quanto hai detto qui, non mi aspetto che venga rimossa, poiché la categoria non viene rimossa dall’impostazione perché non era presente. Ma dici di aver utilizzato questi passaggi per imporre le stesse categorie a tutti gli utenti.
Se avessi aggiunto tutte le categorie (metodo 1), category4 sarebbe stata aggiunta e poi rimossa, quindi mi aspetterei che scomparisse. È lì che capisco cosa succede. Ma la tua guida dice che dovrei usare il metodo 2, quindi mi chiedo cosa mi sfugga nella mia comprensione e nei miei test.

1 Mi Piace

@moin come ti sembra questa guida ora, risponde a tutto ciò che deve essere risposto? È troppo prolissa? Non abbastanza?

(Sto lavorando a un bot per allineare i nostri documenti al codice effettivo e aggiornare gli screenshot)