Managing calendar events is really tough - particularly with repeating events, rule exceptions, etc. Instead of managing this information directly in Drupal, this module provides a way to import Google Calendar events from a publicly available calendar into Drupal.
Once into Drupal, you can layer on additional fields, theming, access control, and all the other things that make Drupal Entities so excellent to work with.
Maintainers
Project creator @dtraft got the module to version 1.0, and @rivimey and @hanoii have pushed it onwards to a 2.0 release, bringing new features:
- A verbose configuration wizard for the Google API;
- List calendars visible from Google and enable auto-import of them;
- Some drush commands to call the Google API and display calendars and events, delete events for one or all calendars, and to do a google synchronize on just the calendar to avoid running cron on the whole site very frequently;
- Additional fields imported into the Calendar entity, and also timestamps for sync progress;
- Additional fields imported into the Event entity;
- A container-service and Interface to manage the google credential storage, with two options (managed, static file) - now in new module "google_secrets";
- Statistics collected and recorded in the logs, to simplify operation checks.
- Expose as config options the timespan covered by the calendar, disposition of old events, minimum intervals for resync, and more;
- Proper Incremental resync;
Roadmap
This is a much more complex module than I had expected, so it seems reasonable to set some goals.
8.x-2.n
Old Stable branch, changes only as required.
8.x-3.0 => 3.0
Current stable branch.
- Move to semantic versioning, support D9 fully.
- Change from google_secrets module to google_api_client module.
- Additional documentation and examples.
- Possibly, move the wizard into google_api_client, as that's it's natural home, remove here.
- Testing
Per-User / OAuth Calendars: 4.x branch
For those wondering about per-user google calendars, implementation means:
- some configuration elements will need to become config entities;
- the authentication setup must be in a config entity and that entity linked to by the calendar entities that use it;
- for OAuth accounts, an OAuth2 callback made available and configurable for display when needed. "google_client_api" can help with this;
- resync activity must be able to change auth method per calendar entity;
- there are probably several places where currently the auth method is implicit and it must become explicit;
- permissions checks need to be more carefully considered;
At least the google_api_client module includes OAuth support, though that is only a part of the battle.
As a result this is likely (if ever done) to be a version 4.x (or beyond) branch goal, and to be fair is is not likely to be started without help.
Project information
- Minimally maintained
Maintainers monitor issues, but fast responses are not guaranteed. - Maintenance fixes only
Considered feature-complete by its maintainers. - Module categories: Content Editing Experience, Import and Export, Site Structure
- 247 sites report using this module
- Created by dtraft on , updated
- Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.
Releases
Minor updates
Development version: 3.0.x-dev updated 18 Mar 2024 at 15:54 UTC
Minor update
Development version: 8.x-2.x-dev updated 18 Mar 2024 at 16:42 UTC