Discourse-Kalender (und Ereignis)

: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 „Gefällt mir“

Dieses Plugin ist vielversprechend – aber es fehlen einige Funktionen, die uns davon abhalten, vom Pavilion-Plugin zu wechseln

  • Zeigen Sie ganztägige Ereignisse mit der Startzeit im Kalender an, derzeit sieht jedes Ereignis wie ein ganztägiges Ereignis aus.

  • Schaltfläche „Ereignis hinzufügen“ im Composer neben dem Tag-Selektor (nicht im Zahnrad versteckt)

  • Beschränken Sie, welche Kategorien Ereignisse haben können und ob Ereignisse in einer Kategorie obligatorisch sind

Nice to have:

  • Ereignismetadaten im Thema erscheinen/werden nur oben im Thema eingegeben (anstatt wo auch immer sich der Cursor befindet)
  • Möglichkeit, einzuschränken, welche Gruppen Ereignisse in einer Kategorie erstellen können (zum Beispiel: Nur die Gruppe „EventPlanners“ kann Ereignisse in der Kategorie „Diskussion“ erstellen, aber alle Benutzer können Nicht-Ereignis-Themen erstellen (oder Themen bearbeiten, wenn das Thema auf Wiki gesetzt ist)
  • Ändern Sie die URL von /upcoming-events zu /calendar
13 „Gefällt mir“

2 Beiträge wurden in ein neues Thema aufgeteilt: Holiday status being incorrectly applied

Hallo,\nDanke für diese Arbeit.\n\nIch habe 2 UX-Fragen:\n\n- Ist es möglich, die Schaltfläche „Ereignis hinzufügen“ neben der Schaltfläche „Ort hinzufügen“ im Themeneditor anzuzeigen? Wie es beim Pavillon-Plugin der Fall war?\nimage\n\n- Gibt es eine Möglichkeit, einen Kalendereintrag im Hauptmenü hinzuzufügen? Ich kann ihn in den Einstellungen nicht finden\n

Das sieht großartig aus! Einige Gedanken/Fragen:

Ich gehe richtig in der Annahme, dass man zum Erstellen eines Kalenders einfach einen neuen Thread/ein neues Thema erstellt und Folgendes hineinkopiert:

Name des Kalenders 

[calendar]
[/calendar]

Um dann Einträge zum Kalender hinzuzufügen, erstellt man einfach einen neuen Beitrag im selben Thread mit etwas wie dem Folgenden (durch Klicken auf das Symbol Zeit/Datum einfügen in den Beitragsoptionen):

Name der Veranstaltung/des Eintrags

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

Dies fügt den Eintrag dem Kalender hinzu, was großartig ist, jedoch:

  • Gibt es eine Möglichkeit, Einträge zu einem Kalender hinzuzufügen, die gleichzeitig einen eigenen Thread/ein eigenes Thema haben? (Ich sehe, dass man Veranstaltungen in neuen Threads hinzufügen kann, aber es scheint keine Möglichkeit zu geben, diese Veranstaltungen einem Kalender hinzuzufügen).
  • Gibt es eine Möglichkeit, ‘Bevorstehende Veranstaltungen’ aus einem bestimmten Kalender in den Digest-E-Mails hervorzuheben? Oder vielleicht in der linken Spalte, und jeder Eintrag verlinkt zum dedizierten Thread für diesen Eintrag?

Wenn dies derzeit nicht möglich ist, haben Sie dann Pläne, es hinzuzufügen?

1 „Gefällt mir“

@vinothkannans Könnten Sie mir bitte helfen, diesen PR zu überprüfen?

1 „Gefällt mir“

Gibt es Pläne, einen URL-Feed hinzuzufügen, den Benutzer abonnieren können? Ich bin sicher, es wäre schwierig für alle Ereignisse im Vergleich zu denen, für die sie zugesagt haben.

Zweitens wäre eine zusätzliche Ebene erstaunlich, wenn sie private Ereignisse erkennen könnte (oder vielleicht ist das nur ein anderer URL-Feed pro Gruppe).

6 „Gefällt mir“

Es gibt jedoch keinen RSS-Feed für die URL /upcoming-events – das wäre eine schöne Ergänzung!

3 „Gefällt mir“

Was ist mit CalDAV-Synchronisierung?

6 „Gefällt mir“

Das wäre für mich auch ein Grund zum Wechseln, in der Tat.

Dies muss stärker aktualisiert werden, da es ein Ereignis im Komponisten erwähnt und Ereignisdetails hinzufügt, nicht wie abgebildet. Es sei denn, Ereignis war ein Add-on?

Ich habe das Plugin installiert und das Kalender-Tag funktioniert im ersten Beitrag eines Themas. Aber ich sehe keine Ereignis- oder Kalenderoptionen im Zahnradmenü:

Kann mir bitte jemand erklären, was ich tun muss, um die Ereignisoption im Zahnradmenü zu erhalten?

Sie müssen den Ereignis Teil des Plugins discourse post event enabled aktivieren.

2 „Gefällt mir“

Danke. Ich habe diese Einstellung irgendwie übersehen.

3 „Gefällt mir“

Wie kann ich das Erstellen von Ereignissen in einem Kategorie-Thema anzeigen lassen, wobei Antworten Ereignisse sind?

Ich sehe, dass das Erstellen von Ereignissen beim Erstellen neuer Themen funktioniert. Aber ich möchte einen Kalender in einem Thema haben, bei dem Antworten Ereignisse hinzufügen. Es funktioniert teilweise mit „Datum einfügen“, ist aber nicht so gut wie „Ereignis erstellen“, da dies mehr Optionen bietet.

1 „Gefällt mir“

Derzeit können Benutzer die Region in ihren Profileinstellungen festlegen.

Ich möchte ihnen ermöglichen, ihre Region während der Registrierung festzulegen, indem ich dieses Feld im Registrierungsformular anzeige. Ist das machbar?

2 „Gefällt mir“

Wird eine gelöschte Antwort im Kalender angezeigt?

Ich kann keine Einstellung zum Ändern des ersten Wochentags auf Montag finden. Ist das, wenn es fehlt, trivial zu implementieren? :thinking:

Ein weiteres Problem ist, dass die Zeit- und Datumseingabe kaputt ist. Wenn es sich um eine ganztägige Veranstaltung handelt, sollte es eine Option geben, diese auszuwählen, bevor die Zeiteingabefelder die Daten durcheinanderbringen, und die Daten scheinen sich beim Bearbeiten zufällig zu ändern.

Mir ist auch aufgefallen, dass es möglich ist, 00:00 sowohl in Zeit als auch in Datum einzugeben (was manchmal funktioniert, manchmal nicht), was dazu führt, dass der Kalender einen Fehler ausgibt, der dann zu einem Konflikt mit Entwürfen führt, was zu einem wiederholten 422-Fehler führt, bis die Seite zu einer früheren Revision zurückgerollt und dann erneut bearbeitet wird usw.

3 „Gefällt mir“

[quote=“slower, post:10, topic:277113, full:true, username:joo”]
Wenn diese Automatisierung aktiviert wird, werden die Inhalte von „Zuletzt bearbeitet von“ automatisch zum Kalender hinzugefügt. Ich suche Rat, ob dies ein Fehler ist oder ob es ein Problem mit meinen Einstellungen ist. Könnte mir jemand helfen, das zu klären?


[/quote]Bitte beziehen Sie sich hierauf

1 „Gefällt mir“

Es gibt keine solche Einstellung und deshalb benutze ich sie nicht. Und ich wette, das Team würde diesen Fehler beheben, wenn es ein trivialer Trick wäre.

1 „Gefällt mir“