| 概要 | Discourse Events は、Discourse サイトに動的でインタラクティブなカレンダーおよびイベント機能を追加します。 | |
| インストールガイド | このプラグインは Discourse コアにバンドルされています。プラグインを個別にインストールする必要はありません。 |
イベントの有効化
Events プラグインは、トグルまたは設定のいずれかから有効にできます。どちらも admin/plugins ページからアクセスできます:
当社がホストしていますか? このプラグインは、当社の Business および Enterprise ティアで利用可能です https://www.discourse.org/plugins/calendar.html
機能
やや意外に聞こえるかもしれませんが、Discourse Events はカレンダー機能とイベント機能の両方を Discourse サイトに追加します。これらを使用すると、重要な機会やタイムラインを追跡するための個別のトピックカレンダーを作成し、カテゴリ内でカレンダーを表示し、休暇、欠勤、病欠をマークするための祝日カレンダーを追加し、インタラクティブなイベントトピックを作成し、さらにすべての予定イベントの簡単にアクセスできるカレンダーの概要を表示できます。
カレンダー
カスタムカレンダーは複数のトピックで作成でき、より高い可視性を与えたいものは、カテゴリのトピックリストの上に表示できます。
カレンダーの作成と使用方法に関するより詳細な情報は、以下で確認できます:
イベント
イベント機能により、トピック内にインタラクティブな要素を挿入でき、メンバーがコミュニティの活動に参加するためにサインアップできます。これらはすべて、サイト全体のカレンダーにまとめられ、ナビゲーションメニューに簡単にアクセスできるリンクを追加するオプションがあります。この機能の作成と使用方法に関する詳細は、以下で確認できます:
これは Pavilion の Events プラグイン(複数形に注意)と混同しないでください。
カレンダー設定
| 名前 | 説明 |
|---|---|
| calendar enabled | discourse-calendar プラグインを有効にします。これにより、トピックの最初の投稿に [calendar][/calendar] タグをサポートするようになります。 |
| holiday calendar topic id | スタッフの休暇/欠勤カレンダーのトピック ID。 |
| holiday status emoji | 休暇ステータスに使用される絵文字を定義します。 |
| delete expired event posts after | 期限切れのイベントを含む投稿は、(n) 時間後に自動的に削除されます。削除を無効にするには -1 を設定してください。 |
| all day event start time | 開始時間が指定されていないイベントは、この時刻に開始します。形式は HH:mm です。午前 6:00 の場合は 06:00 と入力してください。 |
| all day event end time | 終了時間が指定されていないイベントは、この時刻に終了します。形式は HH:mm です。午後 6:00 の場合は 18:00 と入力してください。 |
| calendar categories | カテゴリの上部にカレンダーを表示します。必須の設定は categoryId と postId です。例: categoryId=6;postId=453[1] その他の有効な設定: tzPicker[2], weekends[3] および defaultView[4]. |
| calendar categories outlet | カテゴリカレンダーを表示するアウトレートを変更できるようにします。 |
| working days | 勤務日を設定します。投稿内の timezones タグを使用してグループの空き状況を表示できます。例: [timezones group=admins][timezones] |
| working day start hour | 勤務時間の開始時刻。 |
| working day end hour | 勤務時間の終了時刻。 |
| close to working day hours extension | タイムゾーンをハイライトするために、勤務時間の延長時間を設定します。 |
| calendar automatic holidays enabled | ユーザーの地域に基づいて休暇ステータスを自動的に設定します(注: プラグイン設定で特定の自動祝日を無効にできます)。 |
| map events title | カテゴリに基づいてサイドバーのカレンダーのタイトルをマッピングします。デフォルトは “Upcoming events” です。 |
イベント設定
| 名前 | 説明 |
|---|---|
| discourse post event enabled | イベント機能を有効にします。注: calendar enabled も有効にする必要があります。 |
| discourse post event allowed on groups | イベントの作成が許可されるグループ。 |
| displayed invitees limit | イベントに表示される招待者の数を制限します。 |
| display post event date on topic title | トピックタイトルの後にイベントの日付を表示します。 |
| use local event date | 相対的な時間ではなく、トピックタイトルの後にローカル日付を使用します。 |
| discourse post event edit notifications time extension | イベント終了後、元の投稿での編集によって going の招待者への通知が続く期間(分単位)を延長します。 |
| discourse post event allowed custom fields | 各イベントがカスタムフィールドの値を設定できるようにします。 |
| events calendar categories | カテゴリの上部にイベントカレンダーを表示します。 |
| sort categories by event start date enabled | イベント開始日付によるカテゴリトピックの並べ替えを有効にします。 |
| disable resorting on categories enabled | カテゴリが、ユーザーがイベントカテゴリで並べ替えを行う機能を無効にできるようにします。 |
| sidebar show upcoming events | サイドバーの ‘More’ 下に予定イベントのリンクを表示します。post event enabled が必要です。 |
| map events to color | 指定されたタグまたはカテゴリにイベントカラーを割り当てます。 |
![]()
![]()
discourse-post-event/events.jsonエンドポイントには、簡易レスポンスと詳細レスポンスの切り替えを行うためのパラメータが追加されました。詳細レスポンスを取得するには、?include_details=trueを追加できます:
/discourse-post-event/events.json?include_details=true
API を介したイベントの作成
raw フィールドに [event][/event] BBCode を使用して、POST /posts.json を介してイベントを作成できます。API リクエストの設定方法は以下の通りです:
rawパラメータを使用してPOST /posts.jsonを使用します- イベント構文:
[event start="2024-05-10 20:00" status="public" timezone="America/Vancouver" end="2024-05-10 21:30" allowedGroups="trust_level_0"]\n[/event] - 開始タグと終了タグの間にリテラルの
\n改行が必須です - JSON を使用する場合は、ダブルクォートはエスケープする必要があります (
\") - API ユーザーアカウントにはイベント作成の権限(管理者またはイベント作成権限を持つグループ)が必要です
categoryパラメータでカテゴリを設定し、カテゴリの ID を値として渡します。
ライブ配信イベント
ライブイベントには、ライブ配信機能を使用して、メンバーがイベントを視聴しながら同時にチャットに参加できるようにします。
ライブ配信イベントには以下が含まれます:
- 動画ストリーム(例:YouTube を使用)
- Discourse Events を使用したカレンダーイベント
- イベント用に自動作成される付随する チャット チャネル
ライブ配信イベントの前提条件
ライブ配信イベントを使用するには、ライブ配信がイベントに付随するチャットチャネルを作成するため、chat enabled である必要があります。また、discourse post event enabled および calendar enabled も必要です。
ライブ配信を使用したいが、他の場所でのチャットは不要な場合...
chat allowed groupsをデフォルトの設定に設定するか、trust_level_0を含めて、まったく新しいユーザーがライブ配信チャットに参加できるようにします- ユーザー間の DM を防止するために、
direct message enabled groups設定からグループを削除します - 他のチャットチャネルを作成しないでください
ライブ配信イベントの作成
ライブ配信イベントを作成するには:
- 新しいトピックを開きます。
- コンポーザーのツールバーで + アイコンを選択し、Create Event をクリックします(トピックにイベントがまだ追加されていない場合)。
- イベント動画のリンク(例:YouTube URL)を場所/URL フィールドに貼り付けます。
- “livestream” をオンにします。
その後、イベントとライブ配信が作成され、右側に付随するチャットチャネルが表示されます。
ユーザーがイベントで Going を押すと、自動的にチャットチャネルに参加し、会話に参加できるようになります!
Zoom ウェビナーのライブ配信
ライブ配信を使用して、Discourse 内で直接 Zoom ウェビナーをホストできます。これにより、メンバーはコミュニティから離れることなく、イベントを視聴し、付随するチャットチャネルに参加できます。
Zoom ウェビナーの前提条件
ライブ配信の前提条件に加えて、以下の設定を行う必要があります:
livestream zoom enabledをオンにしますlivestream zoom sdk key設定に Zoom Meeting SDK キーを入力しますlivestream zoom sdk secret設定に Zoom Meeting SDK シークレットを入力します
Zoom Meeting SDK キーとシークレットの取得方法:
-
marketplace.zoom.us に移動し、Develop をクリックし、Build app をクリックします。
-
アプリのタイプを尋ねられたら、General App を選択し、Create をクリックします。
-
アプリの App Credentials ページから、Client ID (SDK Key) と Client Secret (SDK Secret) をコピーします。
-
Embed の下で、Meeting SDK 権限を有効にします。
-
Discourse で、Admin → All site settings に移動し、ステップ 3 の値を
livestream zoom sdk keyおよびlivestream zoom sdk secretに入力します。
Zoom ウェビナーが Discourse で正しく動作するには:
-
ウェビナーは参加するために登録やパスコードを必要とすべきではありません。
-
すべての議論が単一の Discourse チャットチャネルで行われるようにし、チャットを一つの場所にまとめ、ウェビナー終了後も会話が続くようにするため、Zoom の内蔵ウェビナーチャットを無効にしてください。
Zoom ウェビナーのライブ配信イベントの作成
Zoom ウェビナーのライブ配信イベントを作成するには:
- 新しいトピックを開き、+ アイコンを選択し、Create Event をクリックします。
- Zoom ウェビナーのリンク(例:
https://zoom.us/``...)を URL/Location フィールドに貼り付けます。 - Livestream をオンにします。
- イベント名、開始時刻、終了時刻、その他のイベント詳細を必要に応じて設定します。
- トピックを投稿します。
他のライブ配信イベントと同様に、このイベントは、メンバーが “Going” で RSVP した後に自動参加する付随する Discourse チャットチャネルとともに作成されます。
メンバーの体験
メンバーがウェビナーをどのように体験するかは以下の通りです:
イベント前
イベント開始 30 分前から Join Zoom ボタンが表示されます。それ以外の時間帯では、ボタンが無効化され、いつ利用可能になるかを示すメッセージが表示されます。
イベント中
メンバーが Join Zoom をクリックすると、ウェビナーがトピックページに読み込まれます(または、ホストがまだイベントを開始していない場合、メンバーはホストが開始するまで待つ必要があります)。
ウェビナーに参加しても、オーディオは自動で接続されません。参加者は、Zoom ツールバーのオーディオアイコンをクリックまたはタップして接続する必要があります。これは Zoom SDK の制限であり、変更することはできません。
モバイルでは、ウェビナーはフルスクリーンの Zoom ビュー(デスクトップでは、イベントトピックの URL の末尾に /zoom を追加することでアクセス可能)で開き、イベント中にタップしてチャットオーバーレイパネルを開けるフローティング Chat ボタンが表示されます。
イベント後
Join Zoom ボタンは、イベント終了時刻から 10 分後に非表示になります。チャットチャネルは、あなたがそれを閉じるまで参加者にアクセス可能のままです。
他のプラグインとの統合
このプラグインのコンポーネントを Right Sidebar Blocks で使用できます。Right Sidebar Blocks コンポーネントで、望ましいルートが有効になっていることを確認してください。ブロック名は upcoming-events-list になります。歴史的には、Calendar プラグイン自体に追加の設定が必要でしたが、これは簡素化されました。
これがデフォルトでサイドバーカレンダーが表示される様子です。
時間を表示したくない場合は、コンポーネントのブロック設定に空の timeFormat 値を追加できます。
categoryId はカレンダーが表示されるカテゴリです。
postId は [calendar][/calendar] を入れた投稿の ID です。 ↩︎カレンダーの右上にタイムゾーンピッカーを表示できます。デフォルトでは false ですが、tzPicker=true で有効にできます。 ↩︎
カレンダーから土曜日と日曜日を非表示にできます。デフォルトでは true です。weekends=false で false に設定できます。 ↩︎
defaultView はカレンダーの表示(日、週など)を設定します。以下のように設定できます:
defaultView=agendaDay
defaultView=agendaWeek
defaultView=month (デフォルト)
defaultView=listNextYear ↩︎


















