Matukio Events for Joomla - Google Calendar connection

Starting with Matukio 7.0.11 you can sync your events to an Google Calendar.

This feature requires Matukio 7.0.11 or later and the Matukio Google Calendar plugin to be installed.

Setup

After downloading and installing the calendar plugin (Outsourced because of the size), you need to create a new Google Service account at the Google Developer console.

Create a new Project, call it whatever you like (for example matukio), choose the right organization and location (depending on your organization)

After that go to Service Accounts (First symbol on the left side) and create a new one for the project by clicking on Create service account. Give the service account user the appropriate permissions (like project -> editor).

After this download / create the JSON key and download it. Open this file in an appropriate text editor and copy the whole content (including { .. }) into the Matukio Google Calendar plugin Auth config settings.

Next you have permit the service account to access (read / write / update etc.) the calendar you want the events to be pusblished. For that open the calendar (at https://calendar.google.com\) and open the settings for the calendar.

Under "Share your calendar with someone" you have to add the service account (use the email address, like [email protected]).

Last but not least set the calendar name in the Matukio plugin settings.

Published Dates / Events are transmitted once you save an event. (Or once a date has been unpublished, deleted or cancelled)

Initial Sync for existing dates

Published dates (don't forget to click on save after adding / editing a date) are stored to the Google calendar once you save the event. And removed from it once you delete / unpublish them.

Existing installations can use the one time initial sync function. For that navigate to the following URL (after you configured and published the plugin):

yoursite.com/administrator/index.php?option=com_matukio&task=google.sync

Depending on your number of events / dates this can take a while. Make sure your php max timeout setting is set high enough!