Discourse-Kalender und -Ereignisse

:discourse2: Zusammenfassung Discourse Kalender und Events fügt dynamische und interaktive Kalender- und Event-Funktionen zu deiner Discourse-Seite hinzu.
:open_book: Installationsanleitung Dieses Plugin ist im Discourse-Kern enthalten. Es ist nicht erforderlich, das Plugin separat zu installieren.

Aktivieren von Kalender und Events

Das Plugin „Kalender und Events“ kann entweder über den Schalter oder über die Einstellungen aktiviert werden, die beide auf der Seite admin/plugins erreichbar sind:

Funktionen

Wie nicht anders zu erwarten, fügt Discourse Kalender und Events sowohl Kalender- als auch Event-Funktionen zu deiner Discourse-Seite hinzu. Damit kannst du individuelle Topic-Kalender erstellen, um wichtige Anlässe oder Zeitpläne zu verfolgen, Kalender in Kategorien anzeigen, einen Feiertagskalender für Urlaube, Abwesenheiten oder Krankstage hinzufügen, interaktive Event-Topics erstellen sowie eine einfach zugängliche Kalenderübersicht aller bevorstehenden Events anzeigen.

Kalender

Individuelle Kalender können in mehreren Topics erstellt werden, und diejenigen, denen du höhere Sichtbarkeit verleihen möchtest, können über der Topic-Liste einer Kategorie angezeigt werden.

Detailliertere Informationen zur Erstellung und Nutzung von Kalendern findest du unter:

Events

Die Event-Funktion ermöglicht das Einfügen interaktiver Elemente in Topics, mit denen deine Mitglieder sich zur Teilnahme oder zum Besuch der Aktivitäten deiner Community anmelden können. All dies wird in einem eigenen, seitenweiten Kalender zusammengefasst, mit der Option, einen einfach zugänglichen Link zu deinem Navigationsmenü hinzuzufügen. Weitere Informationen zur Erstellung und Nutzung dieser Funktion findest du unter:

:exclamation: Dies ist nicht mit dem Events-Plugin von Pavilion zu verwechseln (beachte die Mehrzahl)

Kalender-Einstellungen

Name Beschreibung
calendar enabled Aktiviert das discourse-calendar-Plugin. Dies fügt die Unterstützung für ein [calendar][/calendar]-Tag im ersten Post eines Topics hinzu.
holiday calendar topic id Topic-ID des Urlaubs-/Abwesenheitskalenders für Mitarbeiter.
holiday status emoji Definiert das Emoji, das für den Urlaubsstatus verwendet wird.
delete expired event posts after Posts mit abgelaufenen Events werden automatisch nach (n) Stunden gelöscht. Setze auf -1, um das Löschen zu deaktivieren.
all day event start time Events, für die keine Startzeit angegeben ist, beginnen zu dieser Zeit. Format ist HH:mm. Für 6:00 Uhr morgens gib 06:00 ein.
all day event end time Events, für die keine Endzeit angegeben ist, enden zu dieser Zeit. Format ist HH:mm. Für 6:00 Uhr abends gib 18:00 ein.
calendar categories Zeigt einen Kalender oben in einer Kategorie an. Erforderliche Einstellungen sind categoryId und postId. z. B.: categoryId=6;postId=453[1] Weitere gültige Einstellungen: tzPicker[2], weekends[3] und defaultView[4].
calendar categories outlet Ermöglicht das Ändern des Ausgabeelements, das den Kategorienkalender anzeigen soll.
working days Setze Arbeitstage. Du kannst die Verfügbarkeit einer Gruppe mit dem timezones-Tag in einem Post anzeigen, z. B.: [timezones group=admins][timezones]
working day start hour Startzeit der Arbeitszeit.
working day end hour Endzeit der Arbeitszeit.
close to working day hours extension Setze die Erweiterung der Arbeitszeit, um die Zeitzonen hervorzuheben.
calendar automatic holidays enabled Setzt den Urlaubsstatus automatisch basierend auf der Region eines Benutzers (Hinweis: Du kannst bestimmte automatische Feiertage in den Plugin-Einstellungen deaktivieren)
map events title Ordnet den Titel des Seitenleistenkalenders basierend auf der Kategorie zu. Standardmäßig “Bevorstehende Events”

Event-Einstellungen

