Summer of Code Idea for Eclipse (2010)

Posted by Iroshan at 11:51 PM on 09, Apr 2010

The Google Data Protocol let end users access and updates the data stored by many Google products. A number of Google products, such as Calendar, Blogger and Spreadsheets, provide APIs that are based on the Google Data Protocol. The developers can use these APIs to give end users new ways to access and manipulate the data they store in those Google products. The goal of this project is to develop a ECF provider for Google data protocol and create a new adapter for Google calendar API.

Google Data Protocol

Google Data protocol is a REST inspired technology for reading, writing information on the web. It’s based on the Atom 1.0, RSS 2.0 syndication formats and Atom Publishing Protocol. Google Data Protocol extends Atom publishing protocol for processing queries, authentication, and batch requests.

Google Data protocol provide external access for data and functionalities of many Google products .It enables access to data stored in Google servers through contexts other than web browsers. So Developers can write applications to access or update data stored in many Google products. Many services at Google provide external access to data and functionality through APIs that utilize the Google Data Protocol. Google Data API is based on Google data protocol.

Eclipse Communication Framework

Eclipse communication framework supporting communication based applications in eclipse platform. Currently there are several components to access different protocols and services.

This project is based on creating a protocol provider for Google data. It’ll enable access to different Google services through eclipse platform. Developers can write applications to access and use functionalities of different google services like calendar API, blogger API, spreadsheet API…etc using this protocol provider.

This project mainly has 3 components.

  1. Google Data Protocol Provider for ECF
  2. Google Calendar Adapter and Google Calendar UI Plug-in
  3. Google Data Project generation tool for Eclipse Platform

Google data protocol provider for ECF

There are number of Google service APIs available, developed on top of Google data protocol. When developing those as ECF adapters this will be the base provider for all of them. This will handle all the base services of Google Data protocol (like authentication) and provide base classes for all other Google service APIs.

Google Calendar Adapter and Google Calendar UI Plug-in

Google calendar is very useful service provided by Google. It’ll enable us to organize their events online and provide access from anywhere in the world. Google calendar adapter will bring advantages and functionalities of Google calendar service in to eclipse platform by using ECF architecture. UI plug-in will use Google calendar adapter and provide an interface to organize events through IDE or from RCP application.

Following services will be provided through this Adapter and UI plug-in

  • Retrieving calendar lists
  • Managing calendars (Create / Update / Delete calendars)
  • Retrieving events
  • Managing events (Create / Update / Delete events)
  • Reminders and Notifications ( Users can set up notifications via SMS, Email or IDE popup notification*)
  • Sharing calendars (Retrieve access control list / Adding user to ACL / Update user role / remove user from ACL)
  • Managing subscriptions to calendars (Add / Edit / Delete subscriptions)
  • Synchronization with online service either pre-defined time or after forced by user.

Google Data Project generation tool for Eclipse Platform

This tool will generate projects based on Google data APIs. Developers will be able to create Google data API projects based on a pre-defined template without writing code from the scratch. New Project creation wizard will provide choices to the developer to select which service to use and what are the operations needed to implement.

Note: With this project I’m going to develop only Google calendar adapter/ plug-in only. So there will be option only for creating projects using Google calendar provider API.

Resources going to use in the project

  • Google Data Java client library – The GData Java Client Library provides a library and source code that makes it easy to access data through Google Data APIs. This library provides access to set of Google service APIs. It’s distributed under Apache 2.0 license.
    http://code.google.com/p/gdata-java-client/
  • Eclipse Communications Framework – Latest release of the ECF ( version 3.2)
    http://www.eclipse.org/ecf/
  • Eclipse Plug-in Development Environment (PDE) – Plug-in development environment and PDE UI tools
    http://www.eclipse.org/pde/

Benefits to Eclipse Community

  • Develop applications that use Google data protocol.
  • Develop adapters for Google data APIs (e.g. Google calendar API).
  • Accesses to Google services and read / modify data stored in Google servers.
  • Use Google calendar’s data and functionalities in eclipse plug-ins or Eclipse RCP applications.
  • Eclipse UI plug-in to use Google calendar functionalities from the IDE. Manage events from Eclipse IDE.
  • Get notifications about the events from the Eclipse IDE.

Information Gathering for the Project

  • Referring to online media of Google Data Protocol. (Developer Guide, Protocol Reference, Java API documentation and other articles, blogs
  • Read online articles, blogs available for ECF.
  • Getting help from dev-mailing lists and mentor.
  • Looking into Code base of ECF as well as GData java client source.

Deliverables

  1. Google Data Protocol Provider for ECF
  2. ECF Container Adapter for Google Calendar
  3. Google Calendar UI plug-in based on above adapter
  4. Project / Code Generation plug-in for Google Data API

Comments are closed.