Events Plugin 📆

(Angus McLeod) #185

@ChrisBeach I’ll take a look at it first thing tomorrow morning.

If you’re talking about changing the formatting of the time, you can do that via the site settings events event label format and events event label short format.


There is something wrong with the button in german translation:


(Angus McLeod) #187

This should be fixed now

@ChrisBeach I’ve nearly finished adding event times to all the relevant emails (the different types of topic notifications and topic invites). It’s on the add_email_support branch which is currently running on my sandbox.

Injecting custom topic variables into email templates and their plain-text counterparts is non-trivial, so it will take a bit more testing before I merge the feature branch into master. It should be merged sometime tomorrow.

(Tobias Eigen) #188

@angus some bugs and feature suggestions after using this plugin for a few weeks now on my site:

  • I think having CALENDAR on the top menu might be too prominent, unless members are really excited about it (still have to check). We could add it to the hamburger menu instead. You could add this maybe as a global admin setting.
  • the calendar is a little glitchy on mobile. When you select dates the screen flashes. I do like being able to select dates and seeing the full details below rather than leaving the calendar to go to the topic - would love to see this on desktop too.
  • when adding event info to topics that have occurred already, it seemed odd to me that there is a subscribe button for those topics. maybe suppress it on events in the past?
  • the per-category settings are cumbersome for a site like ours where we want to use the calendar for all categories. I just went through and changed all of our categories to the settings below - see screenshot. Seems these could/should be available as global admin settings to avoid human error.


(Tobias Eigen) #189

crazy idea: how about an event calendar for groups? e.g. messages can be given event info, displayed on the calendar, and subscribed to by members of the group. calendar group page gets a calendar menu item.

(Tobias Eigen) #190

Minor bug. Quoted event topic gets a bit of munged looking text prepended to the quoted text. See screenshot. What I’d expect is no event info or something prettier, like an event icon and a short event label.

(Angus McLeod) #191

My agenda here is:

  1. Release email support for events. My work on this was disrupted by travel. I’m putting the finishing touches on this now.

  2. Add a setting to add a hamburger menu item for events (the top menu item can currently be toggled in the top menu setting).

  3. Add site level settings for event visibility and trust controls

  4. Fix the preview display issue.

Do you mean the Add to Calendar button within the topic? hm I’m not sure hiding it on past events is a good idea. Sometimes people like to add past events to their calendar for completeness, or record keeping. Is there another concern here?

Nice idea. I’ll consider it in a bit more depth after I’ve done the above.

(Tobias Eigen) #192

All good things - thanks much. When you say “release email support for emails” do you mean “email support for events”?

Yeah, this is what I mean. I dunno about other people, but I have never wanted to add an event in the past to my calendar - maybe worth asking around. In the meantime, I guess it does no harm to display it.

(Angus McLeod) #193

Yup that’s the one :slight_smile:

(Angus McLeod) #194

Ok I’ve just merged v1 of event emails.

For all emails mentioned below:

  • The event details have been inserted into both the html and the plain text version.

  • No email translation ‘templates’ have been overridden. i.e. You should still be able to use any custom email templates (there may be conflicts in some custom cases).

  • The event label takes the format: unicode calendar - start datetime - end datetime - event timezone


For both user and non-user invitations:

  • The event details have been inserted to the topic excerpts below the title

  • The words “invited you to a discussion” have been changed to “invited you to an event”



For every type of user notification email (associated with an event topic):

  • The event details appear at the top, separated by a line break


New Setting

You will need to set a default timezone for events using the new events_default_timezone site setting (defaults to UTC).

This is necessary because if an event itself does not have a timezone set, there needs to be a fallback on the server as it’s impossible to detect the email recipient’s timezone.

cc @ChrisBeach

(Chris Beach) #195

Excellent! Thanks for doing this Angus. I’ll let you know how this goes on my forums.

(Stephen) #196

I’ve been assisting a couple of communities who have expressed interest in using events on their Discourse instances.

Today they both rely on Facebook for events because it allows users to RSVP and organisers to assess demand. The recent privacy furore has them desperate to cut ties ASAP.

Are there any plans to add the ability to RSVP to an event?

I guess we’re potentially looking at three elements:

  1. a user interface to RSVP (with the option to do so anonymously?)
  2. a display of public RSVPs
  3. an interface for organisers to see all users who have responded

It might also be desirable to have the ability to limit the total number of RSVPs.

(Tobias Eigen) #197


I guess you could have a poll in the event topic that people can use to RSVP. Not possible I don’t think to limit the number of respondents to polls. Or you can simply ask people to reply to RSVP.

  • Yes, I am coming!
  • no, I can’t make it
  • Put me down as a maybe

0 voters

(Chris Beach) #198

Hi Angus,

I haven’t yet seen an email but have got quite a few errors in my logs :disappointed_relieved:

Apologies about the unhelpful screenshot but am on mobile and it’s quite difficult to copy and paste the full details:

(Angus McLeod) #199

hmm. I can’t repro this, but as a precautionary measure I’ve reverted master to the previous state until I figure out what’s going on there.

Please “upgrade” discourse-events to go back to the old version.

(Chris Beach) #200

Thanks @Angus. I’m upgrading as we speak.

(Tobias Eigen) #201

FYI I’ve updated too and am not seeing these errors.

(Chris Beach) #202

@angus - Ah I’ve just delved deeper and found I might be wasting your time here - apologies. These errors began earlier in the week than when I upgraded your plugin.

(Angus McLeod) #203

Yes. After taking a look at @ChrisBeach’s logs, his issue is not Events plugin related.

I’ve re-applied the events emails to master.

I understand there may be concerns about emails not working properly with this change.

This plugin has been subject to testing in the context of the tests_passed branch of Discourse for some time. I’ve updated those tests so that now every commit will be tested against all of the core Discourse rspec tests, including the all the core email tests.

An instance with this plugin, with the email changes included, passes all core rspec tests.

You can check the CI status of this repo here: Travis CI - Test and Deploy Your Code with Confidence

(Tobias Eigen) #204

I’m greatly enjoying the calendar and am already finding it useful. Really nice job, @angus!

Sorry to harp on about issues I’ve already raised above, but wanted to point out again that long titles are getting cut off, making events hard to read. Maybe others here have ideas on how this might be improved. Some ideas:

  • don’t show the time of day of events in the calendar view, which takes alot of horizontal space
  • show full title on mouseover tooltip (not helpful on mobile or tablets)
  • show full title on select/click, maybe even with some more event details, like a usercard popup… with options to click on to go to the event topic or to add the event to your personal calendar
  • make days selectable, like on mobile, and show full details for the day below
  • simply display full list of events, in order, below calendar. (maybe instead of the agenda view? not finding the agenda view in its current form that useful anyway if I may be brutally honest)