Menu laterali dei gruppi Discourse

:information_source: Riepilogo Crea menu nella barra laterale personalizzati per gruppi selezionati
:eyeglasses: Anteprima Unisciti a questo gruppo Theme Creator 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
:open_book: Nuovo ai temi di Discourse? Guida per principianti all’uso dei temi di Discourse

Installa questo componente del tema

:woman_technologist:t2: Panoramica

Questo componente del tema per Discourse offre agli amministratori del forum la possibilità di creare menu nella barra laterale personalizzati 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 sugli oggetti: interfaccia utente delle impostazioni facile da usare per creare menu
  • Sezioni multiple: crea sezioni di menu illimitate per diversi gruppi (entro limiti ragionevoli)
  • Collegamento rapido di modifica per gli amministratori: l’icona della matita nelle intestazioni dei menu collega gli amministratori direttamente 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, club di lettura, membri VIP)
  • Collegamenti a risorse di siti web partner o principali

:gear: Impostazioni

Sezioni del menu (menu_sections)

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

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 esempio, circle-info, star, user-group). Potrebbe essere necessario aggiungerla a Admin > Tutte le impostazioni del sito > sottoinsieme di icone svg
Testo Etichetta di visualizzazione 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 del menu personalizzata
  4. Assegna un titolo al nuovo menu nel campo Menu title e 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 nuova: 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 Cat Menu :grinning_cat:
  • @HelloKitty ama i cani ed è membro del gruppo purple, che avrà accesso al Dog Menu :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 Cat Menu perché i gatti necessitano di maggiore supervisione :dog_face: :cat_with_wry_smile:

Crea un nuovo menu personalizzato: per il nostro esempio, crea Cat menu 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 del menu personalizzata chiamata Dog menu, 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 dei gatti! :grinning_cat:

L’utente @HelloKitty ha il menu dei cani! :dog_face:

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

Esempio di configurazione

Menu Title: "Cose per gatti"
Allowed Groups: team-cat
Links:
  - Icon: link
    Text: Video e foto di gatti
    URL: /t/cat-videos-and-photos/123
  - Icon: magnifying-glass
    Text: Wiki sui gatti
    URL: https://en.wikipedia.org/wiki/Cat

:light_bulb: Note importanti

Accesso amministratore

Gli amministratori devono aggiungersi ai gruppi per vedere i menu configurati per quei gruppi. Lo status di amministratore da solo non concede 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: usa 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 gruppo diverse.
  • Gli utenti appartenenti a più gruppi vedranno tutte le sezioni del menu a cui hanno accesso.

Test e organizzazione

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

Considerazioni sulla sicurezza

Questo componente fornisce solo un 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 restrizioni di visibilità degli argomenti
  • Usa 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’iscrizione 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 di garantire 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 inestimabili.


Scopri il mio altro materiale su Discourse
12 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