Revisting this for Drupal 8
Much of the working underway for Drupal 8 makes a module like this one easier to implement because of:
- A new plugin system
- Proper namespaced code allows external libraries to be included with ease
- Google now provides a base php implementation of their APIs
- Nodes will be proper classes and therefore will be easier to override behaviors
All of these developments will allow the original vision of this module to be implemented. It's been awhile since I've worked on this maybe I should reiterate what that vision is:
I want to allow users to create an event/appointment/some kind of date based content on their Drupal site and have that event automatically sync with their Google Calendar. I want that user to create an event on their Google Calendar and have that event created on their Drupal site.
Understanding how to accomplish this has taken many forms. I've looked into
- Extending the Event module (remember that?)
- Implementing a Feed importer
- Implementing a client for the Service module
But I never really liked any of these options since I wanted to implement this logic as an action that is triggered whenever the node_save event occurs. With Drupal 8's EventDispatcher and Observer pattern. This will be easier to implement.
Previous description of project:
This project extends the Event module to implement Google's Calendar API. With the module you will be able to:
1. Add and event to a drupal site and a Google Calendar at the same time.
2. Synchronize events between a drupal site and a Google Calendar
3. Full control of events no matter if you primarily use Drupal's events or Google Calendar.
0.0 Establish module shell, enforce dependency, implement AuthSub
0.1 Import an event from a GCalendar into Drupal (using AuthSub)<--
0.2 Retrieve list of calendars, import events from selected calendar
0.3 Export event from drupal to a GCalendar
0.4 Sync events to and from Google Calendar
0.5 Release Dev Version, Collect Feedback
0.6 Polish Based on Feedback
0.7 Implement Batch Operations
0.8 Implement access to multiple calendars
0.9 Bug fix known bugs, last chance for feedback
1.0 Bug fix ready for release