Pitfalls
Google calendar: API key and public calendar
Google calendars are loaded directly from the browser of the visitor with the Google Calendar API v3. This needs
- A Google API key with the Google Calendar API enabled. Create a project in the Google Cloud Console, enable the API and create an API key. Restrict the key to the domains of your website (HTTP referrer restriction).
- A calendar shared as public (Make available to public, See all event details).
Warning
The API key is part of the JavaScript of the page and thus visible to everyone. Always restrict it to your domains.
No events or an empty calendar
- Check the browser console for errors of the feeds.
- A hidden feed record or a feed restricted to user groups is not loaded.
- If a category filter is selected, Google calendar and iCal feeds are only added if their first category is inside of the tree defined by categoryFilterRoot (all categories if empty). A feed without any category is not shown at all when a filter is used. Assign a category to every feed.
- For EXT:calendarize events check the selected storage pages (and the recursive level) and that the events are not hidden or in the past of the displayed range.
- The calendarize feed is requested with the page type
1738665709. It is defined by the Site Set or the static template. A site without it shows no calendarize events.
Calendar looks wrong
The calendar is rendered with the Bootstrap 5 theme of FullCalendar and the Bootstrap CSS has to be loaded by your site. Without it, buttons, modals and the filter are unstyled.
Static file cache
If you use a static file cache, clear it after you changed feed records, because the event sources are part of the generated HTML. Events of feeds are loaded by JavaScript at runtime and always up to date.