Discourseカレンダー(およびイベント)

:discourse2: Summary Discourse Calendar and Event adds dynamic and interactive calendar and event features to your Discourse site.
:open_book: Install Guide This plugin is bundled with Discourse core. There is no need to install the plugin separately.

Enabling Calendar (and Event)

The Calendar plugin can be enabled either by the toggle or from its settings, both accessible from your admin/plugins page:

/admin/plugins

Features

Somewhat unsurprisingly, Discourse Calendar (and Event) adds both the calendar and event features to your Discourse site. With these, you can create individual topic calendars to track important occasions or timelines, display calendars in categories, add a holiday calendar to mark vacations, absences, or sick days, create interactive event topics, as well as show an easy-access calendar summary of all of your upcoming events.

Calendars

Bespoke calendars can be created in multiple topics, and ones you wish to give higher visibility to can be displayed above a category’s topic list.

You can find more detailed information on how to create and use calendars in:

Events

The Event feature allows interactive elements to be inserted into topics which your members can use to sign up to attend or participate in your community’s activities. These are all summarised in a dedicated site-wide calendar, with the option to add an easy-access link to your navigation menu. You can find more information on how to create and use this feature in:

:exclamation: This should not be confused with Pavilion’s Events plugin (note the plural)

Calendar Settings

Name Description
calendar enabled Enable the discourse-calendar plugin. This will add support for a [calendar][/calendar] tag in the first post of a topic.
holiday calendar topic id Topic ID of staffs holiday / absence calendar.
holiday status emoji Defines the emoji used for the holiday status.
delete expired event posts after Posts with expired events will be automatically deleted after (n) hours. Set to -1 to disable deletion.
all day event start time Events that do not have a start time specified will start at this time. Format is HH:mm. For 6:00 am, enter 06:00
all day event end time Events that do not have a end time specified will end at this time. Format is HH:mm. For 6:00 pm, enter 18:00
calendar categories Display a calendar at the top of a category. Mandatory settings are categoryId and postId. eg: categoryId=6;postId=453[1] Other valid settings: tzPicker[2], weekends[3] and defaultView[4].
calendar categories outlet Allows to change which outlet should show the category calendar.
working days Set working days. You can display the availability of a group using the timezones tag in a post, eg: [timezones group=admins][timezones]
working day start hour Start time of the working day hours.
working day end hour End time of the working day hours.
close to working day hours extension Set extension time in working day hours to highlight the timezones.
calendar automatic holidays enabled Automatically set holiday status based on a users region (note: you can disable specific automatic holidays in plugin settings)
map events title Maps title of the sidebar calendar based on category. Defaults to “Upcoming events”

Event Settings

Name Description
discourse post event enabled Enables the Event features. Note: also needs calendar enabled to be enabled.
discourse post event allowed on groups Groups that are allowed to create events.
displayed invitees limit Limits the numbers of invitees displayed on an event.
display post event date on topic title Displays the date of the event after the topic title.
use local event date Use local date after topic title instead of relative time.
discourse post event edit notifications time extension Extends (in minutes) the period after the end of an event when going invitees are still being notified from edit in the original post.
discourse post event allowed custom fields Allows to let each event to set the value of custom fields.
events calendar categories Display an events calendar at the top of a category.
sort categories by event start date enabled Enable the sorting of category topics by event start date.
disable resorting on categories enabled Allow categories to disable the ability for users to sort on the event category.
sidebar show upcoming events Show upcoming events link in the sidebar under ‘More’. Requires post event enabled
map events to color Assigns an event color to a specified tag or category

:information_source: :curling_stone: The discourse-post-event/events.json endpoint now has an added parameter to switch between simple and detailed response. To get the detailed response you can add ?include_details=true:

/discourse-post-event/events.json?include_details=true

Integrations with Other Plugins

You can use a component from this plugin with Right Sidebar Blocks. You’ll want to ensure the desired route is enabled in the Right Sidebar Blocks component. The block name will be upcoming-events-list. Historically, there were additional settings required in the Calendar plugin itself, but this has been streamlined.

This is how the sidebar calendar will appear by default.

If you don’t want the time, you can add an empty timeFormat value in the component’s block setting.

:discourse2: Hosted by us? This plugin is available on our Business and Enterprise tiers Calendar | Discourse - Civilized Discussion


  1. categoryId is the category the calendar will be displayed on top of.
    postId is the post in which you put the calendar in with [calendar][/calendar] ↩︎

  2. it can display a time zone picker on the upper right of the calendar. False by default, you can enable it with tzPicker=true ↩︎

  3. it can hide Saturdays and Sundays from the calendar. True by default. You can set it to false with weekends=false. ↩︎

  4. defaultView will set the calendar’s view (day, week, etc;). It can be set as:

    defaultView=agendaDay
    defaultView=agendaWeek
    defaultView=month (default)
    defaultView=listNextYear ↩︎

Last edited by @tobiaseigen 2025-07-16T21:10:06Z

Check documentPerform check on document:
「いいね!」 97

このプラグインは有望ですが、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

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

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

「いいね!」 2

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

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

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

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

「いいね!」 3

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

「いいね!」 1

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

「いいね!」 1