Getting Started
There are several steps involved in connecting an external calendar to the Events plugin. You’ll need to do these in order:
- Add a Provider
- Add a Source
- Add a Connection
Keep reading for each of these. Here is a video overview:
https://www.loom.com/share/d1b5e257b6934044b7a8efa0807a5404
1 - Add a Provider
The Events Plugin supports a number of event “providers”. An event provider is a service where you host, manage or promote your events.
Supported Providers
Provider | Type | Notes |
---|---|---|
iCalendar | Calendar Client | Google Calendar, Outlook Calendar |
Eventbrite | Event Discovery | |
Meetup | Event Groups | Requires Meetup Pro |
Humanitix | Event Ticketing | |
Eventzilla | Event Management |
If you want to use an events provider that’s not currently supported please reach out to contact@pavilion.tech.
Add a provider
The first step to integrating a provider is adding it in the “Providers” panel.
If your provider requires authentication you’ll need to provide your credentials and then click the authenticate button
iCalendar
iCalendar providers don’t require any authentication, so you can just add one by selecting “icalendar”, giving it a name and saving the provider. If you’re integrating multiple
Eventbrite
Get your Evenbrite API key from your Eventbrite account
Humanitix
Get your Humanitix API Key from your Humanitix account
Eventzilla
Get your Eventzila API Key from your Eventzilla account
https://developer.eventzilla.net/docs/
Meetup
Create an OAuth Client to obtain your Client ID and Secret. You have to have a Meetup Pro Subscription to create an OAuth Client:
https://www.meetup.com/lp/meetup-pro
2 - Add a Source
To get your events from a provider you need to add a source. A source is where in the provider you’re getting your events from, such as a calendar or group. When you import from a source the imported events will be listed in “Events”.
Options
Some sources require you to fill out “Options” to connect or identify the source.
Google Calendar
Please follow “Get your calendar (view only)” to get your .ics URI.
Outlook Calendar
Please follow “Publish your calendar” to get your .ics URI.
Meetup
Get the group url name from the url when looking at your group profile
It should look like this in the events integration source row
Eventbrite
Follow these instructions to get your eventbrite organization id
https://help.signaturesatori.com/en/articles/1002985-how-to-obtain-eventbrite-organizer-id
Date Range
The date range determines the date range for the events you import from the source, i.e. only events within the range will be imported.
3 - Add a Connection
Connections are how you display events you’ve imported in your forum. Currently you can connect an event to a topic in a specified category using either the Events Plugin, or the official Discourse Calendar (and Event) - plugin - Discourse Meta.
New types of connections may be added in the future. Any type of connection is possible, including multiple topics per event and dedicated event pages within the forum. If there is a particular way you wish to display events in your forum then reply below.
User
The user will be the author of event topics created by the connection.
Category
The category is where the event topics will be created
Source
The source is which the events will be synced to the connection
Clients
The client handles the displaying of events to users. This can be either the Event Plugin itself, or the offiical Discourse Calendar (and Event) - plugin - Discourse Meta.
4 - Automation and Management
Once you’ve set up a provider, source and connection you may want to automate your imports and syncs or manage your events.
Automation
You can schedule source imports and connection syncs to happen automatically using these site settings
update events automatically
update events automatically period mins
Note that you’ll need to restart your Discourse server if you change update events automatically period mins
.
Event Management
You can manage the events you’ve imported in the “Events” admin tab.
You can delete events you’ve imported, and also their associated topics from this tab.
You can also review the logs of provider authentication, source imports and connection syncs in the “Logs” tab.
Subscribing to iCalendar and RSS Feeds
The events plugin allows you to subscribe to the iCalendar feed of a whole forum (i.e. all the events across the forum), or the iCalendar feed of events in a category.
Steps
- Go to community.com/calendar (sitewide) or community.com/c/category/l/calendar (category)
- Click the “Subscribe” button on the top right.
- Click the iCalendar or RSS feed urls to copy them.
- Use the URL in any iCalendar or RSS client.
Private Calendars
If the calendar is private (because the site or category is private), you need an Webcal API key to subscribe to your forum’s iCalendar feed.
- To generate the key go to
my/preferences/webcal-keys
. - Click on
Generate
. Make a note of theclient id
and anapi key
generated. - Add the following to the end of the iCalendar URL:
&user_api_key=yourapikey&client_id=yourclientid
Technical Background
The Events Plugin applies a standard event data model for all providers. The model is the product of extensive research into event data portability and the current landscape of event providers
See further:
DEIP Technical Report (Phase 2).docx.pdf (119.2 KB)