Menu laterale dei gruppi Discourse

:information_source: Riepilogo Crea menu personalizzati nella barra laterale per gruppi selezionati
:eyeglasses: Anteprima Unisciti a questo gruppo di Creatori di temi e poi visualizza l’anteprima qui
:hammer_and_wrench: Repository https://github.com/Lillinator/discourse-group-sidebar-menus
:question: Guida all’installazione Come installare un tema o un componente del tema

Installa questo componente del tema

:woman_technologist:t2: Panoramica

Questo componente del tema Discourse offre agli amministratori del forum la possibilità di creare menu personalizzati nella barra laterale accessibili solo ai membri di gruppi selezionati.

Caratteristiche principali:

  • Visibilità del menu basata sui gruppi: le sezioni del menu vengono visualizzate nella barra laterale solo per gli utenti autorizzati
  • Configurazione basata su oggetti: interfaccia utente delle impostazioni facile da usare per creare menu
  • Sezioni multiple: crea sezioni di menu illimitate per diversi gruppi (entro limiti ragionevoli)
  • Link rapido di modifica per gli amministratori: l’icona della matita nelle intestazioni del menu collega direttamente gli amministratori alle impostazioni del componente

:briefcase: Alcuni casi d’uso

  • Risorse e collegamenti rapidi riservati allo staff
  • Scorciatoie per i moderatori delle categorie
  • Portali personalizzati per gruppi (squadre di progetto, gruppi di studio, circoli del libro, membri VIP)
  • Collegamenti a risorse di siti web genitori o partner

:gear: Impostazioni

Sezioni del menu (menu_sections)

Apre l’editor delle impostazioni degli oggetti per configurare le sezioni di menu personalizzate per gruppi.

Proprietà della sezione

Proprietà Descrizione
Titolo del menu Titolo visualizzato come intestazione della sezione nella barra laterale
Gruppi consentiti Gruppi autorizzati a visualizzare questa sezione del menu (max: 20 gruppi per sezione)
Collegamenti del menu Collezione di collegamenti da visualizzare in questa sezione (max: 20 collegamenti per sezione)

Proprietà del collegamento

