Discourse Events

:discourse2: 概要 Discourse Events は、Discourse サイトに動的でインタラクティブなカレンダーおよびイベント機能を追加します。
:open_book: インストールガイド このプラグインは Discourse コアにバンドルされています。プラグインを個別にインストールする必要はありません。

イベントの有効化

Events プラグインは、トグルまたは設定のいずれかから有効にできます。どちらも admin/plugins ページからアクセスできます:

:discourse2: 当社がホストしていますか? このプラグインは、当社の Business および Enterprise ティアで利用可能です https://www.discourse.org/plugins/calendar.html

機能

やや意外に聞こえるかもしれませんが、Discourse Events はカレンダー機能とイベント機能の両方を Discourse サイトに追加します。これらを使用すると、重要な機会やタイムラインを追跡するための個別のトピックカレンダーを作成し、カテゴリ内でカレンダーを表示し、休暇、欠勤、病欠をマークするための祝日カレンダーを追加し、インタラクティブなイベントトピックを作成し、さらにすべての予定イベントの簡単にアクセスできるカレンダーの概要を表示できます。

カレンダー

カスタムカレンダーは複数のトピックで作成でき、より高い可視性を与えたいものは、カテゴリのトピックリストの上に表示できます。

カレンダーの作成と使用方法に関するより詳細な情報は、以下で確認できます:

イベント

イベント機能により、トピック内にインタラクティブな要素を挿入でき、メンバーがコミュニティの活動に参加するためにサインアップできます。これらはすべて、サイト全体のカレンダーにまとめられ、ナビゲーションメニューに簡単にアクセスできるリンクを追加するオプションがあります。この機能の作成と使用方法に関する詳細は、以下で確認できます:

:exclamation: これは 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 指定されたタグまたはカテゴリにイベントカラーを割り当てます。

:information_source: :curling_stone: 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 設定からグループを削除します
  • 他のチャットチャネルを作成しないでください

ライブ配信イベントの作成

ライブ配信イベントを作成するには:

  1. 新しいトピックを開きます。
  2. コンポーザーのツールバーで + アイコンを選択し、Create Event をクリックします(トピックにイベントがまだ追加されていない場合)。
  3. イベント動画のリンク(例:YouTube URL)を場所/URL フィールドに貼り付けます。
  4. “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 キーとシークレットの取得方法:

  1. marketplace.zoom.us に移動し、Develop をクリックし、Build app をクリックします。

  2. アプリのタイプを尋ねられたら、General App を選択し、Create をクリックします。

  3. アプリの App Credentials ページから、Client ID (SDK Key) と Client Secret (SDK Secret) をコピーします。

  4. Embed の下で、Meeting SDK 権限を有効にします。

  5. Discourse で、Admin → All site settings に移動し、ステップ 3 の値を livestream zoom sdk key および livestream zoom sdk secret に入力します。

Zoom ウェビナーが Discourse で正しく動作するには:

  • ウェビナーは参加するために登録やパスコードを必要とすべきではありません

  • すべての議論が単一の Discourse チャットチャネルで行われるようにし、チャットを一つの場所にまとめ、ウェビナー終了後も会話が続くようにするため、Zoom の内蔵ウェビナーチャットを無効にしてください

Zoom ウェビナーのライブ配信イベントの作成

