Pesquisas de Discourse

|||
-|-|-|
:discourse2: | Resumo | O plugin Discourse Surveys permite criar pesquisas diretamente nas postagens do seu fórum Discourse usando sintaxe Markdown simples.
:hammer_and_wrench: | Link do Repositório | https://github.com/discourse/discourse-surveys
:open_book: | Guia de Instalação | Como instalar plugins no Discourse

O Plugin Discourse Surveys permite criar pesquisas diretamente nas postagens do seu fórum Discourse usando sintaxe Markdown simples. O plugin atualmente suporta uma variedade de tipos de perguntas, como botões de rádio, caixas de seleção, menus suspensos, campos numéricos, áreas de texto, avaliações por estrelas e avaliações de positivo/negativo.

Markdown Básico de Pesquisa

Aqui está um exemplo básico de Markdown de pesquisa incluindo todos os campos disponíveis:

[survey name="awesome-survey-thumbs" title="Pesquisa Incrível"]

[radio question="Escolha apenas uma opção:"]
- gato
- cachorro
[/radio]

[checkbox question="Escolha várias opções:"]
- vermelho
- azul
- verde
[/checkbox]

[dropdown question="Gênero:"]
- Masculino
- Feminino
[/dropdown]

[number question="Avalie esta pesquisa de 1 a 10:"]
[/number]

[textarea question="Qual seu feedback sobre xyz?" required="false"]
[/textarea]

[star question="Como você avaliaria a experiência geral?"]
[/star]

[thumbs question="Você ficou satisfeito com nossos serviços?"]
[/thumbs]

[/survey]

Renderização da Pesquisa

Abaixo está um exemplo de como o Markdown acima é renderizado no Discourse:

Resultados da Pesquisa

Atualmente, este plugin não possui nenhuma interface de usuário de backend para visualizar os resultados da pesquisa diretamente. Em vez disso, você pode usar as consultas do Data Explorer para buscar e analisar as respostas da pesquisa. Aqui está um exemplo de consulta:

-- [params]
-- text :survey_name = survey

SELECT 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
FROM surveys s
JOIN survey_fields sf ON sf.survey_id = s.id
JOIN survey_responses sr ON sr.survey_field_id = sf.id
LEFT JOIN survey_field_options sfo ON sfo.id = sr.survey_field_option_id
WHERE s.name = :survey_name
ORDER BY s.id DESC

Escopo Futuro

O plugin tem potencial para muitas melhorias. Sinta-se à vontade para participar da discussão e enviar pull requests no repositório do plugin.

28 curtidas

Portanto, os usuários não podem ver os resultados (a menos que tenham permissão para usar a consulta) e isso é totalmente para administradores/equipe de back-office?

3 curtidas

Sim, está correto.

7 curtidas

Não parece muito prático :cry:

3 curtidas

Precisa de opção para publicar resultados de pesquisas. Caso contrário, é melhor usar várias enquetes.

3 curtidas

Olá

A amostra de Markdown é renderizada em um novo Tópico conforme abaixo. Meu Discourse está atualizado para a versão mais recente.

Qual poderia ser o problema?

Atenciosamente

Olá @ppcole,

O acima é o que é mostrado na visualização do editor ao criar a pesquisa. Assim que você criar o tópico, ele será renderizado corretamente como esperado.

Obrigado Arpit. Funcionou. Aguardando melhorias

1 curtida

Gostaria de saber se vocês estão trabalhando nisso, mas sem prioridade real?

Seria ótimo que isso continuasse a ser desenvolvido - tem muito potencial.

Descobri que a SQL acima realmente extraiu os resultados, mas não estava em um formato fácil de trabalhar; basicamente, exigiria uma tonelada de transformação no nível da planilha para permitir análises úteis.

No entanto, com um pouco de ajuda da IA Generativa, consegui produzir uma consulta muito boa no Explorador de Dados. Devido a algumas limitações do Explorador de Dados, não é possível torná-lo dinâmico o suficiente para lidar com uma variedade de pesquisas; basicamente, você precisa de uma consulta personalizada por pesquisa.

Felizmente, a IA Generativa pode tornar isso bastante simples. Aqui está um prompt de exemplo que provavelmente funcionará na maioria dos serviços de IA Generativa (se você não tiver o plugin de IA ativo) - basta inserir seu markdown de pesquisa e você estará pronto:

Prompt de IA Generativa para Produzir Consulta SQL Personalizada para uma Pesquisa Específica

Tenho uma pesquisa definida em formato markdown e preciso de uma consulta SQL para extrair os resultados da pesquisa de um banco de dados Discourse usando o Plugin Explorador de Dados. A pesquisa inclui vários tipos de perguntas, como rádio, dropdown, estrela, checkbox, textarea, polegares e número. Quero que a consulta produza resultados com cada usuário tendo uma única linha e cada pergunta tendo sua própria coluna. Para perguntas de checkbox, várias respostas devem ser concatenadas em uma única string.

Aqui está o markdown da pesquisa:

Cole seu markdown de pesquisa aqui

Aqui está a consulta original usada para obter os resultados da pesquisa:

-- [params]
-- text :survey_name = survey

SELECT 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
FROM surveys s
JOIN survey_fields sf ON sf.survey_id = s.id
JOIN survey_responses sr ON sr.survey_field_id = sf.id
LEFT JOIN survey_field_options sfo ON sfo.id = sr.survey_field_option_id
WHERE s.name = :survey_name
ORDER BY s.id DESC

Por favor, gere uma consulta SQL que:

  • Codifique o nome da pesquisa.
  • Use agregação condicional para pivotar os dados, com cada pergunta como uma coluna.
  • Utilize STRING_AGG para perguntas de checkbox para lidar com várias respostas.
  • Garanta que a saída seja agrupada por user_id e ordenada por user_id.
  • Seja formatada para legibilidade e inclua comentários explicando a lógica quando necessário.

Orientação Adicional para o Plugin Explorador de Dados:

  • A consulta deve ser compatível com o Plugin Explorador de Dados do Discourse, o que significa que não deve terminar com ponto e vírgula.
  • Use nomes de colunas como user_id para aproveitar os recursos de vinculação automática no Explorador de Dados.
  • Evite usar SQL dinâmico, pois o plugin não o suporta.
  • Garanta que a consulta seja eficiente e otimizada para desempenho, pois pode ser executada em grandes conjuntos de dados.
7 curtidas

Este é um excelente plugin que é surpreendentemente rico em recursos.

Obrigado por criá-lo.

@nathank ótimo trabalho no guia para construir rapidamente consultas de resultados.

4 curtidas

Instalei isso no meu site auto-hospedado para experimentar, e é realmente muito bom!

Percebo que isso é um anátema para o discurso, mas seria útil se fosse possível criar pesquisas que pudessem ser concluídas anonimamente, sem login. Ou pelo menos para anonimizar os resultados para que não estejam associados a usuários específicos.

E, claro, sim, a capacidade de ver os resultados como você pode com enquetes sem ter que recorrer ao explorador de dados seria fantástica.

4 curtidas

Sim, enfrentei o mesmo problema. Espero que haja uma solução.

3 curtidas