Synopsis
I will develop a base Google Apps API module for Drupal. This module will contain the core functionality to integrate with the Google Apps API. Further modules will be developed on top of this module to tie specific Drupal functionality into the Google Apps API.
Project
This project will center around 4 tasks. The first task will be to implement the base Google Apps API module. This module will not provide any user functionality, but will provide a centralized means to interact with the API. This design approach will keeps things clean while providing a platform for other developers.
The second task will be to implement a provisioning module. This module will use the base API module and tie the creation of Google Apps accounts to Drupal account creation. The provisioning module can be configured to create a GMail account for new users to satisfy Drupal's email address requirement for new accounts. The provisioning module should also be allowed to pull user information from the Google Apps API and create Drupal accounts. This will allow scenarios where Google Apps account creation is driven directly by LDAP.
The third task will be to implement a module to sync a user's Google Calendar to their Drupal calendar. User's will be able to add events in Drupal and see them in their Google Calendar. The opposite will also be true. This module should keep events as nodes to keep compatibility with existing Drupal calendaring modules.
Benefits
Google Apps provides a page creation tool. However, it only provides static content and is only available to the administrator. Linking Drupal to Google Apps will allow for a customizable CMS that is tightly coupled to other domains operations.
Success
- Create the modules described above. The base API module should expose the full Google Apps API while hiding the difficult stuff.
- The provisioning and calendaring modules should work with existing Drupal modules and methodology. It should ideally be transparent.
Roadmap
- Publish design goals to Drupal developer list. Feedback will be extremely important to the implementation of the provisioning and calendaring modules. (until mid-june)
- Implement features in order specified above. Base API and provisioning modules are essential. The calendaring module will require more work to guarantee compatibility with other modules (until early august)
- Testing of features and debugging. (until end of SoC)
Biography
I am a computer science student at
Humboldt State University, in California in the US. I started programming in Basic in DOS at the age of 5, taught myself C in Junior High, and taught myself C++ in High School. After high school, I attended Humboldt until I got picked up by a software firm in the Silicon Valley. After working as a software engineer for a few years, the poor US economy finally caught up with me. I've since returned to Humboldt to finish my degree.
Much of my work experience has involved web technologies. I've been programming PHP/LAMP for many years, and my SoC experience with Drupal last year taught me a lot. I believe that my work experience and strong develop skills will make me success in this project.