| 概要 | Discourse Calendar and Events は、Discourse サイトに動的でインタラクティブなカレンダーおよびイベント機能を追加します。 | |
| インストールガイド | このプラグインは Discourse コアにバンドルされています。プラグインを個別にインストールする必要はありません。 |
カレンダーとイベントの有効化
カレンダーとイベントプラグインは、admin/plugins ページからアクセスできるトグルスイッチまたは設定から有効化できます。
機能
予想通り、Discourse Calendar and 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時の場合、06:00 と入力します。 |
| all day event end time | 終了時間が指定されていないイベントは、この時間で終了します。フォーマットは HH:mm です。午後6時の場合、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 を介したイベントの作成
POST /posts.json を使用し、raw フィールドに [event][/event] BBCode を含めることで、イベントを作成できます。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 Calendar and Events を使用したカレンダーイベント
- イベント用に自動的に作成される付随する チャット チャンネル
ライブストリームイベントの前提条件
ライブストリームイベントを使用するには、discourse post event enabled および calendar enabled の他に、chat 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 キー)と Client Secret(SDK シークレット)をコピーします。
-
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 をオンにします。
- イベント名、開始時間、終了時間、およびその他のイベント詳細を必要に応じて設定します。
- トピックを投稿します。
他のライブストリームイベントと同様に、このイベントは付随する Discourse チャットチャンネルとともに作成され、メンバーは “Going” と RSVP した後に自動的に参加します。
メンバーの体験
メンバーは以下のようにウェビナーを体験します。
イベント前
イベント開始の30分前から Join Zoom ボタンが表示されます。それ以外の時間帯には、ボタンが無効化され、利用可能になるタイミングを示すメッセージが表示されます。
イベント中
メンバーが Join Zoom をクリックすると、ウェビナーがトピックページにロードされます(または、ホストがまだイベントを開始していない場合、メンバーはホストが開始するまで待機する必要があります)。
ウェビナーに参加する際にオーディオは自動的に接続されません。参加者は Zoom ツールバーのオーディオアイコンをクリックまたはタップして接続する必要があります。これは Zoom SDK の制限であり、変更できません。
モバイルでは、ウェビナーはフルスクリーンの Zoom ビューで開きます(イベントトピックURLの末尾に /zoom を追加することでデスクトップでもアクセス可能)で、イベント中にチャットオーバーレイパネルを開くためにタップできるフローティング Chat ボタンがあります。
イベント後
Join Zoom ボタンはイベント終了時間の10分後に非表示になります。チャットチャンネルは、あなたが閉じるまで参加者にアクセス可能です。
他のプラグインとの統合
このプラグインのコンポーネントを Right Sidebar Blocks と一緒に使用できます。Right Sidebar Blocks コンポーネントで必要なルートが有効になっていることを確認してください。ブロック名は upcoming-events-list です。以前はカレンダープラグイン自体で追加の設定が必要でしたが、これは簡素化されました。
サイドバーカレンダーはデフォルトでこのように表示されます。
時間を表示したくない場合は、コンポーネントのブロック設定で空の timeFormat 値を追加できます。
私たちがホストしていますか?このプラグインは、Business および Enterprise ティアで利用可能です Calendar | Discourse - Civilized Discussion
categoryId はカレンダーが表示されるカテゴリです。
postId は [calendar][/calendar] でカレンダーを配置する投稿です。 ↩︎カレンダーの右上にタイムゾーンピッカーを表示できます。デフォルトは false ですが、tzPicker=true で有効にできます。 ↩︎
カレンダーから土曜日と日曜日非表示にできます。デフォルトは true です。weekends=false で false に設定できます。 ↩︎
defaultView はカレンダーの表示(日、週など)を設定します。以下のように設定できます:
defaultView=agendaDay
defaultView=agendaWeek
defaultView=month (デフォルト)
defaultView=listNextYear ↩︎


















