| Riepilogo | Aggiunge un modulo di contatto nella parte superiore di qualsiasi argomento contrassegnato con contact. Le informazioni inviate tramite il modulo verranno trasmesse al gruppo o alla categoria configurati per riceverle. |
|
| Link al repository | https://github.com/jericson/discourse-contact-plugin | |
| Guida all’installazione | Come installare i plugin in Discourse |
Funzionalità
Quando è abilitato, il plugin Modulo di contatto inserisce un modulo nella parte superiore di qualsiasi argomento contrassegnato con contact. I dati inviati tramite il modulo vengono trasmessi a una categoria o a un gruppo configurato per ricevere posta da contact_form_email.[1] Come nei moduli di contatto tradizionali, non è necessario disporre di un account sul sito per inviare il modulo.
Ecco cosa potrebbe vedere un visitatore:
Nota che si tratta di un post regolare che può contenere qualsiasi istruzione tu voglia includere nel corpo.[2] Attualmente i nomi dei campi sono codificati e non viene effettuata alcuna convalida reale, ma consulta la sezione TODO qui sotto. Dopo l’invio del messaggio, questo apparirà nel feed dei messaggi del gruppo configurato:
A seconda di come sono configurate le notifiche email, i membri del gruppo configurato potrebbero anche ricevere un’email da Discourse:
Configurazione
Per utilizzare questo plugin, devi configurare la posta in arrivo per creare nuovi argomenti o messaggi di gruppo. Non è necessario configurare la risposta via email, poiché il plugin non invia effettivamente email. Intercetta l’API per simulare la posta in arrivo. (Detto questo, la risposta via email è una funzionalità utile!)
In particolare, questo plugin richiede che siano abilitati:
email_ineenable_staged_users
Una volta abilitati, qualsiasi argomento contrassegnato con contact avrà un modulo di contatto aggiunto al punto di uscita del plugin topic-above-posts.
Invio a un gruppo
Poiché le persone utilizzeranno questo modulo per inviare le proprie informazioni personali, l’opzione più sicura è inviare i risultati a un gruppo chiuso.
- Crea un nuovo gruppo per le persone che si occuperanno dei contatti. (Di solito lo chiamo “Contatti” per semplicità, ma può essere qualsiasi cosa, incluso un gruppo esistente.)
- Aggiungi i membri che riceveranno le informazioni di contatto.
- Non selezionare nessuna delle opzioni di accesso. Questo dovrebbe essere un gruppo chiuso.
- Modifica la visibilità del gruppo in modo ragionevole per la tua organizzazione.
- Imposta l’“Indirizzo email in arrivo personalizzato” uguale all’impostazione
contact_form_email. (Per impostazione predefinita, è “contact@example.com”).
…
Invio a una categoria
È anche possibile inviare a una categoria utilizzando l’impostazione della categoria “Indirizzo email in arrivo personalizzato”. Assicurati di abilitare anche “Accetta email da utenti anonimi senza account”.
Tuttavia, l’invio a una categoria non è raccomandato per le informazioni di contatto! Se per qualche motivo le autorizzazioni di accesso alla categoria vengono modificate, ciò potrebbe esporre informazioni personali a persone (o motori di ricerca) che non dovrebbero averne accesso. È molto meno probabile che ciò accada se i contatti vengono inviati a messaggi di gruppo.
Limitare chi può aggiungere moduli di contatto
Potrebbe essere piuttosto strano avere moduli di contatto che spuntano ovunque, quindi potresti voler limitare chi può utilizzare il tag contact. Per farlo, crea un nuovo gruppo di tag:
- Dalla pagina
/tags, seleziona la chiave inglese in alto a destra. - Seleziona “Gestisci gruppi di tag” e poi seleziona "
Nuovo gruppo". - Inserisci un nome appropriato (ad esempio, “Solo personale”), aggiungi il tag
contacte seleziona “I tag sono visibili a tutti, ma solo i seguenti gruppi possono utilizzarli”. - Scegli il gruppo a cui vuoi permettere di aggiungere un modulo di contatto (di solito “staff” o “amministratori”) e salva il gruppo di tag.
CHANGELOG
- 25 aprile 2024: Rilascio Alpha.
TODO
- Vorrei configurare dei test per assicurarmi che nulla si rompa quando apporto modifiche. In particolare, voglio verificare che le persone senza account possano inviare i loro dati.
- Durante i test ho scoperto una grave perdita di dati. Ho rimosso quella specifica vulnerabilità, ma avrei davvero bisogno di aiuto per i test.
- Il modulo non effettua alcuna convalida. L’unica vera richiesta è che il campo email sembri un indirizzo email. Se qualcuno lascia una risposta senza aggiungere un’email, il modulo fallisce silenziosamente.
- Non c’è protezione contro spam o abusi.
- Il codice è di qualità molto simile a “my-first-plugin”, basato su esempi che utilizzavano convenzioni obsolete. Sono benvenute qualsiasi suggerimento sullo stile.
- Mi piace avere il modulo di contatto associato a un argomento contrassegnato con “contatti”, ma è complicato e probabilmente inutile. Sto considerando di aggiungere una nuova rotta che sia solo il modulo di contatto per semplicità.
- I dati di contatto sono memorizzati nel database, ma potrebbe essere utile avere un pannello di amministrazione per visualizzare un elenco di contatti.
- Il modulo è fissato ai miei requisiti attuali, ma sarebbe utile avere una certa flessibilità riguardo ai campi che richiede.
Quella impostazione ha come valore predefinito “contact@example.com”, ma può essere configurata per accettare indirizzi email reali. ↩︎
È persino possibile rispondere al modulo di contatto, per il meglio o per il peggio. ↩︎





