Discourse-Umfragen

|||
-|-|-|
:discourse2: | Zusammenfassung | Das Plugin Discourse Surveys ermöglicht es Ihnen, Umfragen direkt in Ihren Discourse-Forum-Beiträgen mit einfacher Markdown-Syntax zu erstellen.
:hammer_and_wrench: | Repository-Link | https://github.com/discourse/discourse-surveys
:open_book: | Installationsanleitung | So installieren Sie Plugins in Discourse

Das Discourse Surveys Plugin ermöglicht es Ihnen, Umfragen direkt in Ihren Discourse-Forum-Beiträgen mit einfacher Markdown-Syntax zu erstellen. Das Plugin unterstützt derzeit eine Vielzahl von Fragetypen wie Radio-Buttons, Checkboxen, Dropdowns, Zahleneingaben, Textbereiche, Sternebewertungen und Daumen hoch/runter-Bewertungen.

Grundlegende Umfrage-Markdown

Hier ist ein grundlegendes Beispiel für Umfrage-Markdown, das alle verfügbaren Felder enthält:

[survey name="awesome-survey-thumbs" title="Awesome Survey"]

[radio question="Choose any one option:"]
- cat
- dog
[/radio]

[checkbox question="Choose multiple options:"]
- red
- blue
- green
[/checkbox]

[dropdown question="Gender:"]
- Male
- Female
[/dropdown]

[number question="Rate this survey from 1 to 10:"]
[/number]

[textarea question="What is your feedback about xyz?" required="false"]
[/textarea]

[star question="How would you rate overall experience?"]
[/star]

[thumbs question="Were you satisfied with our services?"]
[/thumbs]

[/survey]

Umfrage-Rendering

Unten sehen Sie ein Beispiel, wie die obige Markdown in Discourse gerendert wird:

Umfrageergebnisse

Derzeit verfügt dieses Plugin über keine Backend-Benutzeroberfläche, um die Umfrageergebnisse direkt anzuzeigen. Stattdessen können Sie Data Explorer-Abfragen verwenden, um Umfrageantworten abzurufen und zu analysieren. Hier ist ein Beispiel für eine Abfrage:

