Report bugs | Sign in
Powered by Melange
Release 0-5-20091121

Student Name: Thibault Saunier
Mentor Name: Christian Kellner
Title: Nautilus: Add support to Google docs
Abstract: Permit gnome desktop users to handle their Google Documents without using the on-line Google applications.

Basically it means that gnome users will be able to handle their google docuent directly in nautilus file manager after connecting via its 'connect to server' feature.
Public info:

1  Description of the main goal

Permit nautilus users to access their Google Documents by clicking on the “file → connect to a server” menu. Then the connection window shows up and in the listBox the user can choose "Google docs" (the same way as "FTP_server", "windows share"...). Afterward, he has to fill in his Google account user-name and password. Then he can manage and edit his Google docs and folders the same way as if it was local documents/folders.

2 Benefits for the gnome desktop and its community

The goal of this project is particularly interesting for end users. I have personally been using Google docs since Google launched this service, but I can not use it for all the documents I produce since the current system of synchronization is very unergonomic. I think having this synchronization system as a basic and fully integrated feature of the gnome desktop can be considered as a great step for the convergence between desktops and Internet applications. Since popular Linux distributions such as Ubuntu are pointing out this convergence as being a main point of what the next generation users desktop should be, I think my project is very profitable for our preferred desktop!

3 Components I am going to hack on

First I will extend the libgdata library which is a C library to access gData APIs.

Then I have to write a GVFS backend wich  permit to handle goole documents (using libgdata).

Finaly, I will write some code in nautilus so users can use the new GVFS feature.

4 How do I plan to achieve completion of my project?

My schedule (may change):

~ 90 days

Until 23th of May

Dive into the GVFS source code and understand well how it works. Read about gData API and dive into the libgdata library.

 

12 Days

From 23rd of May

to 3rd of June

Think well my program and the functions and classes I have to write. For this I need to talk with my mentor and maybe with some community' members.

 

 

 

30 Days

 

 

From 3rd of June

to 3rd of July

Write the libgdata service for Google documents and test it. It means (I have to think the order of implementations first):

  • Implement a gdata_document_service class
  • Implement a gdata_document_document class which describes Google documents.
  • Implement a g_data_document_query class which permits to throw queries such as:
    • Get the list of documentsthe user can edit (or only his documents)
    • Update documents
    • Download documents (in odt or doc formats)
    • Upload new documents
  • Create a gdata_document_event class aiming to now about different events about the gdata_document service
  • Create a testing program as the calendar and youtube ones.

25 Days

From 3rd of July

to 28 of July

Write the GVFS Backend for Google documents and test it. It basically means write the GVfsBackendGoogleDocClass class.

7 Days

From 28th of July

to 5th of August

Write tests to certify the coherence of the written code.

5 Days

From 5th of August

to 10th of August

Hack on nautilus-connect-to-server feture to be able to connect to the Google documents. I also have to test it.

7 Days

From 10th of august

until “pencils down”

Test , debug and write documentations

 

4.9 Future evolutions

  • Synchronize Google Docs each time the user connects on the Internet.

  • Permit users to access their Google documents off-line as well as on-line.

  • Add the possibility to do the same thing with PicassaWeb pictures since it uses the same API and Google account.