Zoom ウェビナーのライブ配信イベントを作成するには:

  1. 新しいトピックを開き、+ アイコンを選択し、Create Event をクリックします。
  2. Zoom ウェビナーのリンク(例:https://zoom.us/``...)を URL/Location フィールドに貼り付けます。
  3. Livestream をオンにします。
  4. イベント名、開始時刻、終了時刻、その他のイベント詳細を必要に応じて設定します。
  5. トピックを投稿します。

他のライブ配信イベントと同様に、このイベントは、メンバーが “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 値を追加できます。


  1. categoryId はカレンダーが表示されるカテゴリです。
    postId は [calendar][/calendar] を入れた投稿の ID です。 ↩︎

  2. カレンダーの右上にタイムゾーンピッカーを表示できます。デフォルトでは false ですが、tzPicker=true で有効にできます。 ↩︎

  3. カレンダーから土曜日と日曜日を非表示にできます。デフォルトでは true です。weekends=false で false に設定できます。 ↩︎

  4. defaultView はカレンダーの表示(日、週など)を設定します。以下のように設定できます:

    defaultView=agendaDay
    defaultView=agendaWeek
    defaultView=month (デフォルト)
    defaultView=listNextYear ↩︎

「いいね!」 101
How to use the calendar plugin?
Discourse Calendar - How to?
Calendar plugin, nothing is displayed
Discourse 2.2.0.beta3 Release Notes
How to use the calendar plugin?
Discourse Calendar dislpay link text rather than link url
Ability to mark any post as unread
Is there a room booking plugin?
📅 Event List Widget (Layouts Plugin)
I am looking for a webhook or event api
Inserting date/time into new topic's title field (ie, right here > !)
Db:migrate fails on discourse-calendar
Moderator/Admin Off Duty Button
Go from a Wordpress + Discourse structure to a Discourse site only?
Creating sub-communities in a discourse server
Vacation autoresponder for users who are away?
Please better document the Discourse Calendar plugin
Plugin to gather approvals / signatures on an initiative?
Plugin to show upcoming events on hosted discourse
Discourse Livestream
New to Discourse, have some questions :)
Expired events with end times are being removed from upcoming-events even with setting set to -1
Setup Continuous Integration using GitHub Actions
Add color to events based on event category or tag?
Is there any way to change the starting date of the Calendar?
SEO applied to Discourse Official Plugins
Add color to events based on event category or tag?
Add recurrent items within a date-range
Use Case Question - Room/Equipment Booking
Best practices for communicating to user base
Integrate with Discourse-calendar
My Wiki of useful Meta (and other) links
Quotes in event name clears attendees
Calendar in Discourse
Show Cakeday dates on the Calendar plugin
Agenda de colegio
What are your favorite plugins for your community?
Display a category as a calendar by scheduled Topic-timer dates
Why you should use Discourse internally for your company/team instead of Slack (4 years use case)
Newbie question: Is there a comprehensive guide to configuring and administering Discourse instance?
Angus' Events Plugin :calendar:
When "closing" event it moves it to today's date & time
How to display different calendar views?
Discourse calendar and event iCal integration?
Can the auto-responder fire on @mentions?
Event/Calendar Plugin - Cannot select a user for bulk-invite
Bulk Invite via modal only allowing one user (and not displaying correctly)
Event Creation
500 Error when posting, moment.tz runtime error
Best practice for a topic for a recurring event
How to get "back" btn
Event Chat Channels Now Available
📅 New Calendar Feature: End Date for Recurring Events
🌍 New Calendar Feature: Show Local Time
What livestream/webinar platforms do you use?
Custom Wizard Plugin :mage:
ICS → Discourse Importer
How have you built a local community around Discourse?
Angus' Events Plugin :calendar:
What happens next?
Bundling more popular plugins with Discourse core
Calendar subscription URLs for external calendar apps
Listing event invitees with email addresses
Discourse Daily Challenges
Upcoming Events Extra Buttons and Enhancements
Horizon: High Context Topic Cards
Besoin de renseignement pour informer une annulation d'événement
Current Projects - May 2026
It's easier than ever to create events in Discourse!
Easily create Events categories using the Calendar and Events plugin
Discourse Calendar & Events: Webhook triggers & Automations Plugin
Discourse Calendar - How to?
Angus' Events Plugin :calendar:
Topic List Previews (TLP)
New Topic button text does not change to New Event in sidebar in events category in Horizon Theme
Current Projects - June 2026
Event Duplicator: duplicate calendar events/topics into a new time period
It is very difficult to make events all day in the events modal (and 00:00 is confusing)
Questions about the Zoom Livestream integration
Help us test Horizon, our newest theme
Discourse Calendar is now Discourse Events!
Category Calendar with defaultView="listNextYear" not showing events
Zoom webinar livestream in the Events plugin
Calendar Core - Needs any special theme?
Current Projects - August 2026
Creating and managing calendars
Sorting Categories by Title
Creating and managing events
Category Calendar with defaultView="listNextYear" not showing events
The "Save Changes" button is very low on my user preferences interface page
Group Timezones
Easily create Events categories using the Calendar and Events plugin
Available hours / work hours flair
Could use help, setting up new community
Feature request: wrap calendar items when there's just one per day
Right Sidebar Blocks
Custom Discourse instance for a writers club
Unread messages blue numbers appearing in Latest lately (when they shouldn't)?
Database migration chokes on huge value of a "calendar-details" item in table "post_custom_fields"
"Out of office" user indicator
Database migration chokes on huge value of a "calendar-details" item in table "post_custom_fields"
Angus' Events Plugin :calendar:
Angus' Events Plugin :calendar:
Calendar plugin features to make it really useful for us
"Out of office" user indicator
Can discourse display topic replies in reverse order?

このプラグインは有望ですが、Pavilion のプラグインから移行できないようにする、いくつかの機能が不足しています。

  • 開始時刻とともに終日ではないイベントをカレンダーに表示する。現在はすべてのイベントが終日イベントのように見えます。

  • コンポーザー内のタグセレクターの隣に「イベントを追加」ボタンを配置する(歯車アイコンに隠さない)。

  • イベントを作成できるカテゴリを制限し、カテゴリ内でイベントが必須かどうかを設定する。

あったら嬉しい機能:

  • トピックのイベントメタデータが、カーソルがある場所ではなく、トピックの先頭にのみ表示/入力されるようにする。
  • カテゴリ内でイベントを作成できるグループを制限する(例:「EventPlanners」グループのみが「Discussion」カテゴリでイベントを作成でき、他のすべてのユーザーはイベントではないトピックを作成できる(またはトピックがウィキに設定されている場合はトピックを編集できる))。
  • /upcoming-events の URL を /calendar に変更する。
「いいね!」 13

2件の投稿が新しいトピックに分割されました: Holiday status being incorrectly applied

こんにちは、
この度はありがとうございます。

UXに関する質問が2つあります。

  • トピックエディターで、「場所を追加」ボタンの隣に「イベントを追加」ボタンを表示することは可能でしょうか? パビリオンプラグインの時と同じように。
    image

  • カレンダーのトップメニュー項目を追加することは可能でしょうか? 設定で見つかりません。

素晴らしいですね!いくつか考えや質問があります。

カレンダーを作成するには、新しいスレッド/トピックを作成し、以下を貼り付けるだけでよいと解釈してよろしいでしょうか。

カレンダー名

[calendar]
[/calendar]

次に、カレンダーにエントリを追加するには、投稿オプションの「時刻/日付の挿入」アイコンをクリックして、以下のようなものを投稿するだけでよいのでしょうか。

イベント/エントリ名

[date-range from=2024-04-18 to=2024-04-19 timezone="Europe/London"]

これにより、エントリがカレンダーに追加されるのは素晴らしいのですが、以下の点について質問があります。

  • カレンダーにエントリを追加し、かつ、そのエントリに専用のスレッド/トピックを持たせる方法はありますか?(新しいスレッドにイベントを追加できることは確認しましたが、それらのイベントをカレンダーに追加する方法は見当たりません。)
  • ダイジェストメールや左側の列に、特定のカレンダーの「今後のイベント」を表示する方法はありますか?各エントリがそのエントリ専用のスレッドにリンクされるような形です。

現在これが可能でない場合、追加する予定はありますか?

「いいね!」 1

@vinothkannans このPRのレビューを手伝っていただけますか?

「いいね!」 1

購読できるURLフィードを追加する予定はありますか? RSVPしたイベントのみか、すべてのイベントか、トリッキーなことになると確信しています。

次に、プライベートイベントを認識できれば、追加レイヤーは素晴らしいものになるでしょう(または、グループごとに異なるURLフィードかもしれません)。

「いいね!」 6

しかし、/upcoming-events URL用のRSSフィードはありません。それは良い追加機能になるでしょう!

「いいね!」 3

CalDAV同期についてはどうですか?

「いいね!」 6

それは私にとっても切り替える理由になりますね。

これはさらに更新が必要です。コンポーザーでのイベント挿入と、写真とは異なるイベント詳細の追加について言及しています。イベントはアドオンだったのでしょうか?

プラグインをインストールしましたが、トピックの最初の投稿ではカレンダータグが機能します。しかし、ギアメニューにイベントやカレンダーのオプションが表示されません。

ギアメニューにイベントオプションを表示するには、どうすればよいか説明していただけますか?

プラグイン discourse post event enabled のイベント部分を有効にする必要があります。

「いいね!」 2

ありがとうございます。どういうわけかこの設定を見落としていました。

「いいね!」 3

イベントの返信をイベントとして表示するには、カテゴリトピックでイベントを作成するにはどうすればよいですか?

イベントの作成は新しいトピックの作成で機能することはわかっています。しかし、トピック内にカレンダーを配置し、返信でイベントを追加したいと考えています。日付の挿入では部分的に機能しますが、イベントの作成ほど多くのオプションがないため、それほど良くはありません。

「いいね!」 1

現在、ユーザーはプロファイル設定で地域を設定できます。

サインアップ時にこのフィールドを登録フォームに表示して、地域を設定できるようにしたいのですが、可能でしょうか?

「いいね!」 3

削除された返信はカレンダーに表示されますか?

最初の曜日を月曜日に変更する設定が見つかりません。もし欠けている場合、実装は容易でしょうか?:thinking:

別の問題は、日時入力が壊れていることです。終日イベントの場合、時間入力フィールドが日付を台無しにする前に、それを選択するオプションがあるべきです。また、編集時に日付がランダムに変更されるようです。

また、時間と日付の両方に00:00を入力できることにも気づきました(時々機能し、時々機能しません)。これによりカレンダーにエラーが発生し、下書きとの競合が発生して、ページが以前のリビジョンにロールバックされ、再編集されるまで422エラーが繰り返されます。

「いいね!」 3

こちらを参照してください

「いいね!」 1

そのような設定はありません。だから私はそれを使用しません。そして、それが簡単なトリックであれば、チームはそのエラーを修正すると私は確信しています。

「いいね!」 1