-- [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

Zukünftiger Umfang

Das Plugin hat Potenzial für viele Verbesserungen. Fühlen Sie sich frei, an der Diskussion teilzunehmen und Pull-Requests im Repository des Plugins einzureichen.

28 „Gefällt mir“

Damit Benutzer keine Ergebnisse sehen können (es sei denn, sie haben die Berechtigung zur Abfrage) und dies ausschließlich für Administratoren/Hintergrundpersonal bestimmt ist?

3 „Gefällt mir“

Ja, das ist richtig.

7 „Gefällt mir“

Es fühlt sich nicht sehr praktisch an :cry:

3 „Gefällt mir“

Option zum Veröffentlichen von Umfrageergebnissen benötigt. Andernfalls besser mehrere Umfragen verwenden.

3 „Gefällt mir“

Hallo

Das Beispiel-Markdown wird wie unten in einem neuen Thema gerendert. Mein Discourse ist auf dem neuesten Stand.

Was könnte das Problem sein?

Mit freundlichen Grüßen

Hallo @ppcole,

Das oben ist das, was in der Composer-Vorschau angezeigt wird, wenn Sie die Umfrage erstellen. Sobald Sie das Thema erstellt haben, wird es wie erwartet korrekt gerendert.

Danke Arpit. Es hat funktioniert. Ich freue mich auf Verbesserungen.

1 „Gefällt mir“

Darf ich fragen, ob Sie daran arbeiten, aber nicht mit tatsächlicher Priorität?

Es w
erw
re toll, wenn dies weiterentwickelt w
erw
re - es hat enormes Potenzial.

Ich habe festgestellt, dass die obige SQL-Abfrage die Ergebnisse zwar extrahiert hat, aber nicht in einem einfach zu handhabenden Format. Im Grunde wäre eine Menge Transformation auf Tabellenblatt-Ebene erforderlich, um eine nützliche Analyse zu ermöglichen.

Mit etwas Hilfe von Gen AI konnte ich jedoch eine sehr gute Data Explorer-Abfrage erstellen. Aufgrund einiger Einschränkungen von Data Explorer ist es nicht möglich, diese dynamisch genug zu gestalten, um eine Vielzahl von Umfragen zu bewältigen; im Grunde benötigen Sie eine maßgeschneiderte Abfrage pro Umfrage.

Glücklicherweise kann Gen AI dies ziemlich einfach machen. Hier ist ein Beispiel-Prompt, der wahrscheinlich in den meisten Gen AI-Diensten funktioniert (wenn Sie das AI-Plugin nicht aktiviert haben) – fügen Sie einfach Ihr Umfrage-Markdown ein und Sie sollten loslegen können:

Gen AI Prompt zur Erstellung einer maßgeschneiderten SQL-Abfrage für eine bestimmte Umfrage

Ich habe eine Umfrage im Markdown-Format definiert und benötige eine SQL-Abfrage, um die Umfrageergebnisse aus einer Discourse-Datenbank mithilfe des Data Explorer Plugins zu extrahieren. Die Umfrage umfasst verschiedene Fragetypen wie Radio, Dropdown, Sterne, Kontrollkästchen, Textbereich, Daumen und Zahlen. Ich möchte, dass die Abfrage Ergebnisse ausgibt, bei denen jeder Benutzer eine einzelne Zeile hat und jede Frage eine eigene Spalte hat. Bei Kontrollkästchenfragen sollten mehrere Antworten zu einer einzigen Zeichenfolge verkettet werden.

Hier ist das Umfrage-Markdown:

Fügen Sie hier Ihr Umfrage-Markdown ein

Hier ist die ursprüngliche Abfrage zur Ermittlung der Umfrageergebnisse:

-- [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

Bitte generieren Sie eine SQL-Abfrage, die:

  • Den Umfragennamen fest codiert.
  • Bedingte Aggregation verwendet, um die Daten zu pivotieren, wobei jede Frage eine Spalte darstellt.
  • STRING_AGG für Kontrollkästchenfragen verwendet, um mehrere Antworten zu verarbeiten.
  • Sicherstellt, dass die Ausgabe nach user_id gruppiert und nach user_id sortiert wird.
  • Zur besseren Lesbarkeit formatiert ist und Kommentare enthält, die die Logik erklären, wo nötig.

Zusätzliche Hinweise für das Data Explorer Plugin:

  • Die Abfrage muss mit dem Discourse Data Explorer Plugin kompatibel sein, was bedeutet, dass sie nicht mit einem Semikolon enden darf.
  • Verwenden Sie Spaltennamen wie user_id, um die automatischen Verknüpfungsfunktionen im Data Explorer zu nutzen.
  • Vermeiden Sie dynamische SQL, da das Plugin diese nicht unterstützt.
  • Stellen Sie sicher, dass die Abfrage effizient und für die Leistung optimiert ist, da sie möglicherweise auf großen Datensätzen ausgeführt wird.
7 „Gefällt mir“

Dies ist ein ausgezeichnetes kleines Plugin, das überraschend funktionsreich ist. Danke, dass Sie es gemacht haben.

@nathank tolle Arbeit an der Anleitung zum schnellen Erstellen von Ergebnisabfragen.

4 „Gefällt mir“

Ich habe dies auf meiner selbst gehosteten Website installiert, um sie auszuprobieren, und sie ist wirklich gut!

Mir ist bewusst, dass dies dem Diskurs widerspricht, aber es wäre hilfreich, wenn es möglich wäre, Umfragen zu erstellen, die anonym, ohne Anmeldung, abgeschlossen werden können. Oder zumindest die Ergebnisse zu anonymisieren, damit sie nicht mit bestimmten Benutzern verknüpft sind.

Und natürlich wäre die Möglichkeit, die Ergebnisse wie bei Umfragen einzusehen, ohne auf den Daten-Explorer zurückgreifen zu müssen, fantastisch.

4 „Gefällt mir“

Ja, ich hatte das gleiche Problem. Hoffentlich gibt es eine Lösung.

3 „Gefällt mir“