Pesquisas do Discourse

||||\n-|-|-|\n:discourse2: | Resumo | O plugin Discourse Surveys permite criar pesquisas diretamente nas suas postagens do fórum Discourse usando sintaxe Markdown simples.\n:hammer_and_wrench: | Link do Repositório | \u003chttps://github.com/discourse/discourse-surveys\u003e\n:open_book: | Guia de Instalação | Como instalar plugins no Discourse\n\nO Plugin Discourse Surveys permite criar pesquisas diretamente nas suas postagens do fórum Discourse usando sintaxe Markdown simples. O plugin atualmente suporta vários tipos de perguntas, como botões de rádio, caixas de seleção, menus suspensos, entradas numéricas, áreas de texto, classificações por estrelas e classificações de polegar para cima/baixo.\n\n## Funcionalidades\n\n- 7 Tipos de Campo Diferentes: Botões de rádio, caixas de seleção, menus suspensos, áreas de texto, seleção numérica, classificações por estrelas e polegar para cima/baixo\n\n- Campos Obrigatórios/Opcionais: Marque campos como obrigatórios para garantir o preenchimento\n\n- Suporte a Emoji: Use emojis nas suas opções de pesquisa\n\n- Suporte a HTML: Formatação de texto rico em perguntas e opções\n\n- Autenticação de Usuário: Solicitações de login automático para usuários anônimos\n\n- Rastreamento de Respostas: Impede envios duplicados do mesmo usuário\n\n- Consciência de Permissões: Respeita as permissões de tópico e categoria\n\n- Responsivo para Dispositivos Móveis: Funciona perfeitamente em todos os dispositivos\n\n## Uso\n\n### Estrutura Básica da Pesquisa\n\nTodas as pesquisas devem ser envolvidas por tags [survey]:\n\nmarkdown\n\n[survey name=\"minha-pesquisa\" title=\"Pesquisa de Feedback do Cliente\"]\n\n\u003c!-- Os campos da pesquisa vão aqui --\u003e\n\n[/survey]\n\n\n\n### Atributos da Pesquisa\n\n- name: Identificador único para a pesquisa (padrão é "survey")\n\n- title: Título opcional exibido no topo da pesquisa\n\n- public: Define a visibilidade (recurso futuro)\n\n- status: Status da pesquisa (recurso futuro)\n\n### Tipos de Campo\n\n#### 1. Botões de Rádio (Escolha Única)\n\nmarkdown\n\n[radio question=\"Qual é sua cor favorita?\"]\n\n- Vermelho\n\n- Azul\n\n- Verde\n\n- Amarelo\n\n[/radio]\n\n\n\n#### 2. Caixas de Seleção (Múltipla Escolha)\n\nmarkdown\n\n[checkbox question=\"Quais recursos você utiliza? (Selecione todos que se aplicam)\"]\n\n- Notificações por e-mail\n\n- Aplicativo móvel\n\n- Notificações de desktop\n\n- Acesso à API\n\n[/checkbox]\n\n\n\n#### 3. Seleção Suspensa (Dropdown)\n\nmarkdown\n\n[dropdown question=\"Qual é a sua faixa etária?\"]\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 Longo)\n\nmarkdown\n\n[textarea question=\"Por favor, forneça feedback detalhado:\" required=\"false\"]\n\n[/textarea]\n\n\n\n#### 5. Seleção Numérica\n\nmarkdown\n\n[number question=\"Avalie este recurso de 1 a 10:\" min=\"1\" max=\"10\"]\n\n[/number]\n\n\n\n#### 6. Classificação por Estrelas\n\nmarkdown\n\n[star question=\"Como você avaliaria sua experiência geral?\"]\n\n[/star]\n\n\n\n#### 7. Polegar para Cima/Baixo\n\nmarkdown\n\n[thumbs question=\"Você recomendaria isto a outros?\"]\n\n[/thumbs]\n\n\n\n### Atributos de Campo\n\nTodos os tipos de campo suportam estes atributos:\n\n- question: O texto da pergunta (obrigatório)\n\n- required: Se o campo deve ser preenchido (true/false, padrão é true)\n\n- min: Valor mínimo para campos numéricos\n\n- max: Valor máximo para campos numéricos\n\n### Exemplo Completo\n\n### Markdown Básico da Pesquisa\n\nAbaixo está um exemplo básico de Markdown de pesquisa incluindo todos os campos disponíveis:\n\n\n[survey name=\"awesome-survey-thumbs\" title=\"Pesquisa Incrível\"]\n\n[radio question=\"Escolha apenas uma opção:\"]\n- gato\n- cachorro\n[/radio]\n\n[checkbox question=\"Escolha múltiplas opções:\"]\n- vermelho\n- azul\n- verde\n[/checkbox]\n\n[dropdown question=\"Gênero:\"]\n- Masculino\n- Feminino\n[/dropdown]\n\n[number question=\"Avalie esta pesquisa de 1 a 10:\"]\n[/number]\n\n[textarea question=\"Qual é o seu feedback sobre xyz?\" required=\"false\"]\n[/textarea]\n\n[star question=\"Como você avaliaria a experiência geral?\"]\n[/star]\n\n[thumbs question=\"Você ficou satisfeito com nossos serviços?\"]\n[/thumbs]\n\n[/survey]\n\n\n### Renderização da Pesquisa\n\nAbaixo está um exemplo de como o Markdown acima é renderizado no Discourse:\n\n

