🗓 Discourse Event

:mega: Now live in discourse-calendar plugin is the ability to add an Event in the first post of a topic. I will be working actively on this in the next weeks, bugs reports and feedback welcome, please make sure to read the roadmap first.


Overview

Setup

:link: How to install a plugin

  • This feature requires you to have your Discourse configured on tests-passed for now as we might have to change things in core while we move towards our goal and these two settings enabled:

    • calendar_enabled in the Discourse Calendar settings panel (/admin/site_settings/category/discourse_calendar).

    • discourse_post_event_enabled in the Discourse Event settings panel (/admin/site_settings/category/discourse_post_event).

  • I recommend you have discourse_local_dates_enabled enabled.

Creating an event

An event is created from the toolbar popup menu (gear icon) when you are creating a new topic or editing the first post of a topic.

Screenshot 2020-05-07 at 19.46.27

Notes on events:

  • Event can have an optional name, when not set it will fallback to topic title
  • Event must have a start date
  • Event can have an end date
  • Event can be Public/Private/Standalone, see the Event builder for an explanation

Once created, the event will display as an editable Markdown block in your composer, you can position the event wherever you want inside your post:

[event start="2020-04-30 18:24" status="public"]
[/event]

Note that the Datetime in markdown code is in UTC.

The preview should display an event placeholder while you edit it:

Interacting with an event

Once created your event will be displayed with a dedicated UI, allowing you to update your attendance and see others attendance:

Note that events will also display in list of topics, and in the topic header when scrolled:

Screenshot 2020-04-30 at 20.30.14

Screenshot 2020-04-30 at 20.29.18

Listing events

The hamburger menu will now have a new link: “Upcoming events”. Clicking on it will lead you to a dedicated page with a calendar listing events, clicking on an event will open the related topic:

Other features

  • Heavily tested server side
  • Works on mobile
  • Can generate an .ics
  • Will send notification to invitees of a private event
  • You can limit who can create events by groups

Roadmap

  • An event can be opened or closed in one click. Direct consequence of this, an event can have a closed/opened state
  • An event owner should be able to limit the number of spots available for an event
  • Invite groups to an event
  • Integrated reminders (optionally) - message users N hours prior to event
  • Recurring events
  • Event details on topic list when hovering on time
  • An event can be cloned
  • Event wizard should make easy to create a meeting with people in another timezone.
  • Improve calendar / upcoming events page
  • Better external calendar integration
  • Export a list of invitees

Known issues

  • WON’T FIX the date in header title, won’t update before refresh if you edit the event
  • Add to calendar doesn’t work properly on mobile
  • Toolbar not updating when switching from editing OP to replying NOT OP post
  • Wiki functionality is disabled for OPs containing an Event (error message when anyone other than the OPer or an admin attempt to save)

Other contributors

99 Likes

Is there also a way to show a global map of all events? Or maybe even better, some raw JSON output that contains the geo locations and metadata of the event so that I can add it to my own Leaflet map.

2 Likes

Would it also be possible to disable the logo in the “upcoming events” button? The UI is a bit inconsistent with just one button that has a logo. I can’t modify this by changing the text of this button. The logo seems hard coded.

Screenshot 2022-09-08 at 16-05-27 Admin - TZM Community Forum

2 Likes

3 posts were split to a new topic: Date-picker date format inconsistent with locale

While migrating a forum to Discourse (from Drupal 6 and using this script discourse/drupal-6.rb at main · discourse/discourse · GitHub) I was trying to migrate events posts by appending [event --details--] [/event] to the body of the corresponding new posts. This doesn’t work completely as you can see in the screenshot:


Even though the post does not display the event card, when I try to edit it the event card is displayed on the preview which means the event settings are correct.

Is this because the plugin only creates the event if we save it on the post “editor”?

Meanwhile, I re-tested the same thing by creating an event topic through an API call and the event was created along with the topic without any issues (the event card was visible from the start) .

Hi everyone, i have a problem about discourse event plugin.

When i click ‘upcoming events’ i got this error code.


What is the problem u think?