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 Plugins in Discourse installieren

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 Optionsfelder, Kontrollkästchen, Dropdown-Menüs, Zahleneingaben, Textbereiche, Sternebewertungen und Daumen hoch/runter-Bewertungen.

Funktionen

  • 7 verschiedene Feldtypen: Optionsfelder, Kontrollkästchen, Dropdown-Menüs, 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
  • Markdown-Unterstützung: Rich-Text-Formatierung in Fragen und Optionen
  • Benutzerauthentifizierung: Automatische Anmeldeaufforderungen für anonyme Benutzer
  • Antwortverfolgung: Verhindert doppelte Einreichungen vom selben Benutzer
  • Berechtigungsbewusst: Beachtet 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]

Umfrageattribute

  • 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 würden Sie Ihre Gesamterfahrung bewerten?"]

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

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

Fortgeschrittene Nutzung

Verwendung von Emojis in Optionen


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

- 🐈 Katze

- 🐶 Hund

- 🐦 Vogel

- 🐠 Fisch

[/radio]

Markdown-Formatierung in Fragen


[radio question="Welche **Programmiersprache** bevorzugen Sie?"]
- JavaScript
- Python
- Ruby
- Go
[/radio]

[checkbox question="Wählen Sie Ihre *Lieblings*-Funktionen:"]
- Geschwindigkeit
- Sicherheit
- Benutzerfreundlichkeit
[/checkbox]

[textarea question="Bitte lesen Sie unsere [Richtlinien](https://example.com) und geben Sie Feedback:"]
[/textarea]

Unterstützte Formatierungen:

  • Fett: **Text**
  • Kursiv: *Text*
  • Durchgestrichen: ~~Text~~
  • Inline-Code: `Code`
  • Links: [Text](URL)

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 zur direkten Anzeige der Umfrageergebnisse. Stattdessen können Sie sich auf Data Explorer-Abfragen verlassen, 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 senden können
  • Eine Antwort pro Benutzer: Jeder Benutzer kann nur eine Antwort pro Umfrage senden
  • Themenberechtigungen: Benutzer benötigen Leseberechtigung für das Thema, um Umfragen anzuzeigen
  • Beitragsberechtigungen: Benutzer benötigen Beitragsberechtigungen im Thema, um Antworten zu senden
  • 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 diese CSS-Klassen angesprochen werden:

  • .survey - Hauptumfrage-Container
  • .survey-field - Einzelner Feld-Wrapper
  • .field-[type] - Spezifische Container für Feldtypen
  • .submit-response - Senden-Button
32 „Gefällt mir“