Dear Rahul,

thanks for this more detailed application. I think you've now added enough details so that your work plan is good and can be completed successfully within the GSoC timeframe. Also, your described new feature ("cloud synchronization with Google Docs by using the python gdata module") is really a fun and exciting new feature. You should use this as the topic of your overall application, because it sounds much more exciting than just the plan to work on python integration. In fact, this way you have an interesting user-visible feature in your application which can easily be implemented in its first (rough) versions, but can subsequently be refined through the rest of GSoC. In summary: The application is fine, and your "cloud synchronization" is a very good idea so that it should even be the topic of your application. I'm looking forward to seeing the application on the GSoC webpage.

Best Regards,

Christian


Zitat von Rahul Gaur <rahul....@gmail.com>:

Dear Christian,

 I am made a proposal  of how I plan to implement this importing and
exporting the data in GNU Cash , please take a glance and let me know your
views on this.

*Basic Information*

Student name:Rahul Gaur

Location: Meerut City , UP ,India,

Home Town :New Delhi ,India

  Email:rahul....@gmail.com

Instant messaging contact details (Skype or similar):iamaregee/iamaregee2 on
IRC (irc.ubuntu.com)

Phone : +91-8755426793

*Background/Programming Information:*

I am pursuing bachelors in engineering from CCS University Meerut(NCR) ,
India.My major is in Computer Science and this is my firstyear.I write
almost all of my code on Linux platform and I tend to develop strictly for
open source platforms.I have written codes in many different languages like
basic,Java,C++,html/css ,Python,C.The C language is being taught to us in
college as a part of engineering course and I am developing an autonomous
robo and my project involves intense level micro-controller programing in
embeded C .While at my own level I am experimenting with PyRo for controling
the robot.I have been successfully able to build GNUCash from source via SVN
.

*What project in GnuCash would you like to work on?*

I would Like to add a new import/export feature to GNU Cash with the help of
python module to main code base of the GnuCash.

  *What will be the result of your project :*

With the successfull implemention of this project,user of GNU Cash will be
able to upload/retrive the genrated reports or financial data or both to a
cloud service like Google Docs ,and access it any time and anywhere over
internet or download it to any computer running GNU Cash.This feature will
enable users to keep their financial data syncronised.



 *How do you propose to solve the problem(s) posed in the project you'd like
to work on?*

*Project Details: *

I've already familiarised my self with the working of GNU cash (v 2.4.4
SVNr20419).As the work is already in progress to add the python module to
Gnu Cash ,my first step will be to work on python module to make it fully
functional with the GNU Cash.This will be followed by adding support for use
of different python modules in GNU Cash so cloud sync feature can be added
to it.I've my University exams from 8th to 30th of May ,so during this
period I will be in touch with the GNUCash community through emails.During
the time before exams ,I hope to :

   -

   Get to know the mentor and other community members.
   -

   Going through Devloper Docs.
   -

   Brainstorm plans with the community.


 This whole system works as follows syncing data :

When user selects an option of exporting the data with online account,a csv
encoder is initiated and it encodes selected database file to csv format
,then user authenticates the service and upon successfull authentication
,local directories in his online account is accessed and user selects
desired location thus upload is initated.

While in retrival process,user goes through same authentication process,then
he selcts the given data to be downloaded,the given data is downloaded in
csv format ,then decoded and accesed by GNU Cash.User edits his data and he
can sync it back with his account again.

This feature is also applicable in exporting the reports genrated in GNU
Cash.Just in case user want's to upload the generated reports,a choice for
this will be available in exporting report option when a report is
genrated.Similarly an option for report retrival will also be present.

Once upload/download procedure is done ,user will be informed about it.

*Project time-line :*

*~~~~~~ *

Phase I ~ from May 31st to June 15th

~~~~~~

   -

   Initial step would be to work on already included python patch in order
   to make it fully functional with the main codebase of GNU Cash so new
   features can be implemented.
   -

   As I propose new cloud syncronise feature,I plan to implement it with the
   help of python scripts.I am already doing a rough proof of concept to see
   how things turn out.I have written couple of scripts with Gdata and have
been successfull in uploading the reports in html,plus spreadsheet database
   in csv formats to my google docs account.

    import gdata.docs.data

   import gdata.docs.client

   import gdata.docs.service

   import gdata.spreadsheet.service

   import getpass


   user = raw_input('Please enter your username: ')

   pw = getpass.getpass()

   source = 'gdata-v1'

   gd_client = gdata.docs.service.DocsService()

   gd_client.ClientLogin(user, pw, source=source)


   file_path = raw_input('Enter path to csv file: ')


   title = raw_input('Enter name of the spreadsheet: ')

   content_type = gdata.docs.service.SUPPORTED_FILETYPES['CSV']

   ms = gdata.MediaSource(file_path=file_path, content_type=content_type)


   entry = gd_client.Upload(ms, title)


 ~~~~~

Testing ~ from June 16th to 20th

~~~~~

   -

   I will be writing a very basic backend in python ,in order to test the
compatibility of my conceptual test codes to see how things turn out.I will test the patches I made in the python module.Testing the code in stable and unstable state ,to see if it handles the load properly without crashing.This
   will help me to lay out the road map for further development.

~~~~~

Phase II ~ from 21st of june to 14th of July

~~~~~

    -

   In this phase I will be fleshing out the code from proof of concept stage
to something which can handle actual load,and scaling it up and integrating
   it with main code base.
   -

   Major Components :~
   -

   A csv encoder decoder for processing the database to csv format and
   viceversa.
   -

   Primarily I will be using Google docs to sync data,as it offers lots of
   client library and apis for authentication and uploading/downloading.As
large number of people have Google accounts,so I thing it will be acceptable among the users of the GNUCash.Thou I don't wan't to limit it to one serivce
   ,so I carry on my work for including larger support even after Gsoc.
   -

   I will be using Google data python client library for exporting and
   importing database and reports with the google account.For this I will be
   using ClientLogin feature ,enabling user to authenticate there google
accounts.Then Google spreadsheets api for handling export and import of csv
   format data.
   -

   The two main part to solve the purpose of exporting and importing
   data.One would be a CSV encoder/decoder another will be a client Login and
   upload/download scripts.My scripts will enable authenticated user
   to manipulate the directories in there accounts, retrieve/export all there
   data of a similar type with bulk retrieval/export feature.
   -

   Another feature will be report retrieval/export feature.This will be
   achived by writing a dedicated html uploader and downloader.


~~~~~~

Testing  ~   from july 15th to july 22nd

~~~~~~

   -

   I will initially begin testing the code for bugs and authentication
   errors,fixing them.
   -

   This will be followed by testing new features of importing and exporting
   data and testing this feature on different machines running GNU Cash.

~~~~~~

Phase III ~ July 23rd to August 10th

~~~~~~

   -

   By this time I will be roughly half a way through july,I will begin
   writing pygtk (GUI) based widget for export and import feature.This will
   include account authentication,bulk export and retrieval features.
   -

   Testing and debugging the code.
   - This stage will be followed by writing documentations for the newly
   added features.

   - Initially I plan to wind up everything by 10th of august,I will spend
   Rest of the august prettying things up ,testing the new feature and fixing
   bugs,refining the documents.


   - I plan to keep the community updated of my progress via weekly blog
   post.
   - I would be in touch with my mentor with the help of emails and irc.
   - If you have any questions regarding, your are most welcome to contact
   me.










_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to