| Zusammenfassung | Das Plugin Discourse Surveys ermöglicht es Ihnen, Umfragen direkt in Ihren Discourse-Forum-Beiträgen mithilfe einfacher Markdown-Syntax zu erstellen. | |
| Repository-Link | \u003chttps://github.com/discourse/discourse-surveys\u003e | |
| 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 isttrue) -
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

