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

  1. 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).
  2. A calendar shared as public (Make available to public, See all event details).

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.