\n\n## Uso Avançado\n\n### Usando Emojis nas Opções\n\nmarkdown\n\n[radio question=\"Escolha seu animal favorito:\"]\n\n- 🐈 Gato\n\n- 🐶 Cachorro\n\n- 🐦 Pássaro\n\n- 🐠 Peixe\n\n[/radio]\n\n\n\n### Formatação HTML nas Perguntas\n\nmarkdown\n\n[radio question=\"Qual \u003cstrong\u003elinguagem de programação\u003c/strong\u003e você prefere?\"]\n\n- JavaScript\n\n- Python\n\n- Ruby\n\n- Go\n\n[/radio]\n\n\n\n### Campos Mistos Obrigatórios e Opcionais\n\nmarkdown\n\n[survey name=\"mixed-survey\"]\n\n[radio question=\"Qual é sua função?\" required=\"true\"]\n\n- Desenvolvedor\n\n- Designer\n\n- Gerente\n\n- Outro\n\n[/radio]\n\n[textarea question=\"Algum pensamento adicional?\" required=\"false\"]\n\n[/textarea]\n\n[/survey]\n\n\n\n## Resultados da Pesquisa\n\nAtualmente, este plugin não possui uma UX de backend para visualizar os resultados da pesquisa diretamente. Em vez disso, você pode confiar nas consultas do Data Explorer para buscar e analisar as respostas da pesquisa. Aqui está um exemplo 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## Permissões e Segurança\n\n- Login Necessário: Usuários anônimos devem fazer login antes de enviar respostas\n\n- Uma Resposta por Usuário: Cada usuário pode enviar apenas uma resposta por pesquisa\n\n- Permissões de Tópico: Os usuários devem ter acesso de leitura ao tópico para visualizar as pesquisas\n\n- Permissões de Postagem: Os usuários devem ter permissão de postagem no tópico para enviar respostas\n\n- Tópicos Arquivados: Pesquisas em tópicos arquivados não podem aceitar novas respostas\n\n- Posts Excluídos: Pesquisas em posts excluídos não são mais acessíveis\n\n## Limitações\n\n- Apenas uma pesquisa é permitida por postagem\n\n- A estrutura da pesquisa não pode ser modificada após receber respostas\n\n- Todas as perguntas dos campos da pesquisa devem ser exclusivas dentro de uma única pesquisa\n\n- As perguntas dos campos da pesquisa não podem estar em branco\n\n## Detalhes Técnicos\n\n### Esquema do Banco de Dados\n\nO plugin cria quatro tabelas principais no banco de dados:\n\n- surveys: Registros principais da pesquisa\n\n- survey_fields: Campos individuais dentro das pesquisas\n\n- survey_field_options: Opções para campos baseados em escolha\n\n- survey_responses: Respostas do usuário aos campos da pesquisa\n\n### Estilização\n\nO plugin inclui CSS responsivo que se adapta ao seu tema. Estilização personalizada pode ser adicionada visando estas classes CSS:\n\n- .survey - Contêiner principal da pesquisa\n\n- .survey-field - Wrapper de campo individual\n\n- .field-[type] - Contêineres de tipos de campo específicos\n\n- .submit-response - Botão de envio"

31 curtidas