Creando y gestionando encuestas

: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 Me gusta

Esta podría parecer una pregunta de novato, pero tengo una consulta.

Supongamos que, una vez que creé una encuesta, en la que configuré que los resultados fueran visibles tan pronto como se emitieran los votos. Luego me doy cuenta de mi error de que tuve que configurar la visibilidad de los resultados, después de que se cerrara la votación. Entonces, ¿hay alguna forma de editar la encuesta actual, para que la visibilidad de esa encuesta se cambie de “Siempre visible” a “Cuando la encuesta esté cerrada” de las opciones, a las que se accede desde el icono de engranaje disponible en la configuración de creación de la encuesta?

¿O tengo que eliminar esta encuesta y luego comenzar una nueva y elegir la configuración, para la visibilidad de los votos “cuando la encuesta esté cerrada”?

También adjunto la captura de pantalla.

Por favor, aconséjame.

Si esta publicación no es para este tema, solicito a los moderadores/administradores que la muevan a la sección apropiada.

1 me gusta

Puedes cambiar eso sin eliminar la encuesta. Cuando editas la publicación, tu encuesta comienza con algo como [poll type=regular results=on_vote public=true chartType=bar]; puedes editar el parámetro “results” a results=on_close.
Aunque si mal no recuerdo, cuando editas la encuesta, todos los votos se eliminan, pero al menos no tienes que recrearla.

3 Me gusta

Este es efectivamente el caso.

Me parecería más lógico si hubiera una opción para restablecer la encuesta, en lugar de que sea ‘forzado’, especialmente para ajustes menores como este.

He modificado la base de datos para este tipo de cambios en el pasado (para evitar que una edición active un reinicio), pero eso es un poco frágil.

4 Me gusta

Eso ayuda mucho.

¿Qué inferirían ambos si les dijera que cuando el administrador que creó la encuesta editó el tema que se usa para la encuesta, las ediciones del tema bajan en lugar de subir?

Mi inferencia es esta: que la encuesta fue eliminada y luego se inició una nueva encuesta. Eso explicaría que las ediciones del tema bajen, para un usuario que está emitiendo su voto.

Ejemplo:
El usuario primero llegó a la encuesta, que tenía la configuración de votos establecida en “siempre visible”. Las ediciones del tema de esa encuesta fueron 4.

Al señalarle al administrador que la configuración de votos estaba establecida en “siempre visible”, el usuario luego ve la encuesta con la configuración de votos establecida en “visible después de votar”. Sin embargo, las ediciones del tema bajaron a 3. Por lo tanto, las ediciones del tema, en lugar de subir, bajan.

Mi pensamiento es este: que el administrador eliminó la encuesta anterior y luego comenzó una nueva.

1 me gusta

¿Sería posible actualizar esta documentación para incluir encuestas de voto por orden de preferencia? Específicamente, cómo y cuándo se incrementan las rondas. ¡Gracias de antemano!

5 Me gusta

Buen punto @meave
Soy el autor de las encuestas de Votación por Orden de Preferencia, eso es un descuido.
No tengo derechos de edición en el OP. Estaré muy contento si alguien copia esto y lo formatea como considere oportuno, o si se convierte en una Wiki, estaré encantado de contribuir:
Actualmente funciona exactamente como se describe aquí, es la Votación por Eliminación Instantánea clásica:

(¡mi bifurcación del plugin de encuestas contiene ese ejemplo como una prueba unitaria!)
El proceso es el siguiente:
Cada votante envía una lista ordenada de candidatos. En cada ronda, solo consideramos al candidato en 1er lugar (y nos centramos en los posibles ganadores y los peores perdedores).

  1. Contar los votos de primer lugar para cada candidato
  2. Encontrar el(los) candidato(s) con más votos
  3. Comprobar si hay una mayoría clara y única y devolverla como ganadora (no más rondas, parar)
    Si no:
  4. Encontrar el(los) candidato(s) con menos votos
  5. Eliminar el(los) candidato(s) con menos votos de todos los votos
    Si los votos ahora están todos vacíos
  6. Informar del empate de aquellos candidatos que acaban de ser eliminados (no más rondas, parar)
    Si no:
  7. Subir todos los votos para que donde el 1er lugar fue ocupado por un perdedor (para un votante específico), el candidato en 2do lugar se convierta en su 1ª opción.
    Y las rondas continúan hasta que se encuentre una mayoría o un empate.
6 Me gusta

¡Gracias @merefield!
¡Justo lo que necesitaba!

3 Me gusta

¿Es posible exportar los resultados de cada encuesta de diferentes canales para fines de informes?

1 me gusta

Puedes hacerlo con el explorador de datos. Le pregunté a la IA
“¿Es posible exportar los resultados de cada encuesta de diferentes canales para fines de informes utilizando el explorador de datos?” y me dio 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 podría funcionar?

1 me gusta

Hola @pfaffman,

¡Muchas gracias por tu rápida respuesta y ayuda!

Lo intentaré, espero que en algún momento la próxima semana, pero lo más probable es que solo pueda intentarlo después de las vacaciones.

Te daré mi opinión una vez que pueda probarlo.

¡Además, muchas gracias, una vez más!

1 me gusta

Hola, tengo una pregunta sobre las encuestas.

¿Es posible usar HTML o CSS para que se vean mejor que el aspecto estándar?

Gracias de antemano.

¿Lo has probado en el inspector de tu navegador? (Haz clic derecho e inspecciona) Si puedes hacerlo allí, entonces sí.

Sin embargo, Polls usa Chart.js, así que muchas cosas vectoriales.

Realmente depende de lo que quieras cambiar.

3 Me gusta

Es una encuesta de clasificación. Y el botón para hacer la elección debe estar a la izquierda del texto cuando el texto es demasiado largo. Ahora el texto está debajo del botón y me gustaría que el texto estuviera completamente a la derecha y el botón alineado con el texto a la izquierda.

Hola a todos,

¿Alguien sabe si es posible incluir, de alguna manera, una entrada de texto en la encuesta? Por ejemplo, para que el votante justifique por qué se eligió una opción específica.

1 me gusta

“comentar abajo”?

Aparte de comentar en el Tema, no.

1 me gusta

Entiendo. Gracias @merefield, estaba intentando obtener comentarios escritos que pudieran exportarse junto con los resultados de la encuesta.

1 me gusta


¿Por qué no aparece la encuesta en el feed? Solo aparece al hacer clic en ella.

2 Me gusta

Ah, creo que esta es una limitación de las encuestas/extractos de temas. No creo que actualmente sea posible que se muestren fuera del espacio principal del tema.

3 Me gusta

¡Gracias por la respuesta!

3 Me gusta