Menu laterali del gruppo Discourse

:information_source: Riepilogo Crea menu della 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

Installa questo componente del tema

:woman_technologist:t2: Panoramica

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

Caratteristiche principali:

  • Visibilità del menu basata su gruppi: le sezioni del menu vengono renderizzate nella barra laterale solo per gli utenti autorizzati
  • Configurazione basata su oggetti: interfaccia di impostazioni facile da usare per la creazione di menu
  • Più sezioni: crea sezioni di menu illimitate per diversi gruppi (entro il ragionevole)
  • Link di modifica rapida per amministratori: l’icona della matita nelle intestazioni del menu collega gli amministratori direttamente alle impostazioni del componente

:briefcase: Alcuni casi d’uso

  • Risorse e link rapidi riservati al personale
  • Scorciatoie per i moderatori delle categorie
  • Portali personalizzati per gruppi (team di progetto, gruppi di studio, club del libro, membri VIP)
  • Link alle risorse del sito web principale o partner

:gear: Impostazioni

Sezioni del menu (menu_sections)

Apre l’editor delle impostazioni degli oggetti per configurare le sezioni del 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 (massimo: 20 gruppi per sezione)
Link del menu Collezione di link da visualizzare in questa sezione (massimo: 20 link per sezione)

Proprietà del link

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

:wrench: Installazione e configurazione

  1. Installa il componente del tema seguendo le istruzioni su Installing a theme or theme component.
  2. Vai all’Editor delle impostazioni degli oggetti
  3. Clicca sul pulsante + new_menu_section per configurare la prima sezione del menu personalizzato
  4. Assegna un titolo al nuovo menu nel campo Titolo del menu, quindi seleziona i gruppi a cui desideri concedere l’accesso.
  5. Clicca su + new_menu_section per aggiungere un’altra sezione, oppure salva le modifiche.
Screenshot della configurazione amministrativa con esempio di setup

Installazione nuova - vai all’Editor delle impostazioni degli oggetti.

Scenario di esempio con 2 menu personalizzati e 3 utenti, uno dei quali è un amministratore:

  • @Catra ama i gatti ed è membro del gruppo pink (rosa), che avrà accesso al Menu Gatti :grinning_cat:
  • @HelloKitty ama i cani ed è membro del gruppo purple (viola), 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 più 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 averne accesso - pink (rosa) e admins (amministratori). Quindi clicca sul pulsante + menu_link per configurare i link per il nuovo menu.

Aggiungi alcuni link del menu - 1. nome dell’icona Fontawesome, 2. testo da visualizzare per il link, e 3. l’URL, relativo o assoluto. Clicca sul pulsante + menu_link per aggiungere un altro link a questo menu.

Crea un’altra sezione di menu personalizzata chiamata Menu Cani, concedi l’accesso solo al gruppo purple (viola) e configura i link:

Screenshot dell'accesso risultante ai menu della 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 per gatti"
Gruppi consentiti: team-gatti
Link:
  - Icona: link
    Testo: Video e foto di gatti
    URL: /t/video-e-foto-di-gatti/123
  - Icona: magnifying-glass
    Testo: Wiki dei gatti
    URL: https://it.wikipedia.org/wiki/Gatto

:light_bulb: Note importanti

Accesso amministratore

Gli amministratori devono aggiungersi ai gruppi per visualizzare i menu configurati per quei gruppi. Lo stato 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 della matita nell’intestazione della sezione che collega alle impostazioni del componente.

Configurazione dei gruppi

  • Il gruppo everyone (tutti) non è supportato - Usa l’UI 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 del menu a cui hanno accesso.

Test e organizzazione

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

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 renderizzato nella barra laterale, non chi può accedere alle risorse effettive.

Affidati sempre al sistema di permessi integrato di Discourse per proteggere le risorse effettive:

  • Configura correttamente i permessi delle categorie
  • Imposta restrizioni di visibilità per gli argomenti
  • Usa controlli di accesso basati su gruppi per i contenuti
  • Assicurati che le risorse private richiedano autenticazione

Best practice per gli amministratori:
Configura separatamente i permessi di sicurezza delle categorie collegate e l’appartenenza ai gruppi - ad esempio: un link del menu a una categoria privata deve avere i permessi di quella categoria configurati correttamente. Gli amministratori sono responsabili di garantire che i link a risorse esterne siano autorizzati in modo appropriato per i gruppi selezionati.


Questo è stato un progetto collaborativo con @Moin - i suoi contributi, ispirazione e feedback sono stati inestimabili.


Scopri le altre mie creazioni per Discourse
14 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!

2 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?

3 Mi Piace

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

4 Mi Piace

Grazie mille! È stato molto facile da configurare.

4 Mi Piace

aggiorna questo componente se lo stai utilizzando - è stato effettuato un refactoring basato sulle modifiche al nucleo qui: Granular group-based permissions for anonymous and logged in users

1 Mi Piace