Discourse Umfragen

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

Das Discourse Surveys Plugin ermöglicht es Ihnen, Umfragen direkt in Ihren Discourse-Forum-Beiträgen mithilfe einfacher Markdown-Syntax zu erstellen. Das Plugin unterstützt derzeit verschiedene Fragetypen wie Optionsfelder (Radio Buttons), Kontrollkästchen (Checkboxes), Dropdowns, Zahleneingaben, Textbereiche, Sternebewertungen und Daumen hoch/runter-Bewertungen.

Funktionen

  • 7 verschiedene Feldtypen: Optionsfelder, Kontrollkästchen, Dropdowns, Textbereiche, Zahlenauswahl, Sternebewertungen und Daumen hoch/runter

  • Erforderliche/Optionale Felder: Felder als erforderlich markieren, um die Vervollständigung sicherzustellen

  • Emoji-Unterstützung: Emojis in Ihren Umfrageoptionen verwenden

  • HTML-Unterstützung: Rich-Text-Formatierung in Fragen und Optionen

  • Benutzerauthentifizierung: Automatische Anmeldeaufforderungen für anonyme Benutzer

  • Antwortverfolgung: Verhindert doppelte Übermittlungen durch denselben Benutzer

  • Berechtigungsbewusst: Berücksichtigt Themen- und Kategorieberechtigungen

  • Mobil responsiv: Funktioniert nahtlos auf allen Geräten

Verwendung

Grundlegende Umfragestruktur

Alle Umfragen müssen in [survey] Tags eingeschlossen sein:


[survey name="my-survey" title="Kundenfeedback-Umfrage"]

<!-- Umfragefelder kommen hierher -->

[/survey]

Umfrage-Attribute

  • name: Eindeutige Kennung für die Umfrage (Standard ist „survey“)

  • title: Optionaler Titel, der oben in der Umfrage angezeigt wird

  • public: Sichtbarkeit festlegen (zukünftige Funktion)

  • status: Umfragestatus (zukünftige Funktion)

Feldtypen

1. Optionsfelder (Einzelne Auswahl)


[radio question="Was ist Ihre Lieblingsfarbe?"]

- Rot

- Blau

- Grün

- Gelb

[/radio]

2. Kontrollkästchen (Mehrfachauswahl)


[checkbox question="Welche Funktionen nutzen Sie? (Alle zutreffenden auswählen)"]

- E-Mail-Benachrichtigungen

- Mobile App

- Desktop-Benachrichtigungen

- API-Zugriff

[/checkbox]

3. Dropdown-Auswahl


[dropdown question="Zu welcher Altersgruppe gehören Sie?"]

- Unter 18

- 18-24

- 25-34

- 35-44

- 45-54

- 55+

[/dropdown]

4. Textbereich (Langform-Text)


[textarea question="Bitte geben Sie detailliertes Feedback an:" required="false"]

[/textarea]

5. Zahlenauswahl


[number question="Bewerten Sie diese Funktion von 1-10:" min="1" max="10"]

[/number]

6. Sternebewertung


[star question="Wie bewerten Sie Ihre Gesamterfahrung?"]

[/star]

7. Daumen hoch/runter


[thumbs question="Würden Sie dies weiterempfehlen?"]

[/thumbs]

Feldattribute

Alle Feldtypen unterstützen diese Attribute:

  • question: Der Fragetext (erforderlich)

  • required: Ob das Feld ausgefüllt werden muss (true/false, Standard ist true)

  • min: Minimalwert für Zahlenfelder

  • max: Maximalwert für Zahlenfelder

Vollständiges Beispiel

Grundlegendes Umfrage-Markdown

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

[survey name="awesome-survey-thumbs" title="Tolle Umfrage"]

[radio question="Wählen Sie eine Option:"]
- Katze
- Hund
[/radio]

[checkbox question="Wählen Sie mehrere Optionen:"]
- rot
- blau
- grün
[/checkbox]

[dropdown question="Geschlecht:"]
- Männlich
- Weiblich
[/dropdown]

[number question="Bewerten Sie diese Umfrage von 1 bis 10:"]
[/number]

[textarea question="Was ist Ihr Feedback zu xyz?" required="false"]
[/textarea]

[star question="Wie bewerten Sie die Gesamterfahrung?"]
[/star]

[thumbs question="Waren Sie mit unseren Dienstleistungen zufrieden?"]
[/thumbs]

[/survey]

Umfrage-Darstellung

Unten sehen Sie ein Beispiel dafür, wie das obige Markdown in Discourse gerendert wird:

Erweiterte Nutzung

Verwendung von Emojis in Optionen


[radio question="Wählen Sie Ihr Lieblingstier:"]

- 🐈 Katze

- 🐶 Hund

- 🐦 Vogel

- 🐠 Fisch

[/radio]

HTML-Formatierung in Fragen


[radio question="Welche \u003cstrong\u003eProgrammiersprache\u003c/strong\u003e bevorzugen Sie?"]

- JavaScript

- Python

- Ruby

- Go

[/radio]

Gemischte erforderliche und optionale Felder


[survey name="mixed-survey"]

[radio question="Was ist Ihre Rolle?" required="true"]

- Entwickler

- Designer

- Manager

- Sonstiges

[/radio]

[textarea question="Weitere Gedanken?" required="false"]

[/textarea]

[/survey]

Umfrageergebnisse

Derzeit bietet dieses Plugin 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

Berechtigungen und Sicherheit

  • Anmeldung erforderlich: Anonyme Benutzer müssen sich anmelden, bevor sie Antworten übermitteln können

  • Eine Antwort pro Benutzer: Jeder Benutzer kann nur eine Antwort pro Umfrage einreichen

  • Themenberechtigungen: Benutzer müssen über Leseberechtigung für das Thema verfügen, um Umfragen anzuzeigen

  • Beitragsberechtigungen: Benutzer müssen über Beitragsberechtigungen im Thema verfügen, um Antworten zu übermitteln

  • Archivierte Themen: Umfragen in archivierten Themen können keine neuen Antworten annehmen

  • Gelöschte Beiträge: Umfragen in gelöschten Beiträgen sind nicht mehr zugänglich

Einschränkungen

  • Nur eine Umfrage pro Beitrag zulässig

  • Die Umfragestruktur kann nach Erhalt von Antworten nicht mehr geändert werden

  • Alle Fragen der Umfragefelder müssen innerhalb einer einzelnen Umfrage eindeutig sein

  • Fragen der Umfragefelder dürfen nicht leer sein

Technische Details

Datenbankschema

Das Plugin erstellt vier Haupttabellen in der Datenbank:

  • surveys: Hauptumfragedatensätze

  • survey_fields: Einzelne Felder innerhalb von Umfragen

  • survey_field_options: Optionen für Auswahlfelder

  • survey_responses: Benutzerantworten auf Umfragefelder

Styling

Das Plugin enthält responsives CSS, das sich an Ihr Theme anpasst. Benutzerdefinierte Stile können hinzugefügt werden, indem auf diese CSS-Klassen gezielt wird:

  • .survey - Haupt-Umfragecontainer

  • .survey-field - Wrapper für einzelne Felder

  • .field-[type] - Container für spezifische Feldtypen

  • .submit-response - Senden-Schaltfläche

32 „Gefällt mir“