Events Plugin 📆

(Angus McLeod) #305

Yes, I did forget about that. I’ve added a setting to make events required in a category.

If you enable All topics in this category must have an event. in Category Settings, any new post or edited post without an event will show this error when the user attempts to create / save the edit.

Enabled in the Events category on my sandbox.

Current tasklist

  1. Ensuring the rsvp feature v1 works.

  2. Ensuring emoji and html entities work in topic excerpts in event cards (see).

  3. Update event details in title edit area.

  4. Better layout of event details in topic list

  5. Rspec and unit tests updates.

  6. Event calendar for groups.

  7. Adding multiple events to one topic.

  8. Allowing Discourse Local Dates to be displayed in calendars.

  9. Add event details to onebox previews.

  10. Recurring events.

  11. Event rsvp list export.

  12. Guest rsvp.

  13. Rsvp custom fields

  14. Event reminders.

(mbajur) #306

Thank you so much! In return, i just made a 100% polish translation of that plugin :slight_smile:

btw - No text on add event buttons in this category setting for category seems to be broken - checking it and saving the form refreshes the page and the checkbox is un-checked again.

(Angus McLeod) #307

Thanks! I’ve merged your translations and fixed that issue.

(mbajur) #308


Another thing came to my mind - we have an option to hide closed topics from agenda page. Would it be a heavy feature to implement to have such option for calendar view as well? :slight_smile:

(Alexander Wright) #309


I’m running the latest beta, currently v2.1.0.beta1 +7.

Will this plugin work with it?


(Angus McLeod) #310

I’ve added settings that allow you to remove closed and past events from the calendar

Yes, it will work. You can see an example here: Events - Angus' Sandbox


I am experiencing strange behavior with this plugin.

