Modulo di contatto

:information_source: 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.
:hammer_and_wrench: Link al repository https://github.com/jericson/discourse-contact-plugin
:open_book: 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_in e
  • enable_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.

  1. 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.)
  2. Aggiungi i membri che riceveranno le informazioni di contatto.
  3. Non selezionare nessuna delle opzioni di accesso. Questo dovrebbe essere un gruppo chiuso.
  4. Modifica la visibilitĂ  del gruppo in modo ragionevole per la tua organizzazione.
  5. 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:

  1. Dalla pagina /tags, seleziona la chiave inglese in alto a destra.
  2. Seleziona “Gestisci gruppi di tag” e poi seleziona " :heavy_plus_sign: Nuovo gruppo".
  3. Inserisci un nome appropriato (ad esempio, “Solo personale”), aggiungi il tag contact e seleziona “I tag sono visibili a tutti, ma solo i seguenti gruppi possono utilizzarli”.
  4. 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.

  1. Quella impostazione ha come valore predefinito “contact@example.com”, ma può essere configurata per accettare indirizzi email reali. ↩︎

  2. È persino possibile rispondere al modulo di contatto, per il meglio o per il peggio. ↩︎

13 Mi Piace

Questo non funziona. Puoi aggiornare @jericson

Funziona per me.

1 Mi Piace

Non è un tema, è un plugin. Vedi Install plugins on a self-hosted site.

5 Mi Piace

L’ho installato. Ho aggiunto la mia email a contact_form_email, abilitato email_in, aggiunto 'everyone' a email in allowed groups, enable_staged_users. Ho provato il modulo, ma non ricevo nessuna email.

2 Mi Piace

Ottimo affare! Potrebbe essere utile per i futuri lettori sapere cosa l’ha risolto per te.

Non installo il plugin come tema, immagino :wink:

1 Mi Piace

Puoi pubblicare degli screenshot del plugin in azione? Il “Modulo di contatto” può essere modificato/configurato?

1 Mi Piace

Certamente! Vedi il post modificato.

Purtroppo no. Ma le PR sono benvenute!

1 Mi Piace

Plugin piuttosto interessante. Presumo che l’indirizzo email contraffatto non venga mostrato all’utente finale.

Corretto. Ho un altro plugin (ancora piÚ grezzo di questo) per ottenere recensioni anonime. Uso review@example.com per instradare quei messaggi alla destinazione corretta. È solo una stringa.

1 Mi Piace

Ho recentemente aggiornato il plugin perchĂŠ non funzionava sulle versioni piĂš recenti di Discourse.

4 Mi Piace