Details on the module and Install Instructions
Details:
Files:
gdata.module: Main module file, the core of the gdata module. This module registers the menu /gdata/. This is the "root" path/URL for the module. Other modules who want to exchange data using the GData protocol have to use hook_gdata( ). Information on implementing this hook is given in gdata.module file. The file also reads all requests coming at /gdata/ and checks for the type of request (read, write, update, delete, search) and the module at which it should go (node, blog, etc. as registered using hook_gdata). Then it simply calls the needed module's _gdata() function so that the request can be handled by the intended module.
For incoming write operations gdata.module parses the incoming XML POSTed string into an array through the function _gdata_xml_request() which the other modules can use.
gdata_node.inc: This file is for data exchange for the node module. It has a function node_gdata() which is the implementation of hook_gdata(). This current implementation is only for syndication.
gdata_gdata.inc: This is an example to show how to implement the hook_gdata(). It implements read (syndication), write and delete. It uses the table myfeed.
mysql.sql: It creates a simple table which stores data required for the sample myfeed (implemented in gdata_gdata.inc)
info.php: I used this file to test the module . cURL is in the file and it exchanges data with Drupal as required by GData protocol. The code in this needs to be changed manually for doing different actions like read, write, update, delete, search.
Installation
Put gdata.module into a folder gdata in the modules folder. Also put the rest of gdata_.inc files to test.
For using the gdata_gdata.inc make sure you create the table myfeed using myfeed.sql
Visit the details of the protocol at http://code.google.com/apis/gdata/protocol.html
Please note: The core module is done as needed, but the rest of the modules still need to implement the hook_gdata() to exchange data using GData protocol. gdata_gdata.inc is the most complete example implementation.
Thank you all !!!
Happy gdata-ing !!! :)


Sorry for the delay
Sorry for the delay in putting up this post. I was stuck in some issues. But atlast we have a working module, though there is lot more that can be done to gdata.module. First being Google Authentication, which I will try doing in a day. (Though the module can work as good without Google Auth.)
The plugins for rest of the modules need to be done, though that isnt part of the core. I will first try to do with blog.module, then node.module. node.module right now can only syndicate with GData.
Also Drupal can ba made a GData client. Its another full fresh module, but I am up for the challenge.
GData opens up a wide new world and I want to make full use of this.
All comments and suggestions, bug testing are very welcome.
Thanks to Drupal team and community.
brainless,
Sumit Datta,
brainlessphp.blogspot.com
I'm having problems to make
I'm having problems to make it works in my 4.7.3 instalation, I will open an issue em drupal.org
cck addon
Excellent work!
CCK plugin would be great or any node type created.
Darly
myfeed.sql file and other issues re-explained :)
It seems there is a little confusion on what the myfeed.sql file is needed for ...
So here is the clarification:
myfeed.sql is not something needed for gdata.module but infact for testing the module with the the example function provided in gdata_gdata.inc file.
gdata_gdata.inc file explains the API and the working of gdata.module in code. :-)
gdata.module exposes an API which any other modules can use. So I thought I would be better if I explained the workings with an example. gdata_node.inc, gdata_gdata.inc ( with myfeed.sql ), gdata_blog.inc and info.php are all ONLY for testing of gdata.module ... They are themselves not required for the module itself to work.
The module itself exposes and API which other modules must implement to utilise GData. For that purpose I made the examples and I will continue working on them and fully implementing gdata_node.inc and gdata_blog.inc so that node and blog and take advantage of GData.
I think things are clear now. Also remember that the GData protocol needs HTTP DELETE and PUT methods in addition to normal GET and POST, to work. ( or they need to add an Override string in the header for data sent through POST ). all this mean some complexity during for testing and for clients... For this reason info.php exists : I had used that code to test my module by sending HTTP PUT or DELETE requests ( or using string override to HTTP POST ). So anyone wishing to test gdata.module may use my info.php.
All this means that handling the GData protocol becomes a bit tough... but that is how it was made by Google. There is now easy way out. So if you want to test the module, please keep the above in mind.
I will work on making a complete new module ( this is not related to my SoC project at all ) which will implement a GData client : YES a CLIENT which will make Drupal a full GData client and server ( which it already is through the current gdata.module ). GData has immense future and I want to make Drupal full-proof in this.
And I will look into CCK as suggested by coupet : i really dont know anything about it, and any help in this is appreciated. :-)
brainless,
Sumit Datta,
brainlessphp.blogspot.com
Extra files put into extras/
Hello,
To remove more confusion I have removed the extra ( non-core ) files for the gdata.module into "extras" directory. But when you want to test the functionalities with any of the gdata_*.inc files then just put them in the same folder as the gdata.module in you Drupal modules/gdata directory.
Happy Testing !!!
brainless,
Sumit Datta,
brainlessphp.blogspot.com