Home Categoria Discourse 🏠

Riepilogo:

Dai a ciascun utente una Homepage specifica (“Categoria Home”) nella tua community.

Consente di avere un’unica istanza di Discourse in cui gli utenti hanno “pagine iniziali” specifiche (leggi: Categorie) determinate dal loro Gruppo Primario.

:link: GitHub: Repository https://github.com/merefield/discourse-category-home
:arrow_right: Installazione: Segui la guida all’installazione dei plugin.

Ti piace questo plugin? Per favore, :star: mettilo su GitHub ! :pray:

Funzionalità

Utilizzando solo gli elementi dell’interfaccia disponibili di una normale istanza di Discourse, questa è una soluzione robusta e facile da mantenere.

Configurazione

Utilizzando la normale funzionalità di Discourse:

Hai FINITO! :tada:

Ora, ogni volta che qualcuno naviga alla Homepage della tua community, verrà reindirizzato alla Categoria per la quale il suo Gruppo Primario è autorizzato.

NB: Questo segue una semplice regola a cui devi attenerti: Se qualcuno ha un Gruppo Primario registrato e questo è autorizzato a una singola Categoria, verrà reindirizzato a quella Categoria come sua home.

L’utilizzo di un Gruppo Primario in questo modo presenta una serie di vantaggi, come potresti aver notato dal link sopra, non da ultimo:

  • Puoi assegnare un Titolo a qualcuno
  • Puoi dargli un Flair
  • Puoi stilizzare i suoi Post

Altre considerazioni

Rendi le tue Pagine Home di Categoria più d’impatto stilizzandole in modo distintivo, ad esempio con: Category Banners

Verifica delle autorizzazioni distinte per Categoria/Gruppo Primario

Per verificare che il tuo Gruppo Primario sia associato a una sola Categoria, puoi utilizzare questa comoda funzionalità integrata di Discourse, ad esempio:

C’è solo una Categoria nell’elenco, ottimo! :+1:

La parte tecnica

La logica esatta impiegata è questa:

   return CategoryGroup.where(group_id: primary_group).first.category_id

Sebbene possa essere possibile “truccarla”, è probabilmente sconsigliabile se utilizzi quel Gruppo Primario su più di una Categoria se ti aspetti che funzioni, quindi tienilo a mente e attieniti alla mia raccomandazione.

Fornire maggiore flessibilità

Sono aperto a suggerimenti su come configurare ulteriormente questo comportamento, ma vorrei limitare la quantità di impostazioni personalizzate e utilizzare il più possibile il comportamento e i dati standard. Se hai in mente una soluzione semplice ed elegante, fammelo sapere.

Non riesci a installare plugin/La cosa del Gruppo Primario non funziona per te?

Se non puoi installare Plugin (perché sei su un piano di hosting restrittivo), o se la configurazione del Gruppo Primario non funziona per te, considera questa alternativa di Componente Tematico: Custom Homepage for Groups che richiede una configurazione più personalizzata, ma è meno invasiva.

24 Mi Piace

Ricevo un messaggio di errore quando tento di ricostruire dopo aver aggiunto questo al mio file app.yml

Pups::ExecError: cd /var/www/discourse/plugins & git clone GitHub - merefield/discourse-category-home: Alters the user's homepage to become the Category of their Primary Group fallito con ritorno #<Process::Status: pid 391 exit 128>
Posizione del fallimento: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn’

Sta ancora funzionando per altri?

Sembra che la compilazione stia andando bene. Controlla la sintassi del tuo clone app.yml.

Ho distribuito una correzione per una stringa di localizzazione mancante :slight_smile: (ma non è stata questa la causa del tuo problema).

1 Mi Piace

Sì, funziona benissimo ora, grazie per l’eccellente plugin. Discourse Doctor l’ha risolto, deve esserci stato un problema nella build l’ultima volta che ho ricostruito l’app.

1 Mi Piace