Criando e gerenciando enquetes

: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 curtidas

Esta pode parecer uma pergunta de iniciante, mas tenho uma dúvida.

Suponha que, depois de criar uma enquete, na qual defini que os resultados fossem visíveis assim que os votos fossem lançados. Percebi meu erro de que eu deveria ter definido a visibilidade dos resultados após o encerramento da votação. Portanto, existe uma maneira de editar a enquete atual, para que a visibilidade dessa enquete seja alterada de “Sempre visível” para “Quando a enquete for fechada” a partir das opções, que são acessadas pelo ícone de engrenagem disponível nas configurações de criação da enquete?

Ou, devo excluir esta enquete e, em seguida, iniciar uma nova e escolher a configuração, para a visibilidade dos votos “quando a enquete for fechada”?

Estou anexando a captura de tela também.

Por favor, aconselhe.

Se esta postagem não for para este tópico, solicito aos moderadores/administradores que a movam para a seção apropriada.

1 curtida

Você pode alterar isso sem excluir a enquete. Ao editar a postagem, sua enquete começa com algo como [poll type=regular results=on_vote public=true chartType=bar]; você pode editar o parâmetro “results” para results=on_close.
Embora, se bem me lembro, ao editar a enquete, todos os votos são excluídos, mas pelo menos você não precisa recriá-la.

3 curtidas

Este é de fato o caso.

Faria mais sentido para mim se houvesse uma opção para redefinir a enquete, em vez de ser ‘forçada’ - especialmente para ajustes menores como este.

Eu já hackeei o banco de dados para esse tipo de alteração no passado (para evitar que uma edição acionasse uma redefinição), mas isso é um pouco frágil.

4 curtidas

Isso ajuda muito.

O que ambos vocês infeririam se eu dissesse que, quando o administrador que criou a enquete editou o tópico usado para a enquete, as edições do tópico diminuem em vez de aumentar?

Minha inferência é esta: a enquete foi excluída e, em seguida, uma nova enquete foi iniciada. Isso explicaria a diminuição das edições do tópico para um usuário que está votando.

Exemplo:
O usuário primeiro acessou a enquete, que tinha a configuração de votos definida como sempre visível. As edições do tópico para essa enquete foram 4.

Ao ser apontado ao administrador que a configuração de votos estava definida como sempre visível, o usuário então vê a enquete com a configuração de votos definida como visível após votar. No entanto, as edições do tópico foram para 3. Portanto, as edições do tópico, em vez de aumentar, diminuem.

Meu raciocínio é este: o administrador excluiu a enquete anterior e iniciou uma nova.

1 curtida

Seria possível atualizar esta documentação para incluir pesquisas de voto por classificação? Especificamente, como e quando as rodadas são incrementadas.
Obrigado, pessoal!

5 curtidas

Ponto válido @meave

Autor das pesquisas de Voto por Classificação aqui, isso foi um descuido.

Eu não tenho direitos de edição para o OP. Ficarei muito feliz se alguém copiar isso e formatar como achar melhor, ou se for convertido para um Wiki, ficarei feliz em contribuir:

Atualmente funciona exatamente como descrito aqui, é o clássico Voto por Eliminação Instantânea:

(Meu fork do plugin de pesquisa na verdade contém esse exemplo como um teste de unidade!)

O processo é o seguinte:

Todo eleitor envia uma lista ordenada de candidatos. Em cada rodada, consideramos apenas o candidato em 1º lugar (e focamos nos potenciais vencedores e nos piores perdedores).

  1. Conte os votos de 1º lugar para cada candidato
  2. Encontre o(s) candidato(s) com mais votos
  3. Verifique se há uma maioria clara e única e retorne se encontrado como vencedor (sem mais rodadas, pare)

Se não:

  1. Encontre o(s) candidato(s) com menos votos
  2. Remova o(s) candidato(s) com menos votos de todos os votos

Se os votos agora estiverem todos vazios

  1. Relate o empate dos candidatos que acabaram de ser removidos (sem mais rodadas, pare)

Caso contrário

  1. Desloque todos os votos para cima para que onde o 1º lugar foi ocupado por um perdedor (para um eleitor específico), o candidato em 2º lugar se torne sua 1ª escolha.

E as rodadas continuam até que uma maioria ou um empate seja encontrado.

6 curtidas

Obrigado @merefield!
Era exatamente o que eu precisava!

3 curtidas

É possível exportar os resultados de cada enquete de diferentes canais para fins de relatório?

1 curtida

Você pode fazer isso com o explorador de dados. Eu perguntei ao IA
“É possível exportar os resultados de cada enquete de diferentes canais para fins de relatório usando o explorador de dados” e ele me deu esta consulta:

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;

Parece que pode funcionar?

1 curtida

Olá @pfaffman,

Muito obrigado pela sua rápida resposta e ajuda!

Vou tentar em algum momento na próxima semana, mas o mais provável é que só consiga tentar depois das férias.

Trarei um feedback assim que conseguir testar.

Além disso, muito obrigado, mais uma vez!

1 curtida

Olá, tenho uma pergunta sobre as enquetes.

É possível usar HTML ou CSS para deixá-las mais bonitas do que o visual padrão?

Obrigado desde já.

Você já tentou no inspetor do seu navegador? (Clique com o botão direito e selecione Inspecionar) Se você conseguir fazer lá, então sim.

No entanto, o Polls usa Chart.js, então muitas coisas vetoriais.

Realmente depende do que você quer mudar.

3 curtidas

É uma enquete de classificação. E o botão para fazer a escolha deve ficar à esquerda do texto quando o texto for muito longo. Agora o texto está embaixo do botão e eu gostaria que o texto ficasse completamente à direita e o botão alinhado ao texto à esquerda.

Olá a todos,

Alguém sabe se é possível incluir, de alguma forma, uma entrada de texto na enquete? Por exemplo, para que o eleitor justifique o porquê de uma opção específica ter sido escolhida?

1 curtida

“comente abaixo”?

Exceto por comentar no Tópico, não.

1 curtida

Entendi. Obrigado @merefield , eu estava tentando obter um feedback escrito que pudesse ser exportado junto com os resultados da enquete.

1 curtida


Por que a enquete não aparece no feed? Ela só aparece quando clicada.

2 curtidas

Ah, acho que esta é uma limitação das enquetes/trechos de tópicos. Não creio que seja possível exibi-los fora do espaço principal do tópico.

3 curtidas

Obrigado pela resposta!

3 curtidas