Name Beschreibung
discourse post event enabled Aktiviert die Event-Funktionen. Hinweis: calendar enabled muss ebenfalls aktiviert sein.
discourse post event allowed on groups Gruppen, die Events erstellen dürfen.
displayed invitees limit Begrenzt die Anzahl der angezeigten Eingeladenen bei einem Event.
display post event date on topic title Zeigt das Datum des Events nach dem Topic-Titel an.
use local event date Verwendet das lokale Datum nach dem Topic-Titel statt der relativen Zeit.
discourse post event edit notifications time extension Erweitert (in Minuten) den Zeitraum nach dem Ende eines Events, in dem going-Eingeladene weiterhin über Änderungen im Originalpost benachrichtigt werden.
discourse post event allowed custom fields Ermöglicht es jedem Event, den Wert von benutzerdefinierten Feldern festzulegen.
events calendar categories Zeigt einen Event-Kalender oben in einer Kategorie an.
sort categories by event start date enabled Aktiviert das Sortieren von Kategorie-Topics nach Event-Startdatum.
disable resorting on categories enabled Ermöglicht Kategorien, die Möglichkeit für Benutzer, nach der Event-Kategorie zu sortieren, zu deaktivieren.
sidebar show upcoming events Zeigt den Link zu bevorstehenden Events in der Seitenleiste unter „Mehr“ an. Erfordert post event enabled
map events to color Weist einer angegebenen Kategorie oder einem Tag eine Event-Farbe zu

:information_source: :curling_stone: Der Endpunkt discourse-post-event/events.json hat nun einen zusätzlichen Parameter, um zwischen einfacher und detaillierter Antwort zu wechseln. Um die detaillierte Antwort zu erhalten, füge ?include_details=true hinzu:

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

Erstellen von Events über die API

