Creare e gestire sondaggi

:bookmark: This guide explains how to create polls in Discourse to gather votes from users on any topic.

:person_raising_hand: Required user level: All users

:information_source: By default, polls are enabled in Discourse and users of trust level 1 or above are allowed to create them. Site admins can adjust who can create polls via the poll create allowed groups site setting and disable polls using the poll enabled site setting.

Creating a poll from the toolbar

The easiest way to create a poll is to use the poll builder. The poll builder can be accessed from the :gear: menu in the composer, and allows you to make a poll without needing to know the exact syntax.

To show advanced options press the :gear: icon. This will show you different poll options such as if the poll auto closes, set groups allowed to vote, choose bar or pie, etc.

Poll options

Poll type:

  • Single Choice: Default poll type. Users can select a single choice from the poll
  • Multiple Choice: Users can select multiple choices from the poll.
    • The poll creator must also define the minimum and maximum number of choices a user can make. By default the minimum will be 1, and the maximum will be the number of poll choices.
  • Number Rating: Users can select a single number.
    • The poll creator must also define the min, max and step for the number rating. For example, if the min is 2, the max is 10, and the step is 2, the options will be 2, 4, 6, 8, and 10.

Results:

  • Always visible: Default poll results. Users can always see the results of the poll, regardless of if they’ve voted.
  • Only after voting: Users must vote before they can see the results of the poll.
  • When the poll is closed: Poll results will only be revealed once the poll is closed.
  • Staff only: Only site staff will be able to see the poll results.

Allowed groups:

Allows the poll creator to limit which groups can participate in the poll. Users not in the listed groups will be able to view the poll, but not vote. Default is all users can participate, no group limitation.

Chart type:

For Single or Multiple Choice polls, choose whether to display the result in a bar graph or pie chart.

Show who voted:

Enabled by default, this allows those who can view poll results to also view the specific choices of each poll user. (Bar Chart type only)

Automatically close poll:

Allows the poll creator to set a date/time for the poll to close automatically. Unlike manually closed polls, auto-closed polls cannot be re-opened.

Including images

Polls can even include images! After using the poll builder to insert the poll, images can be uploaded to the post and manually added to the poll. Uploaded images should be small, or adjusted to display at a lower percentage:

