| 概要 | Discourse Surveysプラグインを使用すると、簡単なMarkdown構文を使用してDiscourseフォーラムの投稿内に直接アンケートを作成できます。 | |
| リポジトリリンク | ||
| インストールガイド | Discourseにプラグインをインストールする方法 |
Discourse Surveysプラグインを使用すると、簡単なMarkdown構文を使用してDiscourseフォーラムの投稿内に直接アンケートを作成できます。このプラグインは現在、ラジオボタン、チェックボックス、ドロップダウン、数値入力、テキストエリア、星評価、および「いいね/よくないね」評価など、さまざまな質問タイプをサポートしています。
特徴
-
7種類のフィールドタイプ: ラジオボタン、チェックボックス、ドロップダウン、テキストエリア、数値選択、星評価、「いいね/よくないね」評価
-
必須/オプションのフィールド: フィールドを必須としてマークし、入力を確実に完了させます
-
絵文字のサポート: アンケートの選択肢で絵文字を使用できます
-
HTMLサポート: 質問と選択肢でのリッチテキスト形式
-
ユーザー認証: 匿名ユーザーに対する自動ログインプロンプト
-
回答の追跡: 同じユーザーからの重複送信を防止します
-
権限対応: トピックとカテゴリの権限を尊重します
-
モバイル対応: すべてのデバイスでシームレスに動作します
使用方法
基本的なアンケートの構造
すべてのアンケートは [survey] タグで囲む必要があります。
[survey name="my-survey" title="顧客フィードバックアンケート"]
<!-- アンケートのフィールドはここに -->
[/survey]
アンケートの属性
-
name: アンケートの固有の識別子(デフォルトは「survey」) -
title: アンケートの上部に表示されるオプションのタイトル -
public: 可視性を設定(今後の機能) -
status: アンケートのステータス(今後の機能)
フィールドタイプ
1. ラジオボタン(単一選択)
[radio question="好きな色は何ですか?"]
- 赤
- 青
- 緑
- 黄
[/radio]
2. チェックボックス(複数選択)
[checkbox question="どの機能を使用していますか?(該当するものをすべて選択してください)"]
- Eメール通知
- モバイルアプリ
- デスクトップ通知
- APIアクセス
[/checkbox]
3. ドロップダウン選択
[dropdown question="あなたの年齢層は?"]
- 18歳未満
- 18-24歳
- 25-34歳
- 35-44歳
- 45-54歳
- 55歳以上
[/dropdown]
4. テキストエリア(長文テキスト)
[textarea question="詳細なフィードバックをお願いします:" required="false"]
[/textarea]
5. 数値選択
[number question="この機能を1から10で評価してください:" min="1" max="10"]
[/number]
6. 星評価
[star question="全体的な体験をどのように評価しますか?"]
[/star]
7. 「いいね/よくないね」
[thumbs question="他の方にこれをお勧めしますか?"]
[/thumbs]
フィールド属性
すべてのフィールドタイプはこれらの属性をサポートしています。
-
question: 質問テキスト(必須) -
required: フィールドに入力が必要かどうか(true/false、デフォルトはtrue) -
min: 数値フィールドの最小値 -
max: 数値フィールドの最大値
完全な例
基本的なアンケートMarkdown
利用可能なすべてのフィールドを含む基本的なアンケートMarkdownの例を次に示します。
[survey name="awesome-survey-thumbs" title="素晴らしいアンケート"]
[radio question="いずれか一つのオプションを選択してください:"]
- 猫
- 犬
[/radio]
[checkbox question="複数のオプションを選択してください:"]
- 赤
- 青
- 緑
[/checkbox]
[dropdown question="性別:"]
- 男性
- 女性
[/dropdown]
[number question="このアンケートを1から10で評価してください:"]
[/number]
[textarea question="xyzに関するフィードバックは何ですか?" required="false"]
[/textarea]
[star question="全体的な経験をどのように評価しますか?"]
[/star]
[thumbs question="弊社のサービスに満足されましたか?"]
[/thumbs]
[/survey]
アンケートのレンダリング
上記のMarkdownがDiscourseでどのようにレンダリングされるかの例を以下に示します。
高度な使用方法
選択肢での絵文字の使用
[radio question="お気に入りの動物を選んでください:"]
- 🐈 猫
- 🐶 犬
- 🐦 鳥
- 🐠 魚
[/radio]
質問でのHTML形式設定
[radio question="どの<strong>プログラミング言語</strong>を好みますか?"]
- JavaScript
- Python
- Ruby
- Go
[/radio]
必須およびオプションのフィールドの混在
[survey name="mixed-survey"]
[radio question="あなたの役割は何ですか?" required="true"]
- 開発者
- デザイナー
- マネージャー
- その他
[/radio]
[textarea question="他に何かご意見はありますか?" required="false"]
[/textarea]
[/survey]
アンケート結果
現在、このプラグインにはアンケート結果を直接表示するためのバックエンドUXはありません。代わりに、Data Explorerクエリに依存してアンケートの回答を取得および分析できます。以下にクエリの例を示します。
-- [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
権限とセキュリティ
-
ログイン必須: 匿名ユーザーは回答を送信する前にログインする必要があります
-
ユーザーごとの回答は1回のみ: 各ユーザーはアンケートごとに1つの回答のみを送信できます
-
トピックの権限: アンケートを表示するには、ユーザーはトピックの閲覧権限を持っている必要があります
-
投稿の権限: 回答を送信するには、ユーザーはトピックの投稿権限を持っている必要があります
-
アーカイブされたトピック: アーカイブされたトピック内のアンケートは新しい回答を受け付けられません
-
削除された投稿: 削除された投稿内のアンケートはアクセスできなくなります
制限事項
-
投稿ごとに許可されるアンケートは1つのみ
-
回答を受け取った後のアンケート構造の変更はできません
-
すべてのアンケートフィールドの質問は、単一のアンケート内で一意である必要があります
-
アンケートフィールドの質問を空にすることはできません
技術的な詳細
データベーススキーマ
このプラグインは4つの主要なデータベーステーブルを作成します。
-
surveys: 主要なアンケートレコード -
survey_fields: アンケート内の個々のフィールド -
survey_field_options: 選択ベースのフィールドのオプション -
survey_responses: アンケートフィールドに対するユーザーの回答
スタイリング
このプラグインには、テーマに適応するレスポンシブCSSが含まれています。これらのCSSクラスをターゲットにすることで、カスタムスタイリングを追加できます。
-
.survey- メインのアンケートコンテナ -
.survey-field- 個々のフィールドのラッパー -
.field-[type]- 特定のフィールドタイプのコンテナ -
.submit-response- 送信ボタン

