🗓 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

5 posts were split to a new topic: What is the ‘discourse post event allowed custom fields’ setting for?

Since the last Update, posting a public event leads to this error message:

Invalid allowed groups

The code reads:

[event start=“2022-11-23 13:06” status=“public” name=“Test” timezone=“Europe/Berlin” allowedGroups=“trust_level_0”]
[/event]

This might be relatet to: Events Plugin 📆 - #769 by angus - different plugin, but same error ?

For allowed groups I think that status should be private not public :thinking:
and in that case it does work in my sandbox (upgraded to latest)

1 Like

Hello.

First off, thanks for a great plugin. Our community has a lot of social events so this is becoming more and more valuable for maintaining a central calendar of events.

One limitation I noticed recently is that you can’t add more than one event to a topic. I don’t know what the technical limitations might be, but we would find it very useful to have the ability to include multiple events in a single topic.

For example, our social committee just put out an announcement about several holiday events coming up in December. Our announcements category is set up to function a bit like a mailing list, so posting one topic to announce the December events made the most sense, but because of this restriction, I can’t get all three events into the central calendar without creating new topics. I don’t like that option because it would trigger unnecessary notifications/emails to everyone and fracture the conversation.

So I’m putting it out there to consider including in your roadmap: the ability to use multiple events in a single topic.

Thanks!

Why not just post them in a different category which doesn’t notify so aggressively. You could make a subcategory of announcements for just that, or a seperate events category.

Just post the events over there, and in your announcements category have a post with each of the events onebox’d or quoted.

Hey there !

I am a bit disappointed by this plugin…
I would like some explanations if possible

Locale

I define that event 11h->12h for Paris timezone :

[event timezone="Europe/Paris" start="2022-10-24 11:00" status="public" end="2022-10-24 12:00" allowedGroups="trust_level_0"]
[/event]

I obtain this in topic :

And this in topic list :

And I got 13h->14h in topic list. Why ??

Past events not in Upcoming events

Past events with a end date do not appear anymore in calendar “Upcoming events”.
Whereas events without a end date continue to appear. They appear on the start date only.

What is the logic behind this ?

Thanks for your explanations

I recall that being an old bug. Have you updated recently?

This is by design, with the theory (I think) being that people are only interested in Events to come.

Personally I’d do it this way:

  1. Have all events in the calendar
    • ‘grey out’ all events that have already occurred (but keep them clickable)
  2. Display the category colour of each event in the calendar
  3. Include a list of all of the event topics below
    • at the top of the list have the next event
    • then in ascending order by event date
    • have a tab / navigation button to select expired events
      • display these from the most recent event at the top
      • then descending order by event date

You got me so fired up I thought I’d better make it a formal feature request:

2 Likes

Well I run a “stable” version of Discourse.
I cannot see a “dicourse-event” plugin but I have a “discourse-calendar” up-to-date (Commit id 9ab1b76a)

Well as you pointed out, we all have past events in our calendars.
It allows us to keep track visually of the past.

I love your improvements proposal. I’ll keep an eye on them.
But I also note there is no alternative for now.

Thanks for your quick reply :slight_smile:

Agreed, but see - this:

becomes this:

and then

This came with the last release, it worked before (we use lots of public events)

1 Like

That is likely your problem. It will probably be fixed by the next stable update. If you can’t wait for that, then switch to tests-passed

:confetti_ball: thank you!

There is a 3rd party alternative, but it is undergoing some radical changes at the moment so you might want to hold off til the new year:

Prob worth a report in #bug then

1 Like

No matter what I set as group (e.g. Administrators or even Everybody) I always get the message Invalid allowed groups. when trying to save a post with an event.

@Roi @Ralf_Stockmann As mentioned here, I can’t reproduce this issue.

Can you check to see if your Trust Level 0 group is there and looking normal?

Actually, now’s the time to talk to us if you want to get personalised help setting up your events solution. As we’re about to launch v2 of the Events Plugin we’re quite keen to hear from folks looking to run events in Discourse :slight_smile: You can reach out here:

Also, v2 of the Events Plugin supports this plugin as a client! Which means you can keep using this plugin to display events along with all the new integration features we’re adding to the Events Plugin.

1 Like

Hey, I’m facing this exact same issue.

Ocorreu um erro: Invalid allowed groups.

I believe it is related to the internationalization: I don’t have a trust_level_0 group, but a nivel_de_confianca_0 instead.

When first creating the event I saw the allowedGroups="trust_level_0", and it failed to save. It worked after I renamed it to nivel_de_confianca_0.

On another subject, I was going to start using this plugin for a simple calendar with upcoming events related to the niche hobby my community is about, so a single event in the OP is enough, but now I wonder if the Events Plugin v2 wouldn’t be a better fit, @angus is there any material I can read to better understand the differences between these two plugins in the current state and also considering the v2 plan? Thank you!

1 Like

Yes the tl0 group is there and I do not see anything special.

1 Like

Thanks guys, that helped. I’ve made a PR that addresses the issue.

There will be very soon, but the long and the short of it is that

  1. the Events Integration Plugin is being merged into the Events Plugin, so all the integration functionality will be available. This plugin, i.e. the Discourse Events plugin works as a “Client” for all those integration features (e.g. if you sync events from your calendar you can use this plugin to display them in the community (or you can use the current event display in the Events Plugin)).

  2. Various robustness improvements to the existing Events Plugin functionality (more tests etc)

  3. The same subscription system we applied to the Custom Wizard Plugin: free for communities and paid plans for businesses (including dedicated support).

If you want to talk with us about it fill out this Wizard.

3 Likes

Not sure if this is a bug, or user error…
When I use the menu to Add to Calendar the location, URL, or any other information about how to actually attend doesn’t come through.

I’d love for the zoom link/meetup page/etc to be included somewhere so my forum users can add important events to their calendar directly.

@joffreyjaffeux - Is there a custom field I should be mapping?

I think it is more ‘lack of feature’!

Thanks Nathan.

After thinking about it for a few days, I think my main argument for addressing the single event restriction is about usability. We have a pretty mixed community in terms of computer comfort, and many members still engage primarily by email. I can see training people to use the events plugin - not so much the workaround you describe. It adds a layer of complexity that feels like it should be unnecessary when other plugins like polling allow multiple instances in a single topic.