[poll type=regular]
* ![image|690x458,25%](upload://2u570X7kQiPJQaJD1Bd8MLDHDNB.jpeg)
* ![image|690x334,25%](upload://35fmeFw8RMywSxIc4lbCb8UHPaT.jpg)
* ![image|690x499,25%](upload://xSDkRwmuj1pNc2QXKzthfXRlwsX.jpg)
[/poll]
[poll type=regular]
* Cat: a small domesticated carnivorous mammal with soft fur, a short snout, and retractile claws.
![image|690x458,25%](upload://2u570X7kQiPJQaJD1Bd8MLDHDNB.jpeg)
* Dog: a domesticated carnivorous mammal that typically has a long snout, an acute sense of smell, and a barking, howling, or whining voice.
![image|690x334,25%](upload://35fmeFw8RMywSxIc4lbCb8UHPaT.jpg)
* Fish: a limbless cold-blooded vertebrate animal with gills and fins and living wholly in water.
![image|690x499,25%](upload://xSDkRwmuj1pNc2QXKzthfXRlwsX.jpg)
[/poll]
  • Cat: a small domesticated carnivorous mammal with soft fur, a short snout, and retractile claws.
  • Dog: a domesticated carnivorous mammal that typically has a long snout, an acute sense of smell, and a barking, howling, or whining voice.
  • Fish: a limbless cold-blooded vertebrate animal with gills and fins and living wholly in water.
0 voters

Including relative dates

Polls can also include relative dates! In a similar way to adding images, after using the poll builder to insert the poll you can insert dates into the poll options via the “Insert date / time” composer button:

[poll type=regular]
* [date=2019-10-13 timezone="Europe/Paris"]
* [date=2019-10-12 timezone="Europe/Paris"]
* [date=2019-10-11 timezone="Europe/Paris"]
[/poll]
  • 2019-10-12T22:00:00Z
  • 2019-10-11T22:00:00Z
  • 2019-10-10T22:00:00Z
0 voters

Multiple polls in a post

If multiple polls are used in a single post (like this one!) each poll will need a unique name or they will not work. When using the poll builder each extra poll will be numbered sequentially, but you can also do this manually by adding name="poll_name" as a parameter:

[poll name="poll_1"]
1. option one
2. option two
3. option three
[/poll]

[poll name="poll_3" type=multiple min=2 max=3]
- option one
- option two
- option three
- option four
[/poll]

[poll name="dave" type=number min=2 max=10 step=2]
[/poll]

Manually creating a poll

While the poll builder is the easiest option, it is also possible to manually create and edit polls within the composer itself.

To create a simple poll, surround a markdown list with [poll] and [/poll]:

[poll]
* option one
* option two
* option three
[/poll]

:information_source: Any markdown list will work, including using hyphens - or numbers instead of asterisks *.

This will create the following result:

  1. option one
  2. option two
  3. option three
0 voters

To manually create more complex polls, additional parameters can be added to the poll tag. For instance:

[poll type=multiple results=on_vote min=1 max=2 public=true chartType=pie groups=trust_level_1 close=3024-12-31T00:00:00.000Z]
# Do you like polls?
* Yes
* No
* Maybe
[/poll]
Do you like polls?
  • Yes
  • No
  • Maybe
0 voters

(Though not all options will make sense for all polls :slight_smile:)

Using the poll builder is a great way to find out the format of these additional parameters for later use.

FAQs

Can anyone vote in a poll?

Even with no group voting restrictions on the poll itself, users must be able to reply to the topic where the poll is created in order to participate. Users with see only permissions will not be able to vote.

Can polls be edited?

All votes are cleared when a poll is edited, to ensure the poll creator can’t change the choices a user voted for. As such, by default polls can only be edited for a grace period of 5 minutes after being created.

:exclamation: Votes cannot be recovered once a poll is edited and the votes are cleared

Can I export poll data for further analysis?

Staff can use the Discourse Data Explorer to export poll data as a csv, which can be imported into the data analysis program of their choice.

Last edited by @hugh 2024-07-29T10:05:00Z

Last checked by @hugh 2024-07-02T09:50:57Z

Check documentPerform check on document:
62 Mi Piace

Potrebbe sembrare una domanda da principiante, ma ho un quesito.

Supponiamo che, una volta creato un sondaggio, abbia impostato che i risultati siano visibili non appena vengono espressi i voti. Mi rendo poi conto del mio errore, ovvero che avrei dovuto impostare la visibilità dei risultati dopo la chiusura delle votazioni. Esiste quindi un modo per modificare il sondaggio attuale, in modo che la visibilità di tale sondaggio venga modificata da “Sempre visibile” a “Quando il sondaggio è chiuso” tra le opzioni, a cui si accede dall’icona a forma di ingranaggio disponibile nelle impostazioni di creazione del sondaggio?

Oppure, devo eliminare questo sondaggio e poi crearne uno nuovo e scegliere l’impostazione per la visibilità dei voti “quando il sondaggio è chiuso”?

Allego anche uno screenshot.

Chiedo gentilmente consiglio.

Se questo post non è pertinente a questo argomento, chiedo ai moderatori/amministratori di spostarlo nella sezione appropriata.

1 Mi Piace

Puoi cambiarlo senza eliminare il sondaggio. Quando modifichi il post, il tuo sondaggio inizia con qualcosa come [poll type=regular results=on_vote public=true chartType=bar]; puoi modificare il parametro “results” in results=on_close.
Tuttavia, se ricordo bene, quando modifichi il sondaggio, tutti i voti vengono eliminati, ma almeno non devi ricrearlo.

3 Mi Piace

Questo è effettivamente il caso.

Avrebbe più senso per me se ci fosse un’opzione per reimpostare il sondaggio, anziché essere “forzato” - specialmente per modifiche minori come questa.

Ho hackerato il database per questo tipo di modifiche in passato (per evitare che una modifica innescasse un reset), ma è un po’ fragile.

4 Mi Piace

Mi aiuta molto.

Cosa dedurreste entrambi se vi dicessi che quando l’amministratore che ha creato il sondaggio ha modificato l’argomento utilizzato per il sondaggio, le modifiche all’argomento diminuiscono invece di aumentare?

La mia deduzione è questa: il sondaggio è stato eliminato e poi è stato avviato un nuovo sondaggio. Questo spiegherebbe la diminuzione delle modifiche all’argomento, per un utente che sta esprimendo il proprio voto.

Esempio:
L’utente è arrivato per la prima volta al sondaggio, che aveva l’impostazione dei voti su “sempre visibile”. Le modifiche all’argomento di quel sondaggio erano 4.

Dopo che è stato fatto notare all’amministratore che l’impostazione dei voti era impostata su “sempre visibile”, l’utente vede il sondaggio con l’impostazione dei voti su “visibile dopo il voto”. Tuttavia, le modifiche all’argomento sono scese a 3. Quindi, le modifiche all’argomento, invece di aumentare, diminuiscono.

Il mio ragionamento è questo: l’amministratore ha eliminato il sondaggio precedente e poi ne ha avviato uno nuovo.

1 Mi Piace

Sarebbe possibile aggiornare questa documentazione per includere i sondaggi a scelta classificata? Nello specifico, come e quando vengono incrementati i round. Grazie in anticipo!

5 Mi Piace

Giusto @meave

Autore dei sondaggi Ranked Choice qui, è una palla persa.

Non ho i diritti di modifica per l’OP. Molto felice se qualcuno copia questo e lo formatta come meglio crede, o se viene convertito in una Wiki, sono felice di contribuire:

Attualmente funziona esattamente come descritto qui, è il classico voto a scelta multipla istantanea (Instant Run-off Voting):

(il mio fork del plugin del sondaggio contiene effettivamente quell’esempio come unit test!)

Il processo è il seguente:

Ogni elettore invia un elenco ordinato di candidati. In ogni round consideriamo solo il candidato al 1° posto (e ci concentriamo sui potenziali vincitori e sui peggiori perdenti).

  1. Conta i voti di prima preferenza per ogni candidato
  2. Trova il/i candidato/i con il maggior numero di voti
  3. Verifica una maggioranza chiara e singola e restituisci se trovata come vincitore (nessun altro round, fermati)

Se non:

  1. Trova il/i candidato/i con il minor numero di voti
  2. Rimuovi il/i candidato/i con il minor numero di voti da tutti i voti

Se i voti sono ora tutti vuoti

  1. Segnala il pareggio di quei candidati che sono stati appena rimossi (nessun altro round, fermati)

Altrimenti

  1. Sposta in alto tutti i voti in modo che dove il 1° posto era occupato da un perdente (per un elettore specifico), il candidato al 2° posto diventi la sua 1ª scelta.

E i round continuano finché non viene trovata una maggioranza o un pareggio.

6 Mi Piace

Grazie @merefield!
Era proprio quello di cui avevo bisogno!

3 Mi Piace

È possibile esportare i risultati di ogni singolo sondaggio da diversi canali a scopo di reporting?

1 Mi Piace

Puoi farlo con il data explorer. Ho chiesto all’AI
“È possibile esportare i risultati di ogni singolo sondaggio da diversi canali a scopo di reporting utilizzando il data explorer” e mi ha dato questa query:

SELECT  
    p.topic_id, 
    p.name AS poll_name,
    o.id AS option_id, 
    o.html AS option_text, 
    COUNT(v.id) AS vote_count
FROM polls p
JOIN poll_options o ON p.id = o.poll_id
LEFT JOIN poll_votes v ON o.id = v.poll_option_id
GROUP BY p.topic_id, p.name, o.id, o.html
ORDER BY p.topic_id, p.name, o.id;

sembra che potrebbe funzionare?

1 Mi Piace

Ciao @pfaffman,

Molte grazie per la tua rapida risposta e per l’aiuto!

Ci proverò, si spera, la prossima settimana, ma molto probabilmente potrò provarci solo dopo le vacanze.

Riporterò un feedback non appena potrò provarlo.

Inoltre, grazie mille, ancora una volta!

1 Mi Piace

Ciao, ho una domanda sui sondaggi.

È possibile utilizzare html o css per renderli più belli dell’aspetto standard?

Grazie in anticipo.

Hai provato nell’ispettore del tuo browser? (Fai clic destro e seleziona Ispeziona) Se riesci a farlo lì, allora sì.

Tuttavia, Polls utilizza Chart.js, quindi molte cose vettoriali.

Dipende davvero da cosa vuoi cambiare.

3 Mi Piace

È un sondaggio di classifica. E il pulsante per fare la scelta dovrebbe essere a sinistra del testo quando il testo è troppo lungo. Ora il testo è sotto il pulsante e vorrei che il testo fosse completamente a destra e il pulsante allineato al testo a sinistra.

Ciao a tutti,
Qualcuno sa se è possibile includere, in qualche modo, un input di testo nel sondaggio? Ad esempio, per far giustificare all’elettore il motivo per cui è stata scelta una determinata opzione?

1 Mi Piace

“commenta qui sotto”?

A parte commentare nell’argomento, no.

1 Mi Piace

Capisco. Grazie @merefield, stavo cercando di ottenere un feedback scritto che potesse essere esportato insieme ai risultati del sondaggio.

1 Mi Piace


Perché il sondaggio non viene visualizzato nel feed? Viene visualizzato solo quando viene cliccato.

2 Mi Piace

Ah, penso che questo sia un limite dei sondaggi/estratti degli argomenti. Non credo che sia attualmente possibile visualizzarli al di fuori dello spazio principale dell’argomento.

3 Mi Piace

Grazie per la risposta!

3 Mi Piace