Encuestas de Discourse

||||\n-|-|-|\n:discourse2: | Resumen | El plugin Discourse Surveys le permite crear encuestas directamente en sus publicaciones del foro de Discourse utilizando una sintaxis Markdown sencilla.\n:hammer_and_wrench: | Enlace al Repositorio | \u003chttps://github.com/discourse/discourse-surveys\u003e\n:open_book: | Guía de Instalación | Cómo instalar plugins en Discourse\n\nEl Plugin Discourse Surveys le permite crear encuestas directamente en sus publicaciones del foro de Discourse utilizando una sintaxis Markdown sencilla. El plugin actualmente soporta una variedad de tipos de preguntas como botones de radio, casillas de verificación, menús desplegables, entradas numéricas, áreas de texto, calificaciones con estrellas y calificaciones de pulgar arriba/abajo.\n\n## Características\n\n- 7 Tipos de Campos Diferentes: Botones de radio, casillas de verificación, menús desplegables, áreas de texto, selección numérica, calificaciones con estrellas y pulgar arriba/abajo\n\n- Campos Obligatorios/Opcionales: Marque los campos como obligatorios para asegurar su cumplimentación\n\n- Soporte de Emojis: Use emojis en sus opciones de encuesta\n\n- Soporte HTML: Formato de texto enriquecido en preguntas y opciones\n\n- Autenticación de Usuario: Indicaciones automáticas de inicio de sesión para usuarios anónimos\n\n- Seguimiento de Respuestas: Previene envíos duplicados del mismo usuario\n\n- Consciente de Permisos: Respeta los permisos de temas y categorías\n\n- Adaptable a Móviles: Funciona perfectamente en todos los dispositivos\n\n## Uso\n\n### Estructura Básica de la Encuesta\n\nTodas las encuestas deben estar envueltas en etiquetas [survey]:\n\nmarkdown\n\n[survey name=\"mi-encuesta\" title=\"Encuesta de Opinión del Cliente\"]\n\n\u003c!-- Los campos de la encuesta van aquí --\u003e\n\n[/survey]\n\n\n\n### Atributos de la Encuesta\n\n- name: Identificador único para la encuesta (por defecto es "survey")\n\n- title: Título opcional mostrado en la parte superior de la encuesta\n\n- public: Establece la visibilidad (característica futura)\n\n- status: Estado de la encuesta (característica futura)\n\n### Tipos de Campo\n\n#### 1. Botones de Radio (Opción Única)\n\nmarkdown\n\n[radio question=\"¿Cuál es tu color favorito?\"]\n\n- Rojo\n\n- Azul\n\n- Verde\n\n- Amarillo\n\n[/radio]\n\n\n\n#### 2. Casillas de Verificación (Opción Múltiple)\n\nmarkdown\n\n[checkbox question=\"¿Qué características utilizas? (Selecciona todas las que apliquen)\"]\n\n- Notificaciones por correo electrónico\n\n- Aplicación móvil\n\n- Notificaciones de escritorio\n\n- Acceso a API\n\n[/checkbox]\n\n\n\n#### 3. Selección Desplegable\n\nmarkdown\n\n[dropdown question=\"¿Cuál es tu grupo de edad?\"]\n\n- Menos de 18\n\n- 18-24\n\n- 25-34\n\n- 35-44\n\n- 45-54\n\n- 55+\n\n[/dropdown]\n\n\n\n#### 4. Área de Texto (Texto de Formato Largo)\n\nmarkdown\n\n[textarea question=\"Por favor, proporcione comentarios detallados:\" required=\"false\"]\n\n[/textarea]\n\n\n\n#### 5. Selección Numérica\n\nmarkdown\n\n[number question=\"Califique esta característica del 1 al 10:\" min=\"1\" max=\"10\"]\n\n[/number]\n\n\n\n#### 6. Calificación con Estrellas\n\nmarkdown\n\n[star question=\"¿Cómo calificaría su experiencia general?\"]\n\n[/star]\n\n\n\n#### 7. Pulgar Arriba/Abajo\n\nmarkdown\n\n[thumbs question=\"¿Recomendaría esto a otros?\"]\n\n[/thumbs]\n\n\n\n### Atributos de Campo\n\nTodos los tipos de campo soportan estos atributos:\n\n- question: El texto de la pregunta (requerido)\n\n- required: Si el campo debe ser llenado (true/false, por defecto es true)\n\n- min: Valor mínimo para campos numéricos\n\n- max: Valor máximo para campos numéricos\n\n### Ejemplo Completo\n\n### Markdown Básico de Encuesta\n\nAquí hay un ejemplo básico de Markdown de encuesta incluyendo todos los campos disponibles:\n\n\n[survey name=\"encuesta-genial-thumbs\" title=\"Encuesta Genial\"]\n\n[radio question=\"Elige solo una opción:\"]\n- gato\n- perro\n[/radio]\n\n[checkbox question=\"Elige múltiples opciones:\"]\n- rojo\n- azul\n- verde\n[/checkbox]\n\n[dropdown question=\"Género:\"]\n- Masculino\n- Femenino\n[/dropdown]\n\n[number question=\"Califique esta encuesta del 1 al 10:\"]\n[/number]\n\n[textarea question=\"¿Cuál es su opinión sobre xyz?\" required=\"false\"]\n[/textarea]\n\n[star question=\"¿Cómo calificaría la experiencia general?\"]\n[/star]\n\n[thumbs question=\"¿Estuvo satisfecho con nuestros servicios?\"\n[/thumbs]\n\n[/survey]\n\n\n### Renderizado de la Encuesta\n\nA continuación se muestra un ejemplo de cómo se renderiza el Markdown anterior en Discourse:\n\n