Proprietà Descrizione
Icona Nome dell’icona FontAwesome (ad es. circle-info, star, user-group). Potrebbe essere necessario aggiungerla a Admin > Tutte le impostazioni del sito > subset di icone svg
Testo Etichetta visualizzata per il collegamento
URL Destinazione del collegamento: supporta sia percorsi relativi (/faq, /my/preferences) che URL assoluti (https://example.com)

:wrench: Installazione e configurazione

  1. Installa il componente del tema come descritto in Installing a theme or theme component.
  2. Vai all’Editor delle impostazioni degli oggetti.
  3. Clicca sul pulsante + new_menu_section per impostare la prima sezione di menu personalizzata.
  4. Dai un titolo al nuovo menu nel campo Titolo del menu, quindi seleziona i gruppi che desideri abbiano accesso ad esso.
  5. Clicca su + new_menu_section per aggiungere un’altra sezione o salva le modifiche.
Screenshot della configurazione amministrativa con esempio di impostazione

Installazione recente: vai all’Editor delle impostazioni degli oggetti.

Scenario di esempio con 2 menu personalizzati e 3 utenti, di cui uno amministratore:

  • @Catra ama i gatti ed è membro del gruppo pink, che avrà accesso al Menu Gatti :grinning_cat:
  • @HelloKitty ama i cani ed è membro del gruppo purple, che avrà accesso al Menu Cani :dog_face:
  • @Lilly è membro del gruppo purple perché possiede un cane e i cani sono migliori. Tuttavia, è anche un’amministratrice del forum e gli amministratori avranno accesso al Menu Gatti perché i gatti necessitano di maggiore supervisione :dog_face: :cat_with_wry_smile:

Crea un nuovo menu personalizzato: per il nostro esempio, crea Menu Gatti e aggiungi i gruppi autorizzati ad accedervi: pink e admins. Quindi clicca sul pulsante + menu_link per impostare i collegamenti per il nuovo menu.

Aggiungi i collegamenti del menu: 1. Nome dell’icona FontAwesome, 2. testo da visualizzare per il collegamento e 3. l’URL, relativo o assoluto. Clicca sul pulsante + menu_link per aggiungere un altro collegamento a questo menu.

Crea un’altra sezione di menu personalizzata chiamata Menu Cani, concedi accesso solo al gruppo purple e configura i collegamenti:

Screenshot dell'accesso risultante al menu nella barra laterale

L’utente @Catra ha il Menu Gatti! :grinning_cat:

L’utente @HelloKitty ha il Menu Cani! :dog_face:

L’utente amministratore @Lilly ha entrambi i menu e può modificarli! :smiling_cat_with_heart_eyes:

Esempio di configurazione

Titolo del menu: "Cose da gatti"
Gruppi consentiti: team-cat
Collegamenti:
  - Icona: link
    Testo: Video e foto di gatti
    URL: /t/cat-videos-and-photos/123
  - Icona: magnifying-glass
    Testo: Wiki sui gatti
    URL: https://en.wikipedia.org/wiki/Cat

:light_bulb: Note importanti

Accesso degli amministratori

Gli amministratori devono aggiungersi ai gruppi per visualizzare i menu configurati per tali gruppi. Lo status di amministratore da solo non concede l’accesso a tutti i menu personalizzati. Questo è intenzionale! Inoltre, gli amministratori che appartengono ai gruppi consentiti di un menu vedranno un’icona a forma di matita nell’intestazione della sezione che collega alle impostazioni del componente.

Configurazione dei gruppi

  • Il gruppo everyone non è supportato: utilizza l’interfaccia utente nativa del piè di pagina della barra laterale per creare menu personalizzati globali per tutti gli utenti, inclusi i visitatori anonimi.
  • Massimo 20 gruppi per sezione del menu. Se ne hai bisogno di più, crea sezioni duplicate con assegnazioni di gruppi diverse.
  • Gli utenti appartenenti a più gruppi vedranno tutte le sezioni di menu a cui hanno accesso.

Test e organizzazione

Utilizza account di prova per verificare l’accesso corretto per diverse combinazioni di gruppi. Tieni traccia delle configurazioni dei menu per evitare confusione man mano che la complessità aumenta; per forum più grandi con molti gruppi è consigliabile una matrice di accesso o una documentazione simile.

Considerazioni sulla sicurezza

Questo componente fornisce solo il controllo degli accessi a livello di interfaccia utente. Controlla la visibilità del menu, non l’accesso alle risorse: questo componente controlla solo ciò che viene visualizzato nella barra laterale, non chi può accedere alle risorse effettive.

Fai sempre affidamento sul sistema di autorizzazione integrato di Discourse per proteggere le risorse effettive:

  • Configura correttamente le autorizzazioni delle categorie
  • Imposta le restrizioni di visibilità degli argomenti
  • Utilizza controlli di accesso basati sui gruppi per i contenuti
  • Assicurati che le risorse private richiedano l’autenticazione

Migliore pratica per gli amministratori:
Configura separatamente le autorizzazioni di sicurezza delle categorie collegate e l’appartenenza ai gruppi: ad esempio, un collegamento del menu a una categoria privata deve avere le autorizzazioni di quella categoria configurate correttamente. Gli amministratori sono responsabili dell’assicurazione che i collegamenti a risorse esterne siano autorizzati in modo appropriato per i gruppi selezionati.


Questo è stato un progetto collaborativo con @Moin: il suo contributo, l’ispirazione e il feedback sono stati preziosi.


Scopri il mio altro materiale Discourse
13 Mi Piace

Sembra che stia ottenendo un 404 sul repository.

EDIT: Tutto a posto ora!

2 Mi Piace

haha riprova. ho dimenticato di renderlo pubblico! :laughing:

6 Mi Piace

Favoloso! Lo desideravo da tempo. Ho creato una bella collezione di utili menu laterali personalizzati per me: collegamenti per la moderazione, per le attività e i riferimenti degli amministratori, per la documentazione di Discourse, per i contenuti esterni a cui facciamo spesso riferimento nel forum, ecc. Un menu ha collegamenti per le varie riunioni periodiche che utilizza semplicemente il collegamento tag, ad esempio /tag/comm-mgt-monthly che mi aiuta a passare rapidamente agli ordini del giorno e ai verbali correnti e precedenti.

Molte volte ho desiderato un modo per esportare le configurazioni dei miei menu laterali personalizzati in modo che altri membri del mio team potessero importarle: questa è una configurazione di gran lunga superiore!

E le icone! Evviva! Per quanto ne so, l’unico modo per farlo era aggiungere CSS personalizzato. Questa nuova soluzione è elegante.

E sostenibile! Tutti gli amministratori potranno modificare i file di configurazione, quindi non dipenderanno solo da me. Grazie @Lilly e @Moin!

1 Mi Piace

Ciao @Lilly e @Moin,

Grazie per aver creato questo componente.

Stavo usando Group sidebar menu sections - deprecated sul mio sito self-hosted e al mio ultimo aggiornamento sono stato avvisato che il vecchio componente tema era stato deprecato e di installare questo, invece.

Ho installato il componente e creato il mio menu di gruppo personalizzato, ma non riesco a capire come spostare il menu di gruppo. (Devo star guardando proprio qualcosa di ovvio. :see_no_evil_monkey:) Nei vostri screenshot, il vostro Cat Menu e Dog Menu sono nella navigazione della barra laterale sopra la sezione Topics, ma il mio menu di gruppo personalizzato appare in fondo alla mia navigazione della barra laterale. Come posso spostarlo sopra Topics?

1 Mi Piace

Non è ovvio. Lilly ha usato Discourse Sidebar Menu Reorder per mettere cat-menu in cima

3 Mi Piace

Grazie mille! È stato molto facile da configurare.

3 Mi Piace