I created a category called events and set the ‘Default Topic List’ to Agenda. When I open the category, I get redirected to the agenda view ( as expected. But when I want to go back, the URL changes to and I immediately get redirected to again. The only way to get back is to click on the forum logo or to spam the back button in the browser. The same happens with the locations plugin.

I attached a video to show the problem + I rebuilt the forum before recording, so it should have pulled the latest version from github.

Locations Plugin
(Yaw Anokwa) #312

Hi @angus. I continue to :heart: the events plugin so thanks for your continued work on it!

I keep fighting with formatting and I’m hoping you can help. Currently in topic list (e.g., ODK Forum), events show up with the following format.

Jun 13th @ 12:30, (GMT-03:30) Newfoundland ODK 1 TSC Call - 2018-06-13

It looks like whatever I’ve configured as my events event label format (currently MMM Do @ H:mm), then a comma, then the timezone information in events timezone format.

What would be awesome is if the comma and the timezone information was not included. Instead, I’d like to customize the label using the events event label format.

So if I put in MMM Do @ H:mm (zz) -, I should get something like this:

Jun 13th @ 12:30 (NDT) - ODK 1 TSC Call - 2018-06-13

And to clarify, I don’t want to change the time zone format of what appears when I’m creating an event, that format is great! I just want to change what appears in the events lists to make them more human readable.

(François Douville) #313

Hi Angus,

Calendar is enable in my formation and I made it the default page


But it shows the calendar that begin in may. Can it begin always “today” (the date you check it)?

I hope you understand :slight_smile:

(Yaw Anokwa) #314

I don’t know if this is a plug in issue, but the timezone dropdown says London is GMT+0, but London is GMT+1 (see Current Local Time in London, England, United Kingdom)


(Nichalas Petranek) #315

It’s not as much of an issue at it seems. The plugin does not reference daylight savings time when listing the timezones. I can assure you though that time translations are still rendered correctly in a user’s local timezone.

(Angus McLeod) #316

@ploxnix This will fix your issue

@yanokwa As you say, you can change the timezone format using events timezone format, e.g.

Are you saying you want two different timezone formats, one for the topic list and one for the compose, event add modal and topic itself? (or perhaps one for the topic list and topic (i.e. ‘displays’) and one for the compose and event add modal (i.e. edit UIs)).

It should do that currently, e.g. Events - Angus’ Sandbox. Can you post an example link where it doesn’t?

Yeah, I’ve been meaning to address this. ActiveSupport::TimeZone which the default timezone label uses isn’t DST aware out of the box. This will fix the issue.

(Yaw Anokwa) #317

Yes! The event add modal is perfect, but I’d like to customize the time zone for the topic list.

I think the best way to enable this might be to stop automatically appending the time zone information to the topic list as you are doing now because doing so also introduces formatting (e.g., the comma before (PDT) in your example) that a user might not want. If you stop appending, then a user can get the timezone information and their formatting by adding Z to event label format. Hope that is clear :smile:

(François Douville) #318

Here is my calendar. It works because I use this link

But as you can see here, when I click on “Formations”. Here is the link that begins in may

(Angus McLeod) #319

Ok, I’ve just pushed the next round of timezone improvements:

  • Added ‘include’ settings for topic list and topic. If not selected, a timezone will not be appended to times in the relevant context.

    @yanokwa You just need to de-select events timezone include in topic list and add use your desired moment.js format in the standard time format.

  • ‘display’ settings - what timezone times are displayed in - are consolidated into an enum list:

    • default: times are always displayed in the default timezone (if the default timezone setting is not set, the user’s timezone is the default);

    • event: times are displayed in the event timezone if an event timezone is set; or

    • different: times are displayed in the event timezone if the event timezone is different from the default timezone

  • Further abstraction and refinement of the timezone client logic.

@Francois_Douville It looks like you’re either:

  • using an old version of the plugin; or

  • using a site customisation to add the menu link instead of letting the plugin do it.

If you compare your site with my sandbox you’ll see that the calendar menu link on your site:

  • does not use the url the plugin uses; and

  • does not have the classes the plugin uses.

Please check whether you have any site customisations that could be adding a different menu link and that the events plugin is up to date.

(Tobias Eigen) #320

Where are we at with RSVP functionality? Amazingly, the webinar system we use (GoToWebinar) has a bizarro intentional policy to exclude a handful of countries from registration forms. They also have been super slow to even respond (see community support topic that started in 2015!!), so I don’t want to wait for them.

I am interested in moving faster to be able to use your RSVP feature instead, which also will help us to become more agnostic about which tools we use to host online events. We can just choose the best tool possible rather than being stuck with GoToWebinar.

The features I suggested above are still pretty much the bare minimum of what we’d need - however, I realize now that a country field with autocomplete would be super helpful to avoid a situation later where we export the registrant list for follow-up and analysis and have to manually edit countries that people type in so they are consistent.

Here’s what our GTW registration pages now typically look like - with the hack to allow people to still register if their country is not available on the pulldown.

(Tom Newsom) #321

Is “Everyone See” permission enough to count as unrestricted?

eg: Wood Lathe - Discourse – South London Makerspace

This category is Create/Reply/See by a restricted Group, and See by Everyone. The Subscribe button shows up correctly when logged out, but Gcal doesn’t seem to be able to see it, and neither can an RSS reader.

I’m running latest version, and have tested your sandbox, which provides rss and ical feed as expected.

(Tom Newsom) #322

Oh, and we have a user reporting a missing day of the week in MS Edge:

(Yaw Anokwa) #323

@angus I think on on a fairly recent copy of the plugin f56c1c5, Sidekiq is reporting a Jobs::HandledExceptionWrapper: Wrapped ActionView::Template::Error: Invalid Timezone.

I think this error happens on topics that are created in categories that allow dates and moved to categories that don’t allow dates. Once the date is removed, then the errors go away.

(Angus McLeod) #324

v0.1 works well. You can test it here: Picnic in the park - Events - Angus' Sandbox

I hear you on the need for custom rsvp fields akin to GoToWebinar. This is the rsvp custom fields item on my to do list for this plugin.

My current thinking is that they would work something like this:

  • They would be added to the “Add Event” modal below the current rsvp controls.

  • They would be somewhat akin to the ‘Field’ controls from the Custom Wizard plugin.

  • If rsvp custom fields were added, they would appear in a modal confirming the attendee’s rsvp after they click “Going”.

Does that align with your thinking?

I can’t repro this as a permissions issue. For example, I’ve made Events on my sandbox “See” for “Everyone” and “Create / Reply / See” for Admins. I can still subscribe to the ical feed in Apple Calendar.

  • Does the feed work if Everyone can Create / Reply / See?

  • Do you see any related messages in /logs?

Keep in mind that Google Calendar ical subscriptions update on a 24 hour fixed refresh cycle, i.e. it can take up to 24 hours for ical feed events to appear in Google Calendar (and 24 hours to update if the event is updated).

Ok. I’m downloading an MSEdge virtual box, so I I’ll test this tomorrow.

hm. This is a little trickier. I’ll have to look at it on the weekend.