Du kannst Events über POST /posts.json mit [event][/event] BBCode im raw-Feld erstellen. Hier sind die Details zur Einrichtung deiner API-Anfrage:

  • Verwende POST /posts.json mit dem raw-Parameter
  • Event-Syntax: [event start="2024-05-10 20:00" status="public" timezone="America/Vancouver" end="2024-05-10 21:30" allowedGroups="trust_level_0"]\n[/event]
  • Ein wörtlicher \n-Zeilenumbruch ist erforderlich zwischen öffnendem und schließendem Tag
  • Doppelte Anführungszeichen müssen bei der Verwendung von JSON escaped werden (\")
  • Das API-Benutzerkonto muss die Berechtigung zum Erstellen von Events haben (Admin oder eine Gruppe mit Event-Erstellungsberechtigungen)
  • Setze die Kategorie über den category-Parameter, indem du die ID der Kategorie als Wert übergibst.

Livestream-Events

Für Live-Events verwende die Livestream-Funktionalität, damit Mitglieder ein Event ansehen und gleichzeitig im Chat teilnehmen können.

Ein Livestream-Event umfasst:

  • Einen Videostream (z. B. über YouTube)
  • Ein Kalender-Event unter Verwendung von Discourse Calendar and Events
  • Einen begleitenden Chat-Kanal, der automatisch für das Event erstellt wird

Voraussetzungen für Livestream-Events

Um Livestream-Events zu nutzen, muss chat enabled aktiviert sein, da Livestream einen Chat-Kanal für dein Event erstellt, zusätzlich zu discourse post event enabled und calendar enabled.

Erstellen eines Livestream-Events

Um ein Livestream-Event zu erstellen:

  1. Öffne ein neues Topic.
  2. Wähle das +-Symbol in der Composer-Werkzeugleiste und klicke auf Event erstellen (falls das Event nicht bereits zu deinem Topic hinzugefügt wurde).
  3. Füge den Link zum Event-Video (z. B. eine YouTube-URL) in das Feld für Ort/URL ein.
  4. Schalte „Livestream“ ein.

Du wirst dann sehen, dass das Event und der Livestream erstellt wurden, zusammen mit einem begleitenden Chat-Kanal auf der rechten Seite.

Sobald ein Benutzer auf Teilnahme beim Event klickt, tritt er automatisch dem Chat-Kanal bei und kann an der Unterhaltung teilnehmen!

Livestreamen von Zoom-Webinaren

Du kannst Livestream nutzen, um Zoom-Webinare direkt in Discourse zu hosten, sodass Mitglieder das Event ansehen und im begleitenden Chat-Kanal teilnehmen können, ohne deine Community zu verlassen.

Voraussetzungen für Zoom-Webinare

Zusätzlich zu den Livestream-Voraussetzungen musst du auch die folgenden Einstellungen konfigurieren:

  • Schalte livestream zoom enabled ein
  • Gib deinen Zoom Meeting SDK-Schlüssel in der Einstellung livestream zoom sdk key ein
  • Gib dein Zoom Meeting SDK-Geheimnis in der Einstellung livestream zoom sdk secret ein

So erhältst du den Zoom Meeting SDK-Schlüssel und das Geheimnis:

  1. Gehe zu marketplace.zoom.us, klicke auf Entwickeln und dann auf App erstellen.

  2. Wenn nach der Art der App gefragt wird, wähle General App und klicke auf Erstellen.

  3. Kopiere auf der Seite App-Anmeldeinformationen der App die Client-ID (SDK-Schlüssel) und das Client-Geheimnis (SDK-Geheimnis).

  4. Aktiviere unter Einbetten die Berechtigung Meeting SDK.!Enabling the Meeting SDK permission in the Zoom app.|690x421

  5. Gehe in deinem Discourse zu Admin → Alle Site-Einstellungen und gib die Werte aus Schritt 3 in livestream zoom sdk key und livestream zoom sdk secret ein.

Damit das Zoom-Webinar korrekt in Discourse funktioniert:

  • Das Webinar sollte keine Registrierung oder einen Zugangscode erfordern.

  • Deaktiviere den eingebauten Chat von Zoom, um sicherzustellen, dass alle Diskussionen im einzigen Discourse-Chat-Kanal stattfinden, damit der Chat an einem Ort bleibt und die Unterhaltung nach dem Ende des Webinars fortgesetzt werden kann.

Erstellen eines Livestream-Events für ein Zoom-Webinar

Um ein Livestream-Event für dein Zoom-Webinar zu erstellen:

  1. Öffne ein neues Topic, wähle das +-Symbol und klicke auf Event erstellen.
  2. Füge deinen Zoom-Webinar-Link (z. B. https://zoom.us/``...) in das Feld URL/Ort ein.
  3. Schalte Livestream ein.
  4. Gib den Event-Namen, die Startzeit, die Endzeit und andere Event-Details nach Wunsch ein.
  5. Poste das Topic.

Wie bei anderen Livestream-Events wird auch dieses Event mit einem begleitenden Discourse-Chat-Kanal erstellt, dem Mitglieder automatisch beitreten, sobald sie sich als „Teilnahme“ angemeldet haben.

Member-Erfahrung

So erleben deine Mitglieder das Webinar:

Vor dem Event

Ein Zoom beitreten-Button wird 30 Minuten vor Eventstart angezeigt. Außerhalb dieses Zeitfensters ist der Button deaktiviert und zeigt eine Meldung an, wann er verfügbar sein wird.

Während des Events

Sobald Mitglieder auf Zoom beitreten klicken, wird das Webinar auf der Topic-Seite geladen (oder, falls der Host das Event noch nicht gestartet hat, müssen die Mitglieder warten, bis dies geschieht, um das Video zu sehen).

Die Audioverbindung wird beim Beitreten zum Webinar nicht automatisch hergestellt; Teilnehmer müssen auf das Audio-Symbol in der Zoom-Werkzeugleiste klicken oder tippen, um eine Verbindung herzustellen. Dies ist eine Einschränkung des Zoom SDK und kann nicht geändert werden.

Auf Mobilgeräten öffnet sich das Webinar in einer Vollbild-Zoom-Ansicht (die auch auf dem Desktop durch Hinzufügen von /zoom zum Ende der Event-Topic-URL zugänglich ist) mit einem schwebenden Chat-Button, auf den sie tippen können, um während des Events ein Chat-Overlay-Panel zu öffnen.

Nach dem Event

Der Zoom beitreten-Button wird 10 Minuten nach der Event-Endzeit ausgeblendet. Der Chat-Kanal bleibt für Teilnehmer zugänglich, bis du ihn schließt.

Integrationen mit anderen Plugins

Du kannst eine Komponente dieses Plugins mit Right Sidebar Blocks verwenden. Du musst sicherstellen, dass die gewünschte Route in der Right Sidebar Blocks-Komponente aktiviert ist. Der Blockname lautet upcoming-events-list. Historisch gesehen waren zusätzliche Einstellungen im Kalender-Plugin selbst erforderlich, dies wurde jedoch vereinfacht.

So wird der Seitenleistenkalender standardmäßig angezeigt.

Wenn du die Uhrzeit nicht anzeigen möchtest, kannst du einen leeren timeFormat-Wert in der Block-Einstellung der Komponente hinzufügen.

:discourse2: Von uns gehostet? Dieses Plugin ist in unseren Business- und Enterprise-Tiers verfügbar Calendar | Discourse - Civilized Discussion


  1. categoryId ist die Kategorie, über der der Kalender angezeigt wird.
    postId ist der Post, in dem du den Kalender mit [calendar][/calendar] platzierst. ↩︎

  2. kann einen Zeitzonenauswähler oben rechts im Kalender anzeigen. Standardmäßig false, kann mit tzPicker=true aktiviert werden ↩︎

  3. kann Samstage und Sonntage im Kalender ausblenden. Standardmäßig true. Kann mit weekends=false auf false gesetzt werden. ↩︎

  4. defaultView setzt die Kalenderansicht (Tag, Woche usw.). Kann wie folgt gesetzt werden:

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

101 „Gefällt mir“
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
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)
Help us test Horizon, our newest theme
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
It is very difficult to make events all day in the events modal (and 00:00 is confusing)
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
Event Creation
Category Calendar with defaultView="listNextYear" not showing events
Calendar Core - Needs any special theme?
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?
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?