Domanda di adesione a Discourse

:information_source: Riepilogo Discourse Member Application ti permette di gestire un processo di candidatura strutturato per i futuri membri prima che si uniscano alla tua comunità Discourse.
:hammer_and_wrench: Link al Repository R23DPrinting-group / discourse-member-application · GitLab
:open_book: Guida all’Installazione Come installare i plugin in Discourse

discourse-member-application — Un Sistema di Candidatura Pre-Invito per Comunità Private

discourse-member-application ti permette di gestire un processo di candidatura strutturato per i futuri membri prima che si uniscano alla tua comunità Discourse. I candidati compilano un modulo pubblico personalizzabile in /apply, gli amministratori revisionano le candidature e le approvano o respingono, e i candidati approvati ricevono automaticamente un link di invito privato.

:link: GitLab: R23DPrinting-group / discourse-member-application · GitLab


La Storia

Gestisco una comunità privata che utilizza la modalità solo su invito di Discourse. Gestivamo le candidature dei membri manualmente: un modulo Google, un foglio di calcolo, copia e incolla manuale dei link di invito. Funzionava, ma non era scalabile e si sentiva disconnesso dalla comunità stessa.

Ho cercato un plugin per Discourse che potesse gestire le candidature pre-invito. Non ne ho trovato uno adatto. Quindi ho costruito questo.


Demo


Caratteristiche

:clipboard: Modulo di Candidatura Personalizzabile
Il modulo è creato interamente tramite la scheda Campi nel pannello di amministrazione: non è necessario scrivere codice. Tipi di campi supportati: testo, area di testo, sì/no, radio, gruppo di caselle di controllo e casella di controllo. I campi supportano etichette, suggerimenti, obbligatorio/opzionale, abilita/disabilita e visibilità condizionale (mostra un campo solo quando un altro campo ha un valore specifico).

:magnifying_glass_tilted_left: Dashboard Amministratore
Revisiona e gestisci tutte le candidature da una pagina dedicata del plugin. Filtra per stato (In attesa / Approvato / Respinto / Risolto), cerca per email o nome utente e scorri elenchi lunghi. Visualizza i dettagli completi della candidatura, aggiungi note private per gli amministratori e approva o respingi singolarmente o in blocco.

:white_check_mark: Flusso di Approvazione
L’approvazione di una candidatura genera un invito Discourse monouso e lo invia via email al candidato. Il rifiuto invia un’email di rifiuto personalizzabile con feedback opzionale. Quando il candidato riscatta il suo invito e crea un account, lo stato della candidatura viene aggiornato automaticamente a “Risolto”. I membri approvati possono opzionalmente essere aggiunti automaticamente a un gruppo Discourse.

:bar_chart: Analisi
La scheda Analisi mostra statistiche di riepilogo (totale candidature, tasso di approvazione, tempo medio di revisione), un grafico di tendenza di 12 settimane sulle sottomissioni rispetto alle approvazioni e un imbuto di conversione da inviato → approvato → risolto.

:bell: Notifiche Amministratore
Quando viene inviata una nuova candidatura, viene inviata una messaggio privato agli username configurati (o a tutti gli amministratori se lasciato vuoto).

:artist_palette: UX Configurabile

  • Testo introduttivo in alto nel modulo (supporta markdown)
  • Pagina di successo in /apply/success dopo l’invio con un messaggio configurabile (supporta markdown)
  • Pulsante “Candidati per unirti” nella pagina di accesso e nella homepage che richiede l’accesso (attivabile/disattivabile)
  • Scadenza della candidatura: rifiuto automatico delle candidature in attesa dopo un numero configurabile di giorni

:e_mail: Modelli Email Modificabili
Sia l’email di conferma dell’invio che l’email di rifiuto sono modificabili tramite Amministrazione → Personalizza → Modelli Email: non sono necessarie modifiche al codice.

:locked: Sicurezza
Limitazione della frequenza (5 invii per IP all’ora), rilevamento dei duplicati (blocca la ripresentazione con email o nome utente in attesa/approvato e blocca email/nomi utente già registrati) e inviti monouso.


Configurazione

Installazione

Aggiungi al tuo /var/discourse/containers/app.yml:

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://gitlab.com/r23dprinting-group/discourse-member-application.git

Poi ricostruisci:

cd /var/discourse && ./launcher rebuild app

Configurazione del Tuo Modulo

Dopo l’installazione, vai su Amministrazione → Plugin → Member Application → Campi per costruire il tuo modulo di candidatura.

Il plugin viene fornito con questi campi predefiniti (tutti modificabili o eliminabili):

  1. Nome utente desiderato
  2. Raccontaci qualcosa su di te
  3. Come hai sentito parlare di noi?
  4. Fai attualmente parte di altre comunità online simili? (sì/no)
  5. Se sì, quali? (condizionale — mostrato solo se sopra è Sì)
  6. Dichiarazioni dei fornitori (gruppo di caselle di controllo)
  7. Conferma di onestà (casella di controllo — campo di sistema, non eliminabile)

Usa il pulsante Aggiungi campo per creare nuovi campi. Usa le frecce su/giù per riordinare. Per rendere un campo condizionale, modificalo e usa la sezione “Mostra solo quando” per selezionare un campo padre e un valore di attivazione.

Flusso di Lavoro

  1. Il futuro membro visita il tuo sito e clicca su Candidati per unirti (o naviga direttamente a /apply)
  2. Compila il modulo e invia: non è richiesto un account
  3. Gli amministratori ricevono una notifica tramite messaggio privato
  4. L’amministratore revisiona la candidatura in Amministrazione → Plugin → Member Application → Candidature
  5. L’amministratore approva → il candidato riceve un’email di invito con un link monouso
  6. Il candidato riscatta l’invito, crea il proprio account e lo stato della candidatura viene aggiornato a Risolto

Impostazioni

Nome Descrizione
member_application_enabled Abilita o disabilita il modulo di candidatura in /apply
member_application_notify_usernames Username separati da virgola da notificare via PM per nuovi invii. Lascia vuoto per notificare tutti gli amministratori.
member_application_invite_group Nome del gruppo da aggiungere all’invito quando si approva (lascia vuoto per saltare)
member_application_expiry_days Rifiuto automatico delle candidature in attesa dopo questo numero di giorni (0 = mai)
member_application_expiry_notify Invia email di rifiuto quando le candidature scadono automaticamente
member_application_show_apply_button Mostra un pulsante “Candidati per unirti” nella pagina di accesso e nella homepage che richiede l’accesso
member_application_apply_button_text Etichetta per il pulsante Candidati per unirti (predefinito: “Candidati per unirti”)
member_application_intro_text Testo introduttivo mostrato in alto nel modulo di candidatura. Supporta markdown. Lascia vuoto per nascondere.
member_application_success_message Messaggio mostrato nella pagina /apply/success dopo l’invio. Supporta markdown.

Note

  • Indipendente dalla comunità: tutto il testo predefinito dei campi è configurabile tramite la scheda Campi
  • Funziona con la modalità login_required / solo su invito di Discourse
  • Licenza MIT
  • Testato su Discourse 2026.3.0

Segnalazioni di problemi, PR e richieste di funzionalità benvenute su GitLab.

:link: R23DPrinting-group / discourse-member-application · GitLab

11 Mi Piace

Aggiornamento: Il repository è stato spostato su GitLab. Tutti i collegamenti nel post sopra sono stati aggiornati.

:link: https://gitlab.com/r23dprinting-group/discourse-member-application

1 Mi Piace