\n\n## Uso Avanzado\n\n### Uso de Emojis en Opciones\n\nmarkdown\n\n[radio question=\"Elige tu animal favorito:\"]\n\n- 🐈 Gato\n\n- 🐶 Perro\n\n- 🐦 Pájaro\n\n- 🐠 Pez\n\n[/radio]\n\n\n\n### Formato HTML en Preguntas\n\nmarkdown\n\n[radio question=\"¿Qué \u003cstrong\u003elenguaje de programación\u003c/strong\u003e prefiere?\"]\n\n- JavaScript\n\n- Python\n\n- Ruby\n\n- Go\n\n[/radio]\n\n\n\n### Campos Requeridos y Opcionales Mixtos\n\nmarkdown\n\n[survey name=\"encuesta-mixta\"]\n\n[radio question=\"¿Cuál es su rol?\" required=\"true\"]\n\n- Desarrollador\n\n- Diseñador\n\n- Gerente\n\n- Otro\n\n[/radio]\n\n[textarea question=\"¿Algún pensamiento adicional?\" required=\"false\"]\n\n[/textarea]\n\n[/survey]\n\n\n\n## Resultados de la Encuesta\n\nActualmente, este plugin no tiene ninguna experiencia de usuario (UX) de backend para ver los resultados de la encuesta directamente. En su lugar, puede confiar en las consultas de Data Explorer para recuperar y analizar las respuestas de la encuesta. Aquí hay un ejemplo de consulta:\n\nsql\n-- [params]\n-- text :survey_name = survey\n\nSELECT s.id, s.name, s.post_id, sf.question, COALESCE(sr.value, sfo.html) AS value, sr.user_id, sr.created_at as responded_at\nFROM surveys s\nJOIN survey_fields sf ON sf.survey_id = s.id\nJOIN survey_responses sr ON sr.survey_field_id = sf.id\nLEFT JOIN survey_field_options sfo ON sfo.id = sr.survey_field_option_id\nWHERE s.name = :survey_name\nORDER BY s.id DESC\n\n\n## Permisos y Seguridad\n\n- Inicio de Sesión Requerido: Los usuarios anónimos deben iniciar sesión antes de enviar respuestas\n\n- Una Respuesta por Usuario: Cada usuario solo puede enviar una respuesta por encuesta\n\n- Permisos de Tema: Los usuarios deben tener acceso de lectura al tema para ver las encuestas\n\n- Permisos de Publicación: Los usuarios deben tener permisos de publicación en el tema para enviar respuestas\n\n- Temas Archivado: Las encuestas en temas archivados no pueden aceptar nuevas respuestas\n\n- Publicaciones Eliminadas: Las encuestas en publicaciones eliminadas ya no son accesibles\n\n## Limitaciones\n\n- Solo se permite una encuesta por publicación\n\n- La estructura de la encuesta no se puede modificar después de recibir respuestas\n\n- Todas las preguntas de los campos de la encuesta deben ser únicas dentro de una sola encuesta\n\n- Las preguntas de los campos de la encuesta no pueden estar en blanco\n\n## Detalles Técnicos\n\n### Esquema de la Base de Datos\n\nEl plugin crea cuatro tablas principales en la base de datos:\n\n- surveys: Registros principales de la encuesta\n\n- survey_fields: Campos individuales dentro de las encuestas\n\n- survey_field_options: Opciones para campos basados en selección\n\n- survey_responses: Respuestas de los usuarios a los campos de la encuesta\n\n### Estilo\n\nEl plugin incluye CSS adaptable que se ajusta a su tema. Se puede agregar estilo personalizado apuntando a estas clases CSS:\n\n- .survey - Contenedor principal de la encuesta\n\n- .survey-field - Envoltorio de campo individual\n\n- .field-[type] - Contenedores de tipos de campo específicos\n\n- .submit-response - Botón de envío"

31 Me gusta