Please take a moment to consider whether the new Event features in the Discourse Calendar plugin made by the Discourse team are right for you. If they meet your needs, we recommend using that plugin. You should only use this plugin if youāve already first considered Discourse Calendar.
This plugin allows you to add and manage events with Discourse.
-
Add an event to a topic.
-
Features Agenda view, Calendar view, RSVP, timezone support and much more.
-
Events can be enabled sitewide(i.e. for all the categories) or for specific categories.
Setup
Not sure how to install a plugin? Follow the steps here.
Features
Agenda and Calendar
- The plugin allows two ways of listing the events, Agenda view and Calendar view.
- These views can be enabled for all the categories using site settings, or for specific categories using the category settings.
- The agenda view displays the events in chronological order from earliest to latest occuring event.
- The calendar view displays a calendar and marks the events on it.
- You can optionally remove the past events from agenda and calendar by changing the site settings
events remove past from agenda
andevents remove past from calendar
.
RSVP
- The user can indicate they are
Going
to the event. - The event post has a list of people who have marked themselves as
Going
to attend the event. - The site setting for this feature is
events rsvp
.
Locations Plugin Integration
- The plugin offers integration with
Locations
plugin. - The user can set a location for the event, which will be marked on the map.
- There is a setting to remove the past events from the map called
events remove past from map
.
Time and Timezone Formatting
- Datetimes are stored as Unix timestamps (i.e seconds since epoch). This makes it easy to order the topics using the existing topic list filter structure.
- Time conversion and formatting on the client is handled by moment.js; see e.g. the eventLabel helper. Should probably add settings that allow the time format to be changed.
- Time selection dropdown is handled by the jquery-timepicker plugin. Probably could be replaced by a native solution in the future. And the increment period of the times in the dropdown should be a setting.
iCal Feed
-
When on the calendar view, thereās a subscribe button to subscribe to the events calendar, as a webcal feed or an RSS feed.
-
Recently, we added a feature to support subscribing the feed of private forums using the userās api key.(thanks to haveyaseen)
-
It is possible to get a .ics/ICalendar file of the topics with the date, time, description and url of the topic. time_zone is required and you can choose the time zone for your location.
- Get the ics feed of a category
/c/CATEGORY/calendar.ics?time_zone=...
https://thepavilion.io/c/plugins/l/calendar.ics?time_zone=Etc/UTC - Get the ics feed of the whole forum
/calendar.ics?time_zone=...
https://thepavilion.io/calendar.ics?time_zone=Etc/UTC
- Get the ics feed of a category
Want to know whatās currently being worked on? Check out agenda
Examples in the Wild
Want to add your site as an example? Message a maintainer ā
How to safely update when using our plugins:
Pavilionās update schedule
Events is one of the Pavilion family of open source plugins.
Going forward, Pavilion will focus on ensuring compatibility of a core set of its plugins with Discourse Core tests-passed
branch during the first 5 days of every month only.
Any bugs which arise because of an incompatibility will be addressed asap during this āsupported periodā, preferably by the 7th day. Low severity or Beta feature bugs may not be addressed by this date, but obvious things which are ābreakingā a forum should be resolved.
This new policy will come into effect 1st May 2020
Why we are introducing this policy
We have no control over changes in Discourse core. That is how it should be. However, as our plugins have grown and become more sophisticated, it is getting more and more burdensome to guarantee they are working with every update of Discourse. Itās becoming untenable to ensure immediate compatibility is maintained.
To give our developers breathing room so they can attend to other priorities in addition to plugin support we will no longer be guaranteeing compatibility with Discourse every day of the month.
This policy should also help you achieve more stability and give you more certainty over when you can more safely update.
How to perform your update
Aim to update your Production Discourse instance (both Discourse core and our plugins) in the first 5 days of every month. Notify us on the relevant Plugin Topic on Meta of any issues you encounter. You will get more focussed support from the Pavilion team on any issues with their plugins during this period.
You update your Production server outside of the first 5 days of the month at your own risk. If you do so and something breaks related to one of our plugins, we urge you to report it and in addition, and if appropriate, uninstall our plugin until it is resolved. Unfortunately we may not get around to fixing it until the next supported period at the beginning of the following month.
For even greater safety
Consider testing your update on your own staging server built from a back-up of your production site. This is especially important if your site is large, popular and/or part of a business.
You can switch this server off for the rest of the month so you donāt get charged for up-time. Use this opportunity to test out all basic functionality to identify any issues with plugins. Report all critical and high issues asap on the relevant plugin topic.
Using a staging site may allow you to have more discretion over when you update, but be aware of the relative lack of support in the latter part of the month.
Thanks for your understanding!