You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by AAMIR KHAN <ak...@gmail.com> on 2011/04/07 21:08:11 UTC
Design and Implement Mailbox in James using NoSQL databases
I am interested in design and implementation of mailbox using CouchDB. I
would like to know the rough proposal that i should follow to implement it.
I have read about CouchDB that it is very efficient in file storage.
Thanks,
Aamir Khan
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by Eric Charles <er...@apache.org>.
google melange gives me
This proposal is not made public, and you are not the student who
submitted the proposal, nor are you a mentor for the organization it was
submitted to.
Can you please check?
Tks,
- Eric
On 8/04/2011 18:35, AAMIR KHAN wrote:
> I already applied to google-melange Eric...
>
> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005
> <http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005>
>
> On Fri, Apr 8, 2011 at 9:23 AM, Eric Charles<er...@apache.org> wrote:
>
>> Also, ping us on this mailing list when you will have applied on
>> google-melange so we can review it.
>> Tks,
>> - Eric
>>
>>
>> On 8/04/2011 05:26, Eric Charles wrote:
>>
>>> Hi,
>>>
>>> The idea of RESTful is to let communicate a client system with a server
>>> system via HTTP, transfering request parameters as http_request_params,
>>> getting response ax structured document (xml or json) in the
>>> http_response_body.
>>>
>>> You can read more on
>>> http://en.wikipedia.org/wiki/Representational_State_Transfer
>>>
>>> Couchdb has such an API (http://wiki.apache.org/couchdb/HTTP_Document_API
>>> )
>>>
>>> It seems you are good at sprint :) (you are just in time for the
>>> deadline).
>>>
>>> You could outline in your application that event if the first
>>> implementation will be for couchdb, the RESTful "framework" will be
>>> designed to support other datastores. Therefor, 1 week design before the
>>> 8 weeks (becoming 7 weeks) would be good.
>>>
>>> Hopes this help.
>>> (Don't wait to register and inject this on google melange, you can
>>> always update it after).
>>>
>>> - Tks,
>>> Eric
>>>
>>>
>>> On 8/04/2011 00:49, AAMIR KHAN wrote:
>>>
>>>> I would like to have valuable suggestions over my proposal..
>>>>
>>>> On Fri, Apr 8, 2011 at 4:18 AM, AAMIR KHAN<ak...@gmail.com> wrote:
>>>>
>>>> *
>>>>> Proposal Title: Design and Implement Mailbox with CouchDB storage.
>>>>>
>>>>> Student Name: Aamir Khan
>>>>>
>>>>> Student E-mail: ak4u2009@gmail.com
>>>>>
>>>>> Organization/Project: James Mailbox Apache Software Foundation
>>>>>
>>>>> Assigned Mentor: Robert Burrell Donkin (rdonkin@apache.org )
>>>>>
>>>>> Proposal Abstract:
>>>>> CouchDB is non-relational, semi-structured database having great
>>>>> potential
>>>>> for mail storage. My project is to design and implement mail storage in
>>>>> James Mailbox using CouchDB. RESTful integration API will also be done.
>>>>>
>>>>> Detailed Description:
>>>>>
>>>>> Why?
>>>>>
>>>>> lets consider a example Mail:
>>>>>
>>>>> “From” : “ak4u2009@gmail.com”
>>>>> “To” : “server-dev@james.apache.org”
>>>>> “Subject” : “Implementation of CoucheDB”
>>>>> “Body” : “Implementation Proposal”
>>>>>
>>>>> All the messages like the one stated above will be stored as a flat
>>>>> collection in CouchDB. Since the mail contents are generally semi
>>>>> structured
>>>>> thats why CouchDB is most preferable database for the same.
>>>>>
>>>>> Distributivity:
>>>>>
>>>>> Since CouchDB is a distributed system. We can have multiple independent
>>>>> copies of mails to different servers (faster performance) and
>>>>> whenever we
>>>>> want we can redistribute changes bidirectionally.It is also helpful
>>>>> if one
>>>>> of the mail server fails then other backup servers can fulfill the
>>>>> requests.
>>>>>
>>>>> How?
>>>>>
>>>>> Road Map
>>>>>
>>>>> 0) Code Familiarity : Already started and going.
>>>>> 1) Programming : 8 Weeks
>>>>> 2) Review and Testing : 1 week
>>>>> 3) Bug Fixing Time : 1 week
>>>>> 4) Documentation : 1 week
>>>>> 5) Buffer Time for any unpredicted delay and Second phase of testing : 1
>>>>> week
>>>>>
>>>>> Deliverable& Project Schedule
>>>>>
>>>>> April 25-May 23(Community Bonding Period) :
>>>>> I would be in constant touch with my mentor and james mailbox
>>>>> community as a whole. I would discuss further about the project with my
>>>>> mentor and keep posting about implementation plans over the main
>>>>> server-dev@james.apache.org mailing list. Finalise the design for
>>>>> implementation of CouchDB after discussion with whole community.
>>>>>
>>>>> May 24 - 20 June :
>>>>>
>>>>> Implement the finalised plan for Couch DB.
>>>>>
>>>>> June 21 - June 28 :
>>>>>
>>>>> Test and debug implementation of CouchDB with regressive test.
>>>>>
>>>>> July 1 - July 10 :
>>>>>
>>>>> -Implement RESTful integration API for Retrieving mail.
>>>>> -Test and debug implementation of Retrieving mail API.
>>>>>
>>>>> July 11 - July 20 :
>>>>>
>>>>> -Implement RESTful integration API for Sending mail.
>>>>> -Test and debug implementation of Sending mail API.
>>>>>
>>>>> July 21 - July 30 :
>>>>>
>>>>> -Implement RESTful integration API for Deleting mail.
>>>>> -Test and debug implementation of Deleting mail API.
>>>>>
>>>>> August 1-August 15 (Buffer Time):
>>>>>
>>>>> Second phase of testing: Testing of debugged code.
>>>>>
>>>>> August 15-August 22:
>>>>>
>>>>> -Work on Documentation.
>>>>>
>>>>> -Finally discuss the project with mentors.
>>>>>
>>>>> -Debugging the bugs (if any reported by Mentor)
>>>>>
>>>>> -Improve the Documentation, Release.
>>>>>
>>>>> August 22 - August 26 :
>>>>>
>>>>> -Final Evaluation Submission
>>>>>
>>>>>
>>>>> Available Time
>>>>> I am committed to giving at least 40-50 hours per week to GSOC. Since
>>>>> I am
>>>>> not doing anything this summer, I believe that the time devoted to
>>>>> GSOC will
>>>>> be much more than that, for sure. I have excellent work ethics, and a
>>>>> goal
>>>>> oriented guy.
>>>>>
>>>>>
>>>>> Additional Information:
>>>>>
>>>>> Bio
>>>>> I am 19 years old. I live in India.Studying at one of the most premier
>>>>> institute in India namely Indian Institute of Technology
>>>>> Roorkee<http://www.iitr.ac.in/>pursuing my Bachelor of Technology
>>>>> Computer Science& Engineering.I have
>>>>> took courses like Computer programming in C++ at school and college
>>>>> levels.I
>>>>> have started serious problem solving around two months back.I have also
>>>>> worked in PHP as mentioned in experiences.I have got prizes in various
>>>>> website designing competitions at school& college levels.
>>>>>
>>>>> I like to contribute in open source communities because it gives me
>>>>> experience,technical expertise and it teaches spirit of team work.
>>>>> And its
>>>>> my time to give back to community from which i gained a lot of
>>>>> experience
>>>>> and motivation.
>>>>>
>>>>> You can have a look over my
>>>>> Resume<
>>>>> https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Experiences
>>>>>
>>>>> Skills:
>>>>> -Working Knowledge of GIT
>>>>> -1 year experience in web development using
>>>>> PHP,HTML,JavaScript,Postgres,MySQL
>>>>> -Have knowledge of Design Patterns
>>>>> -Working Knowledge of PHP
>>>>>
>>>>> I, as a part of team manages institutes website www.iitr.ac.in
>>>>> We have setup a intranet portal (totally managed by students) inside
>>>>> campus
>>>>> of IIT Rookee which has around 80 applications (mostly in PHP) hosted on
>>>>> it.I have created Ebooks sharing portal within the intranet.I have
>>>>> very good
>>>>> experience in web designing (e.g, I have created website during last
>>>>> year
>>>>> summer internship www.raysconsultants.com ).
>>>>>
>>>>> Open Source contributions
>>>>> I have submitted following patches in PhpMyAdmin :
>>>>> 1)XML export of
>>>>> views<
>>>>> https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410
>>>>>>
>>>>>
>>>>> 2)XML Plugin for database
>>>>> Export<
>>>>> https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410
>>>>>>
>>>>>
>>>>> 3)Left Frame not
>>>>> updated<
>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>>
>>>>>
>>>>>
>>>>> <
>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>>
>>>>>
>>>>> Thanks
>>>>> Aamir Khan
>>>>> *
>>>>>
>>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-dev-help@james.apache.org
>>
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by Eric Charles <er...@apache.org>.
On 13/04/2011 13:50, AAMIR KHAN wrote:
> RESTful integration API
> <http://wiki.apache.org/couchdb/HTTP_Document_API>for Retrieving,Sending and
> Deleting mails will also be done. The APIs should be designed so as to offer
> abstraction of mail storage from RESTful APIs.
Not for sending (well retrieving, deleting)
> The Project is to be implemented in two phases (layers) :
> 1) Implementation of CouchDB using Java impl
> 2) Design of RESTful integration
> API<http://wiki.apache.org/couchdb/HTTP_Document_API>and
> implementation for as many targets as i can
2) before 1) :)
> As suggested by Norman i think this project could be very helpful in
> development process. http://code.google.com/p/ektorp/
>
> Detailed Description:
>
> Why?
>
> Lets consider a example Mail:
>
> “From” : “ak4u2009@gmail.com”
> “To” : “server-dev@james.apache.org”
> “Subject” : “Implementation of CoucheDB”
> “Body” : “Implementation Proposal”
>
> All the messages like the one stated above will be stored as a flat
> collection in CouchDB. Since the mail contents are generally semi structured
> thats why CouchDB is most preferable database for the same.
>
> Then various RESTful APIs can be used to access mail storage.
> e.g.) GET /database_name/mail_id HTTP/1.0
> POST /database_name/ HTTP/1.0
> DELETE /database_name/mail_id?revid=current_version HTTP/1.0
>
> Distributivity:
>
> Since CouchDB is a distributed system. We can have multiple independent
> copies of mails to different servers (faster performance) and whenever we
> want we can redistribute changes bidirectionally.It is also helpful if one
> of the mail server fails then other backup servers can fulfill the requests.
>
> How?
>
> Road Map
>
> 0) Code Familiarity : Already started and going.
> 1) Design : 1 week
> 2) Programming : 7 Weeks
> 3) Review and Testing : 1 week
> 4) Bug Fixing Time : 1 week
> 5) Documentation : 1 week
> 6) Buffer Time for any unpredicted delay and Second phase of testing : 1
> week
>
> Deliverable& Project Schedule
>
> April 25-May 23(Community Bonding Period) :
> I would be in constant touch with my mentor and james mailbox
> community as a whole. I would discuss further about the project with my
> mentor and keep posting about implementation plans over the main
> server-dev@james.apache.org mailing list. Discuss the design for
> implementation of CouchDB after discussion with whole community.
>
> May 24 - May 31 : Finalise the design for implementation of CouchDB after
> discussion with whole community.
>
> June 1 - 20 June :
>
> Implement the finalised plan for Couch DB. This would be done by
> implementing Java impl classes for Couch DB.
>
> June 21 - June 28 :
>
> Test and debug implementation of Couch DB with regressive test.
>
> July 1 - July 10 :
>
> -Implement RESTful integration API for Retrieving mail. This should be
> performed using GET operation at the document’s URL.
>
> -This will implement : GET /database_name/mail_id HTTP/1.0 . Here mail_id
> will be used to identify a particular unique Email Content.
> -Test and debug implementation of Retrieving mail API.
>
> July 11 - July 20 :
>
> -Implement RESTful integration API for Sending mail. This should be done
> using POST operation of HTTP_Document_API.
>
> -This will implement : POST /database_name/ HTTP/1.0 .
> -Test and debug implementation of Sending mail API.
>
> July 21 - July 30 :
>
> -Implement RESTful integration API for Deleting mail. This should be done
> using DELETE operation of HTTP_Document_API.
>
> -This will implement : DELETE /database_name/mail_id?revid=current_version
> HTTP/1.0 . Here mail_id will be used to identify a particular unique Email
> Content.
> -Test and debug implementation of Deleting mail API.
>
> The time line specified above is somewhat adjustable. If i can complete the
> above mentioned integrations before time, I would proceed with the following
> API’s integration in order:
>
> -Inline Attachments
> -Multiple Attachments
> -Stand Alone Attachments
> -ETags/Caching
>
> August 1-August 15 (Buffer Time):
>
> Second phase of testing: Testing of debugged code.
>
> August 15-August 22:
>
> -Work on Documentation.
>
> -Finally discuss the project with mentors.
>
> -Debugging the bugs (if any reported by Mentor)
>
> -Improve the Documentation, Release.
>
> August 22 - August 26 :
>
> -Final Evaluation Submission
>
>
> Available Time
> I am committed to giving at least 40-50 hours per week to GSOC. Since I am
> not doing anything this summer, I believe that the time devoted to GSOC will
> be much more than that, for sure. I have excellent work ethics, and a goal
> oriented guy.
>
>
> Additional Information:
>
> Bio
> I am 19 years old. I live in India.Studying at one of the most premier
> institute in India namely Indian Institute of Technology
> Roorkee<http://www.iitr.ac.in/>pursuing my Bachelor of Technology
> Computer Science& Engineering.I have
> took courses like Computer programming in C++ at school and college levels.I
> have started serious problem solving around two months back.I have also
> worked in PHP as mentioned in experiences.I have got prizes in various
> website designing competitions at school& college levels.
>
> I like to contribute in open source communities because it gives me
> experience,technical expertise and it teaches spirit of team work. And its
> my time to give back to community from which i gained a lot of experience
> and motivation.
>
> You can have a look over my
> Resume<https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC>
> <https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC>
> <https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC>
> Experiences
>
> Skills:
> -Working Knowledge of GIT
> -1 year experience in web development using
> PHP,HTML,JavaScript,Postgres,MySQL
> -Java
> -Currently developing Chat Client into the Intranet Portal of institute
> using ejabberd. Also trying to learn Erlang for the same.
> -C++
> -Problem Solving Skills,developed by practicing over websites like SPOJ,UVA
> etc.
> -Have knowledge of Design Patterns
> -Working Knowledge of PHP
>
> I, as a part of team manages institutes website www.iitr.ac.in.We have setup
> a intranet portal (totally managed by students) inside campus of IIT Rookee
> which has around 80 applications (mostly in PHP& Java) hosted on it.I have
> created Ebooks sharing portal within the intranet.I have very good
> experience in web designing (e.g, I have created website during last year
> summer internship www.raysconsultants.com ).Java applications are built
> using Struts MVC framework for Java.
>
> Open Source contributions
> I have submitted following patches in PhpMyAdmin :
> 1)XML export of
> views<https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410>
> 2)XML Plugin for database
> Export<https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410>
> 3)Left Frame not
> updated<https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410>
> <https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by AAMIR KHAN <ak...@gmail.com>.
Proposal Title:
Design and Implement Mailbox with CouchDB
storage.<https://issues.apache.org/jira/browse/MAILBOX-45>
Student Name:
Aamir Khan
Student E-mail:
ak4u2009@gmail.com
Organization/Project:
James Mailbox Apache Software Foundation
Assigned Mentor:
Robert Burrell Donkin (rdonkin@apache.org )
Proposal Abstract:
Since most of the mail contents are semi-structured in nature.CouchDB is
non-relational, semi-structured database having great potential for mail
storage. Main beneficial characteristics include consistency,simple APIs and
high scalability. My project is to design and implement mail storage in
James Mailbox using CouchDB on the same level as JPA(Java Persistence API)
and JCR(Java Content Repository). RESTful integration API
<http://wiki.apache.org/couchdb/HTTP_Document_API>for Retrieving,Sending and
Deleting mails will also be done. The APIs should be designed so as to offer
abstraction of mail storage from RESTful APIs.
The Project is to be implemented in two phases (layers) :
1) Implementation of CouchDB using Java impl
2) Design of RESTful integration
API<http://wiki.apache.org/couchdb/HTTP_Document_API>and
implementation for as many targets as i can
As suggested by Norman i think this project could be very helpful in
development process. http://code.google.com/p/ektorp/
Detailed Description:
Why?
Lets consider a example Mail:
“From” : “ak4u2009@gmail.com”
“To” : “server-dev@james.apache.org”
“Subject” : “Implementation of CoucheDB”
“Body” : “Implementation Proposal”
All the messages like the one stated above will be stored as a flat
collection in CouchDB. Since the mail contents are generally semi structured
thats why CouchDB is most preferable database for the same.
Then various RESTful APIs can be used to access mail storage.
e.g.) GET /database_name/mail_id HTTP/1.0
POST /database_name/ HTTP/1.0
DELETE /database_name/mail_id?revid=current_version HTTP/1.0
Distributivity:
Since CouchDB is a distributed system. We can have multiple independent
copies of mails to different servers (faster performance) and whenever we
want we can redistribute changes bidirectionally.It is also helpful if one
of the mail server fails then other backup servers can fulfill the requests.
How?
Road Map
0) Code Familiarity : Already started and going.
1) Design : 1 week
2) Programming : 7 Weeks
3) Review and Testing : 1 week
4) Bug Fixing Time : 1 week
5) Documentation : 1 week
6) Buffer Time for any unpredicted delay and Second phase of testing : 1
week
Deliverable & Project Schedule
April 25-May 23(Community Bonding Period) :
I would be in constant touch with my mentor and james mailbox
community as a whole. I would discuss further about the project with my
mentor and keep posting about implementation plans over the main
server-dev@james.apache.org mailing list. Discuss the design for
implementation of CouchDB after discussion with whole community.
May 24 - May 31 : Finalise the design for implementation of CouchDB after
discussion with whole community.
June 1 - 20 June :
Implement the finalised plan for Couch DB. This would be done by
implementing Java impl classes for Couch DB.
June 21 - June 28 :
Test and debug implementation of Couch DB with regressive test.
July 1 - July 10 :
-Implement RESTful integration API for Retrieving mail. This should be
performed using GET operation at the document’s URL.
-This will implement : GET /database_name/mail_id HTTP/1.0 . Here mail_id
will be used to identify a particular unique Email Content.
-Test and debug implementation of Retrieving mail API.
July 11 - July 20 :
-Implement RESTful integration API for Sending mail. This should be done
using POST operation of HTTP_Document_API.
-This will implement : POST /database_name/ HTTP/1.0 .
-Test and debug implementation of Sending mail API.
July 21 - July 30 :
-Implement RESTful integration API for Deleting mail. This should be done
using DELETE operation of HTTP_Document_API.
-This will implement : DELETE /database_name/mail_id?revid=current_version
HTTP/1.0 . Here mail_id will be used to identify a particular unique Email
Content.
-Test and debug implementation of Deleting mail API.
The time line specified above is somewhat adjustable. If i can complete the
above mentioned integrations before time, I would proceed with the following
API’s integration in order:
-Inline Attachments
-Multiple Attachments
-Stand Alone Attachments
-ETags/Caching
August 1-August 15 (Buffer Time):
Second phase of testing: Testing of debugged code.
August 15-August 22:
-Work on Documentation.
-Finally discuss the project with mentors.
-Debugging the bugs (if any reported by Mentor)
-Improve the Documentation, Release.
August 22 - August 26 :
-Final Evaluation Submission
Available Time
I am committed to giving at least 40-50 hours per week to GSOC. Since I am
not doing anything this summer, I believe that the time devoted to GSOC will
be much more than that, for sure. I have excellent work ethics, and a goal
oriented guy.
Additional Information:
Bio
I am 19 years old. I live in India.Studying at one of the most premier
institute in India namely Indian Institute of Technology
Roorkee<http://www.iitr.ac.in/>pursuing my Bachelor of Technology
Computer Science & Engineering.I have
took courses like Computer programming in C++ at school and college levels.I
have started serious problem solving around two months back.I have also
worked in PHP as mentioned in experiences.I have got prizes in various
website designing competitions at school & college levels.
I like to contribute in open source communities because it gives me
experience,technical expertise and it teaches spirit of team work. And its
my time to give back to community from which i gained a lot of experience
and motivation.
You can have a look over my
Resume<https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC>
<https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC>
<https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC>
Experiences
Skills:
-Working Knowledge of GIT
-1 year experience in web development using
PHP,HTML,JavaScript,Postgres,MySQL
-Java
-Currently developing Chat Client into the Intranet Portal of institute
using ejabberd. Also trying to learn Erlang for the same.
-C++
-Problem Solving Skills,developed by practicing over websites like SPOJ,UVA
etc.
-Have knowledge of Design Patterns
-Working Knowledge of PHP
I, as a part of team manages institutes website www.iitr.ac.in.We have setup
a intranet portal (totally managed by students) inside campus of IIT Rookee
which has around 80 applications (mostly in PHP & Java) hosted on it.I have
created Ebooks sharing portal within the intranet.I have very good
experience in web designing (e.g, I have created website during last year
summer internship www.raysconsultants.com ).Java applications are built
using Struts MVC framework for Java.
Open Source contributions
I have submitted following patches in PhpMyAdmin :
1)XML export of
views<https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410>
2)XML Plugin for database
Export<https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410>
3)Left Frame not
updated<https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410>
<https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410>
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by Eric Charles <er...@apache.org>.
On 12/04/2011 22:21, AAMIR KHAN wrote:
> I have started following books over Beginning
> CouchDB<http://www.amazon.com/Beginning-CouchDB-Joe-Lennon/dp/1430272376>
> and
> i am trying to design the database implementation for mail storage.
>
Don't forget to look at james mailbox also (http://james.apache.org/mailbox)
> First of all i want to get your feedbacks over my
> proposal<http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005>due
> to two reasons:
> 1) Have i understood the project completely and made proposal relevant to
> it?
See my comments on google melange
> 2) Do you think that deliverables are up to the mark for 12 weeks work. But
> i have written according to what i felt at that time and also quoted that if
> i get extra time i will implement other API implementations as well.
>
>
> For designing database for mail storage, I have installed CouchDB on my
> localhost and trying to tweak with it. I would like to ask how the email
> messages are stored in any database, may be relational or non-relational
> (the procedure of storing messages).
>
> In my opinion it should be something like this : Whenever JAMES MAILBOX
> receives a message it will invoke some function like SAVE_MESSAGE which in
> turn will invoke the PUT/POST CouchDB API to put the message into the
> database. And whenever it wants to retrieve the message it would call some
> function like GET_MESSAGE which in turn will invoke the GET CouchDB API to
> get the message out of server.
>
> Correct me if i am wrong.
>
It's a bit more complicated and easier at the same time :)
There is already some job done by mailbox, you need to develop a new
impl in that framework
> I am starting with the simple one CouchDB database and try to tweak and test
> its different APIs in the mean time. If we save mails in only one database
> then to search for lets say messages addressed to "XYZ@gmail.com" we will
> have to traverse all the mails and check for "to:" tags. May be it is not
> very efficient method to store the mails, but that was my initial thought.
>
> Any thoughts?
>
same comment here: all starts at james mailbox :)
> On Wed, Apr 13, 2011 at 12:00 AM, AAMIR KHAN<ak...@gmail.com> wrote:
>
>> Hi Eric,
>>
>> I would like to have your comments over my proposal.
>>
>>
>> On Sat, Apr 9, 2011 at 10:00 AM, Eric Charles<er...@apache.org> wrote:
>>
>>> Hi Aamir,
>>>
>>> The error message came probably from google closing the applications.
>>> http://twitter.com/#!/gsoc/status/56431319927889921
>>>
>>> I now have access again to your application an have request mentorship.
>>>
>>> Good luck :)
>>>
>>> - Eric
>>>
>>>
>>> On 8/04/2011 20:56, AAMIR KHAN wrote:
>>>
>>>> the proposal i sent to google-melange is the same as posted over mailing
>>>> list.
>>>> Maybe you can comment it over here.
>>>>
>>>>
>>>> On Sat, Apr 9, 2011 at 12:15 AM, Eric Charles<er...@apache.org> wrote:
>>>>
>>>>
>>>>>
>>>>>
>>>>> Hi Aamir,
>>>>> That's good.
>>>>> Once I will get access to your application on google melange, I will ask
>>>>> for mentorship.
>>>>> Tks,
>>>>> Eric
>>>>>
>>>>>
>>>>> On 8/04/2011 19:42, AAMIR KHAN wrote:
>>>>>
>>>>> Revised Proposal :
>>>>>>
>>>>>>
>>>>>> Proposal Title:
>>>>>> Design and Implement Mailbox with CouchDB mail storage.
>>>>>>
>>>>>> Student Name:
>>>>>> Aamir Khan
>>>>>>
>>>>>> Student E-mail:
>>>>>> ak4u2009@gmail.com
>>>>>>
>>>>>> Organization/Project:
>>>>>> James Mailbox Apache Software Foundation
>>>>>>
>>>>>> Assigned Mentor:
>>>>>> Robert Burrell Donkin (rdonkin@apache.org )
>>>>>>
>>>>>> Proposal Abstract:
>>>>>> Since most of the mail contents are semi-structured in nature.CouchDB
>>>>>> is
>>>>>> non-relational, semi-structured database having great potential for
>>>>>> mail
>>>>>> storage. My project is to design and implement mail storage in James
>>>>>> Mailbox
>>>>>> using CouchDB. RESTful integration API for Retrieving,Sending and
>>>>>> Deleting
>>>>>> mails will also be done.
>>>>>>
>>>>>> Detailed Description:
>>>>>>
>>>>>> Why?
>>>>>>
>>>>>> lets consider a example Mail:
>>>>>>
>>>>>> “From” : “ak4u2009@gmail.com”
>>>>>> “To” : “server-dev@james.apache.org”
>>>>>> “Subject” : “Implementation of CoucheDB”
>>>>>> “Body” : “Implementation Proposal”
>>>>>>
>>>>>> All the messages like the one stated above will be stored as a flat
>>>>>> collection in CouchDB. Since the mail contents are generally semi
>>>>>> structured
>>>>>> thats why CouchDB is most preferable database for the same.
>>>>>>
>>>>>> Distributivity:
>>>>>>
>>>>>> Since CouchDB is a distributed system. We can have multiple independent
>>>>>> copies of mails to different servers (faster performance) and whenever
>>>>>> we
>>>>>> want we can redistribute changes bidirectionally.It is also helpful if
>>>>>> one
>>>>>> of the mail server fails then other backup servers can fulfill the
>>>>>> requests.
>>>>>>
>>>>>> How?
>>>>>>
>>>>>> Road Map
>>>>>>
>>>>>> 0) Code Familiarity : Already started and going.
>>>>>> 1) Design : 1 week
>>>>>> 2) Programming : 7 Weeks
>>>>>> 3) Review and Testing : 1 week
>>>>>> 4) Bug Fixing Time : 1 week
>>>>>> 5) Documentation : 1 week
>>>>>> 6) Buffer Time for any unpredicted delay and Second phase of testing :
>>>>>> 1
>>>>>> week
>>>>>>
>>>>>> Deliverable& Project Schedule
>>>>>>
>>>>>> April 25-May 23(Community Bonding Period) :
>>>>>> I would be in constant touch with my mentor and james
>>>>>> mailbox
>>>>>> community as a whole. I would discuss further about the project with my
>>>>>> mentor and keep posting about implementation plans over the main
>>>>>> server-dev@james.apache.org mailing list. Discuss the design for
>>>>>> implementation of CouchDB after discussion with whole community.
>>>>>>
>>>>>> May 24 - May 31 : Finalise the design for implementation of CouchDB
>>>>>> after
>>>>>> discussion with whole community.
>>>>>>
>>>>>> June 1 - 20 June :
>>>>>>
>>>>>> Implement the finalised plan for Couch DB.
>>>>>>
>>>>>> June 21 - June 28 :
>>>>>>
>>>>>> Test and debug implementation of CouchDB with regressive test.
>>>>>>
>>>>>> July 1 - July 10 :
>>>>>>
>>>>>> -Implement RESTful integration API for Retrieving mail. This should be
>>>>>> performed using GET operation at the document’s URL.
>>>>>>
>>>>>> -This will implement : GET /database_name/mail_id HTTP/1.0 . Here
>>>>>> mail_id
>>>>>> will be used to identify a particular unique Email Content.
>>>>>> -Test and debug implementation of Retrieving mail API.
>>>>>>
>>>>>> July 11 - July 20 :
>>>>>>
>>>>>> -Implement RESTful integration API for Sending mail. This should be
>>>>>> done
>>>>>> using POST operation of HTTP_Document_API.
>>>>>>
>>>>>> -This will implement : POST /database_name/ HTTP/1.0 .
>>>>>> -Test and debug implementation of Sending mail API.
>>>>>>
>>>>>> July 21 - July 30 :
>>>>>>
>>>>>> -Implement RESTful integration API for Deleting mail. This should be
>>>>>> done
>>>>>> using DELETE operation of HTTP_Document_API.
>>>>>>
>>>>>> -This will implement : DELETE
>>>>>> /database_name/mail_id?revid=current_version
>>>>>> HTTP/1.0 . Here mail_id will be used to identify a particular unique
>>>>>> Email
>>>>>> Content.
>>>>>> -Test and debug implementation of Deleting mail API.
>>>>>>
>>>>>> The time line specified above is somewhat adjustable. If i can
>>>>>> comeplete
>>>>>> the
>>>>>> above mentioned integrations before time, I would proceed with the
>>>>>> following
>>>>>> API’s integration in order:
>>>>>>
>>>>>> -Inline Attachments
>>>>>> -Multiple Attachments
>>>>>> -Stand Alone Attachments
>>>>>> -ETags/Caching
>>>>>>
>>>>>> August 1-August 15 (Buffer Time):
>>>>>>
>>>>>> Second phase of testing: Testing of debugged code.
>>>>>>
>>>>>> August 15-August 22:
>>>>>>
>>>>>> -Work on Documentation.
>>>>>>
>>>>>> -Finally discuss the project with mentors.
>>>>>>
>>>>>> -Debugging the bugs (if any reported by Mentor)
>>>>>>
>>>>>> -Improve the Documentation, Release.
>>>>>>
>>>>>> August 22 - August 26 :
>>>>>>
>>>>>> -Final Evaluation Submission
>>>>>>
>>>>>>
>>>>>> Available Time
>>>>>> I am committed to giving at least 40-50 hours per week to GSOC. Since I
>>>>>> am
>>>>>> not doing anything this summer, I believe that the time devoted to GSOC
>>>>>> will
>>>>>> be much more than that, for sure. I have excellent work ethics, and a
>>>>>> goal
>>>>>> oriented guy.
>>>>>>
>>>>>>
>>>>>> Additional Information:
>>>>>>
>>>>>> Bio
>>>>>> I am 19 years old. I live in India.Studying at one of the most premier
>>>>>> institute in India namely Indian Institute of Technology
>>>>>> Roorkee<http://www.iitr.ac.in>pursuing my Bachelor of Technology
>>>>>>
>>>>>> Computer Science& Engineering.I have
>>>>>> took courses like Computer programming in C++ at school and college
>>>>>> levels.I
>>>>>> have started serious problem solving around two months back.I have also
>>>>>> worked in PHP as mentioned in experiences.I have got prizes in various
>>>>>> website designing competitions at school& college levels.
>>>>>>
>>>>>> I like to contribute in open source communities because it gives me
>>>>>> experience,technical expertise and it teaches spirit of team work. And
>>>>>> its
>>>>>> my time to give back to community from which i gained a lot of
>>>>>> experience
>>>>>> and motivation.
>>>>>>
>>>>>> You can have a look over
>>>>>> myResume<
>>>>>>
>>>>>> https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> Experiences
>>>>>>
>>>>>> Skills:
>>>>>> -Working Knowledge of GIT
>>>>>> -1 year experience in web development using
>>>>>> PHP,HTML,JavaScript,Postgres,MySQL
>>>>>> -Have knowledge of Design Patterns
>>>>>> -Working Knowledge of PHP
>>>>>>
>>>>>> I, as a part of team manages institutes website www.iitr.ac.in
>>>>>> We have setup a intranet portal (totally managed by students) inside
>>>>>> campus
>>>>>> of IIT Rookee which has around 80 applications (mostly in PHP) hosted
>>>>>> on
>>>>>> it.I have created Ebooks sharing portal within the intranet.I have very
>>>>>> good
>>>>>> experience in web designing (e.g, I have created website during last
>>>>>> year
>>>>>> summer internship www.raysconsultants.com ).
>>>>>>
>>>>>> Open Source contributions
>>>>>> I have submitted following patches in PhpMyAdmin :
>>>>>> 1)XML export of
>>>>>> views<
>>>>>>
>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410
>>>>>>
>>>>>>>
>>>>>>> 2)XML Plugin for database
>>>>>> Export<
>>>>>>
>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410
>>>>>>
>>>>>>>
>>>>>>> 3)Left Frame not
>>>>>> updated<
>>>>>>
>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>>
>>>>>>>
>>>>>>>
>>>>>> On Fri, Apr 8, 2011 at 10:05 PM, AAMIR KHAN<ak...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>> I already applied to google-melange Eric...
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005
>>>>>>>
>>>>>>> <
>>>>>>>
>>>>>>> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> On Fri, Apr 8, 2011 at 9:23 AM, Eric Charles<er...@apache.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>> Also, ping us on this mailing list when you will have applied on
>>>>>>>
>>>>>>>> google-melange so we can review it.
>>>>>>>> Tks,
>>>>>>>> - Eric
>>>>>>>>
>>>>>>>>
>>>>>>>> On 8/04/2011 05:26, Eric Charles wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>>>
>>>>>>>>> The idea of RESTful is to let communicate a client system with a
>>>>>>>>> server
>>>>>>>>> system via HTTP, transfering request parameters as
>>>>>>>>> http_request_params,
>>>>>>>>> getting response ax structured document (xml or json) in the
>>>>>>>>> http_response_body.
>>>>>>>>>
>>>>>>>>> You can read more on
>>>>>>>>> http://en.wikipedia.org/wiki/Representational_State_Transfer
>>>>>>>>>
>>>>>>>>> Couchdb has such an API (
>>>>>>>>> http://wiki.apache.org/couchdb/HTTP_Document_API)
>>>>>>>>>
>>>>>>>>> It seems you are good at sprint :) (you are just in time for the
>>>>>>>>> deadline).
>>>>>>>>>
>>>>>>>>> You could outline in your application that event if the first
>>>>>>>>> implementation will be for couchdb, the RESTful "framework" will be
>>>>>>>>> designed to support other datastores. Therefor, 1 week design before
>>>>>>>>> the
>>>>>>>>> 8 weeks (becoming 7 weeks) would be good.
>>>>>>>>>
>>>>>>>>> Hopes this help.
>>>>>>>>> (Don't wait to register and inject this on google melange, you can
>>>>>>>>> always update it after).
>>>>>>>>>
>>>>>>>>> - Tks,
>>>>>>>>> Eric
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 8/04/2011 00:49, AAMIR KHAN wrote:
>>>>>>>>>
>>>>>>>>> I would like to have valuable suggestions over my proposal..
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Fri, Apr 8, 2011 at 4:18 AM, AAMIR KHAN<ak...@gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> *
>>>>>>>>>>
>>>>>>>>>> Proposal Title: Design and Implement Mailbox with CouchDB storage.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Student Name: Aamir Khan
>>>>>>>>>>>
>>>>>>>>>>> Student E-mail: ak4u2009@gmail.com
>>>>>>>>>>>
>>>>>>>>>>> Organization/Project: James Mailbox Apache Software Foundation
>>>>>>>>>>>
>>>>>>>>>>> Assigned Mentor: Robert Burrell Donkin (rdonkin@apache.org )
>>>>>>>>>>>
>>>>>>>>>>> Proposal Abstract:
>>>>>>>>>>> CouchDB is non-relational, semi-structured database having great
>>>>>>>>>>> potential
>>>>>>>>>>> for mail storage. My project is to design and implement mail
>>>>>>>>>>> storage
>>>>>>>>>>> in
>>>>>>>>>>> James Mailbox using CouchDB. RESTful integration API will also be
>>>>>>>>>>> done.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Detailed Description:
>>>>>>>>>>>
>>>>>>>>>>> Why?
>>>>>>>>>>>
>>>>>>>>>>> lets consider a example Mail:
>>>>>>>>>>>
>>>>>>>>>>> “From” : “ak4u2009@gmail.com”
>>>>>>>>>>> “To” : “server-dev@james.apache.org”
>>>>>>>>>>> “Subject” : “Implementation of CoucheDB”
>>>>>>>>>>> “Body” : “Implementation Proposal”
>>>>>>>>>>>
>>>>>>>>>>> All the messages like the one stated above will be stored as a
>>>>>>>>>>> flat
>>>>>>>>>>> collection in CouchDB. Since the mail contents are generally semi
>>>>>>>>>>> structured
>>>>>>>>>>> thats why CouchDB is most preferable database for the same.
>>>>>>>>>>>
>>>>>>>>>>> Distributivity:
>>>>>>>>>>>
>>>>>>>>>>> Since CouchDB is a distributed system. We can have multiple
>>>>>>>>>>> independent
>>>>>>>>>>> copies of mails to different servers (faster performance) and
>>>>>>>>>>> whenever we
>>>>>>>>>>> want we can redistribute changes bidirectionally.It is also
>>>>>>>>>>> helpful
>>>>>>>>>>> if one
>>>>>>>>>>> of the mail server fails then other backup servers can fulfill the
>>>>>>>>>>> requests.
>>>>>>>>>>>
>>>>>>>>>>> How?
>>>>>>>>>>>
>>>>>>>>>>> Road Map
>>>>>>>>>>>
>>>>>>>>>>> 0) Code Familiarity : Already started and going.
>>>>>>>>>>> 1) Programming : 8 Weeks
>>>>>>>>>>> 2) Review and Testing : 1 week
>>>>>>>>>>> 3) Bug Fixing Time : 1 week
>>>>>>>>>>> 4) Documentation : 1 week
>>>>>>>>>>>
>>>>>>>>>>> 5) Buffer Time for any unpredicted delay and Second phase of
>>>>>>>>>>> testing
>>>>>>>>>>> :
>>>>>>>>>>> 1
>>>>>>>>>>> week
>>>>>>>>>>>
>>>>>>>>>>> Deliverable& Project Schedule
>>>>>>>>>>>
>>>>>>>>>>> April 25-May 23(Community Bonding Period) :
>>>>>>>>>>> I would be in constant touch with my mentor and james mailbox
>>>>>>>>>>> community as a whole. I would discuss further about the project
>>>>>>>>>>> with
>>>>>>>>>>> my
>>>>>>>>>>> mentor and keep posting about implementation plans over the main
>>>>>>>>>>> server-dev@james.apache.org mailing list. Finalise the design for
>>>>>>>>>>>
>>>>>>>>>>> implementation of CouchDB after discussion with whole community.
>>>>>>>>>>>
>>>>>>>>>>> May 24 - 20 June :
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Implement the finalised plan for Couch DB.
>>>>>>>>>>>
>>>>>>>>>>> June 21 - June 28 :
>>>>>>>>>>>
>>>>>>>>>>> Test and debug implementation of CouchDB with regressive test.
>>>>>>>>>>>
>>>>>>>>>>> July 1 - July 10 :
>>>>>>>>>>>
>>>>>>>>>>> -Implement RESTful integration API for Retrieving mail.
>>>>>>>>>>> -Test and debug implementation of Retrieving mail API.
>>>>>>>>>>>
>>>>>>>>>>> July 11 - July 20 :
>>>>>>>>>>>
>>>>>>>>>>> -Implement RESTful integration API for Sending mail.
>>>>>>>>>>> -Test and debug implementation of Sending mail API.
>>>>>>>>>>>
>>>>>>>>>>> July 21 - July 30 :
>>>>>>>>>>>
>>>>>>>>>>> -Implement RESTful integration API for Deleting mail.
>>>>>>>>>>> -Test and debug implementation of Deleting mail API.
>>>>>>>>>>>
>>>>>>>>>>> August 1-August 15 (Buffer Time):
>>>>>>>>>>>
>>>>>>>>>>> Second phase of testing: Testing of debugged code.
>>>>>>>>>>>
>>>>>>>>>>> August 15-August 22:
>>>>>>>>>>>
>>>>>>>>>>> -Work on Documentation.
>>>>>>>>>>>
>>>>>>>>>>> -Finally discuss the project with mentors.
>>>>>>>>>>>
>>>>>>>>>>> -Debugging the bugs (if any reported by Mentor)
>>>>>>>>>>>
>>>>>>>>>>> -Improve the Documentation, Release.
>>>>>>>>>>>
>>>>>>>>>>> August 22 - August 26 :
>>>>>>>>>>>
>>>>>>>>>>> -Final Evaluation Submission
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Available Time
>>>>>>>>>>> I am committed to giving at least 40-50 hours per week to GSOC.
>>>>>>>>>>> Since
>>>>>>>>>>> I am
>>>>>>>>>>> not doing anything this summer, I believe that the time devoted to
>>>>>>>>>>> GSOC will
>>>>>>>>>>> be much more than that, for sure. I have excellent work ethics,
>>>>>>>>>>> and a
>>>>>>>>>>> goal
>>>>>>>>>>> oriented guy.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Additional Information:
>>>>>>>>>>>
>>>>>>>>>>> Bio
>>>>>>>>>>> I am 19 years old. I live in India.Studying at one of the most
>>>>>>>>>>> premier
>>>>>>>>>>> institute in India namely Indian Institute of Technology
>>>>>>>>>>> Roorkee<http://www.iitr.ac.in/>pursuing my Bachelor of Technology
>>>>>>>>>>>
>>>>>>>>>>> Computer Science& Engineering.I have
>>>>>>>>>>> took courses like Computer programming in C++ at school and
>>>>>>>>>>> college
>>>>>>>>>>> levels.I
>>>>>>>>>>> have started serious problem solving around two months back.I have
>>>>>>>>>>> also
>>>>>>>>>>> worked in PHP as mentioned in experiences.I have got prizes in
>>>>>>>>>>> various
>>>>>>>>>>> website designing competitions at school& college levels.
>>>>>>>>>>>
>>>>>>>>>>> I like to contribute in open source communities because it gives
>>>>>>>>>>> me
>>>>>>>>>>> experience,technical expertise and it teaches spirit of team work.
>>>>>>>>>>> And its
>>>>>>>>>>> my time to give back to community from which i gained a lot of
>>>>>>>>>>> experience
>>>>>>>>>>> and motivation.
>>>>>>>>>>>
>>>>>>>>>>> You can have a look over my
>>>>>>>>>>> Resume<
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Experiences
>>>>>>>>>>>
>>>>>>>>>>> Skills:
>>>>>>>>>>> -Working Knowledge of GIT
>>>>>>>>>>> -1 year experience in web development using
>>>>>>>>>>> PHP,HTML,JavaScript,Postgres,MySQL
>>>>>>>>>>> -Have knowledge of Design Patterns
>>>>>>>>>>> -Working Knowledge of PHP
>>>>>>>>>>>
>>>>>>>>>>> I, as a part of team manages institutes website www.iitr.ac.in
>>>>>>>>>>> We have setup a intranet portal (totally managed by students)
>>>>>>>>>>> inside
>>>>>>>>>>> campus
>>>>>>>>>>> of IIT Rookee which has around 80 applications (mostly in PHP)
>>>>>>>>>>> hosted
>>>>>>>>>>> on
>>>>>>>>>>> it.I have created Ebooks sharing portal within the intranet.I have
>>>>>>>>>>> very good
>>>>>>>>>>> experience in web designing (e.g, I have created website during
>>>>>>>>>>> last
>>>>>>>>>>> year
>>>>>>>>>>> summer internship www.raysconsultants.com ).
>>>>>>>>>>>
>>>>>>>>>>> Open Source contributions
>>>>>>>>>>> I have submitted following patches in PhpMyAdmin :
>>>>>>>>>>> 1)XML export of
>>>>>>>>>>> views<
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 2)XML Plugin for database
>>>>>>>>>>> Export<
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 3)Left Frame not
>>>>>>>>>>> updated<
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>> <
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>> Aamir Khan
>>>>>>>>>>> *
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>
>>>>>>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>>>>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>
>>>>>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>>>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>>
>>>>>
>>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>
>>>
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by AAMIR KHAN <ak...@gmail.com>.
I have started following books over Beginning
CouchDB<http://www.amazon.com/Beginning-CouchDB-Joe-Lennon/dp/1430272376>
and
i am trying to design the database implementation for mail storage.
First of all i want to get your feedbacks over my
proposal<http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005>due
to two reasons:
1) Have i understood the project completely and made proposal relevant to
it?
2) Do you think that deliverables are up to the mark for 12 weeks work. But
i have written according to what i felt at that time and also quoted that if
i get extra time i will implement other API implementations as well.
For designing database for mail storage, I have installed CouchDB on my
localhost and trying to tweak with it. I would like to ask how the email
messages are stored in any database, may be relational or non-relational
(the procedure of storing messages).
In my opinion it should be something like this : Whenever JAMES MAILBOX
receives a message it will invoke some function like SAVE_MESSAGE which in
turn will invoke the PUT/POST CouchDB API to put the message into the
database. And whenever it wants to retrieve the message it would call some
function like GET_MESSAGE which in turn will invoke the GET CouchDB API to
get the message out of server.
Correct me if i am wrong.
I am starting with the simple one CouchDB database and try to tweak and test
its different APIs in the mean time. If we save mails in only one database
then to search for lets say messages addressed to "XYZ@gmail.com" we will
have to traverse all the mails and check for "to:" tags. May be it is not
very efficient method to store the mails, but that was my initial thought.
Any thoughts?
On Wed, Apr 13, 2011 at 12:00 AM, AAMIR KHAN <ak...@gmail.com> wrote:
> Hi Eric,
>
> I would like to have your comments over my proposal.
>
>
> On Sat, Apr 9, 2011 at 10:00 AM, Eric Charles <er...@apache.org> wrote:
>
>> Hi Aamir,
>>
>> The error message came probably from google closing the applications.
>> http://twitter.com/#!/gsoc/status/56431319927889921
>>
>> I now have access again to your application an have request mentorship.
>>
>> Good luck :)
>>
>> - Eric
>>
>>
>> On 8/04/2011 20:56, AAMIR KHAN wrote:
>>
>>> the proposal i sent to google-melange is the same as posted over mailing
>>> list.
>>> Maybe you can comment it over here.
>>>
>>>
>>> On Sat, Apr 9, 2011 at 12:15 AM, Eric Charles<er...@apache.org> wrote:
>>>
>>>
>>>>
>>>>
>>>> Hi Aamir,
>>>> That's good.
>>>> Once I will get access to your application on google melange, I will ask
>>>> for mentorship.
>>>> Tks,
>>>> Eric
>>>>
>>>>
>>>> On 8/04/2011 19:42, AAMIR KHAN wrote:
>>>>
>>>> Revised Proposal :
>>>>>
>>>>>
>>>>> Proposal Title:
>>>>> Design and Implement Mailbox with CouchDB mail storage.
>>>>>
>>>>> Student Name:
>>>>> Aamir Khan
>>>>>
>>>>> Student E-mail:
>>>>> ak4u2009@gmail.com
>>>>>
>>>>> Organization/Project:
>>>>> James Mailbox Apache Software Foundation
>>>>>
>>>>> Assigned Mentor:
>>>>> Robert Burrell Donkin (rdonkin@apache.org )
>>>>>
>>>>> Proposal Abstract:
>>>>> Since most of the mail contents are semi-structured in nature.CouchDB
>>>>> is
>>>>> non-relational, semi-structured database having great potential for
>>>>> mail
>>>>> storage. My project is to design and implement mail storage in James
>>>>> Mailbox
>>>>> using CouchDB. RESTful integration API for Retrieving,Sending and
>>>>> Deleting
>>>>> mails will also be done.
>>>>>
>>>>> Detailed Description:
>>>>>
>>>>> Why?
>>>>>
>>>>> lets consider a example Mail:
>>>>>
>>>>> “From” : “ak4u2009@gmail.com”
>>>>> “To” : “server-dev@james.apache.org”
>>>>> “Subject” : “Implementation of CoucheDB”
>>>>> “Body” : “Implementation Proposal”
>>>>>
>>>>> All the messages like the one stated above will be stored as a flat
>>>>> collection in CouchDB. Since the mail contents are generally semi
>>>>> structured
>>>>> thats why CouchDB is most preferable database for the same.
>>>>>
>>>>> Distributivity:
>>>>>
>>>>> Since CouchDB is a distributed system. We can have multiple independent
>>>>> copies of mails to different servers (faster performance) and whenever
>>>>> we
>>>>> want we can redistribute changes bidirectionally.It is also helpful if
>>>>> one
>>>>> of the mail server fails then other backup servers can fulfill the
>>>>> requests.
>>>>>
>>>>> How?
>>>>>
>>>>> Road Map
>>>>>
>>>>> 0) Code Familiarity : Already started and going.
>>>>> 1) Design : 1 week
>>>>> 2) Programming : 7 Weeks
>>>>> 3) Review and Testing : 1 week
>>>>> 4) Bug Fixing Time : 1 week
>>>>> 5) Documentation : 1 week
>>>>> 6) Buffer Time for any unpredicted delay and Second phase of testing :
>>>>> 1
>>>>> week
>>>>>
>>>>> Deliverable& Project Schedule
>>>>>
>>>>> April 25-May 23(Community Bonding Period) :
>>>>> I would be in constant touch with my mentor and james
>>>>> mailbox
>>>>> community as a whole. I would discuss further about the project with my
>>>>> mentor and keep posting about implementation plans over the main
>>>>> server-dev@james.apache.org mailing list. Discuss the design for
>>>>> implementation of CouchDB after discussion with whole community.
>>>>>
>>>>> May 24 - May 31 : Finalise the design for implementation of CouchDB
>>>>> after
>>>>> discussion with whole community.
>>>>>
>>>>> June 1 - 20 June :
>>>>>
>>>>> Implement the finalised plan for Couch DB.
>>>>>
>>>>> June 21 - June 28 :
>>>>>
>>>>> Test and debug implementation of CouchDB with regressive test.
>>>>>
>>>>> July 1 - July 10 :
>>>>>
>>>>> -Implement RESTful integration API for Retrieving mail. This should be
>>>>> performed using GET operation at the document’s URL.
>>>>>
>>>>> -This will implement : GET /database_name/mail_id HTTP/1.0 . Here
>>>>> mail_id
>>>>> will be used to identify a particular unique Email Content.
>>>>> -Test and debug implementation of Retrieving mail API.
>>>>>
>>>>> July 11 - July 20 :
>>>>>
>>>>> -Implement RESTful integration API for Sending mail. This should be
>>>>> done
>>>>> using POST operation of HTTP_Document_API.
>>>>>
>>>>> -This will implement : POST /database_name/ HTTP/1.0 .
>>>>> -Test and debug implementation of Sending mail API.
>>>>>
>>>>> July 21 - July 30 :
>>>>>
>>>>> -Implement RESTful integration API for Deleting mail. This should be
>>>>> done
>>>>> using DELETE operation of HTTP_Document_API.
>>>>>
>>>>> -This will implement : DELETE
>>>>> /database_name/mail_id?revid=current_version
>>>>> HTTP/1.0 . Here mail_id will be used to identify a particular unique
>>>>> Email
>>>>> Content.
>>>>> -Test and debug implementation of Deleting mail API.
>>>>>
>>>>> The time line specified above is somewhat adjustable. If i can
>>>>> comeplete
>>>>> the
>>>>> above mentioned integrations before time, I would proceed with the
>>>>> following
>>>>> API’s integration in order:
>>>>>
>>>>> -Inline Attachments
>>>>> -Multiple Attachments
>>>>> -Stand Alone Attachments
>>>>> -ETags/Caching
>>>>>
>>>>> August 1-August 15 (Buffer Time):
>>>>>
>>>>> Second phase of testing: Testing of debugged code.
>>>>>
>>>>> August 15-August 22:
>>>>>
>>>>> -Work on Documentation.
>>>>>
>>>>> -Finally discuss the project with mentors.
>>>>>
>>>>> -Debugging the bugs (if any reported by Mentor)
>>>>>
>>>>> -Improve the Documentation, Release.
>>>>>
>>>>> August 22 - August 26 :
>>>>>
>>>>> -Final Evaluation Submission
>>>>>
>>>>>
>>>>> Available Time
>>>>> I am committed to giving at least 40-50 hours per week to GSOC. Since I
>>>>> am
>>>>> not doing anything this summer, I believe that the time devoted to GSOC
>>>>> will
>>>>> be much more than that, for sure. I have excellent work ethics, and a
>>>>> goal
>>>>> oriented guy.
>>>>>
>>>>>
>>>>> Additional Information:
>>>>>
>>>>> Bio
>>>>> I am 19 years old. I live in India.Studying at one of the most premier
>>>>> institute in India namely Indian Institute of Technology
>>>>> Roorkee<http://www.iitr.ac.in>pursuing my Bachelor of Technology
>>>>>
>>>>> Computer Science& Engineering.I have
>>>>> took courses like Computer programming in C++ at school and college
>>>>> levels.I
>>>>> have started serious problem solving around two months back.I have also
>>>>> worked in PHP as mentioned in experiences.I have got prizes in various
>>>>> website designing competitions at school& college levels.
>>>>>
>>>>> I like to contribute in open source communities because it gives me
>>>>> experience,technical expertise and it teaches spirit of team work. And
>>>>> its
>>>>> my time to give back to community from which i gained a lot of
>>>>> experience
>>>>> and motivation.
>>>>>
>>>>> You can have a look over
>>>>> myResume<
>>>>>
>>>>> https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC
>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> Experiences
>>>>>
>>>>> Skills:
>>>>> -Working Knowledge of GIT
>>>>> -1 year experience in web development using
>>>>> PHP,HTML,JavaScript,Postgres,MySQL
>>>>> -Have knowledge of Design Patterns
>>>>> -Working Knowledge of PHP
>>>>>
>>>>> I, as a part of team manages institutes website www.iitr.ac.in
>>>>> We have setup a intranet portal (totally managed by students) inside
>>>>> campus
>>>>> of IIT Rookee which has around 80 applications (mostly in PHP) hosted
>>>>> on
>>>>> it.I have created Ebooks sharing portal within the intranet.I have very
>>>>> good
>>>>> experience in web designing (e.g, I have created website during last
>>>>> year
>>>>> summer internship www.raysconsultants.com ).
>>>>>
>>>>> Open Source contributions
>>>>> I have submitted following patches in PhpMyAdmin :
>>>>> 1)XML export of
>>>>> views<
>>>>>
>>>>> https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410
>>>>>
>>>>>>
>>>>>> 2)XML Plugin for database
>>>>> Export<
>>>>>
>>>>> https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410
>>>>>
>>>>>>
>>>>>> 3)Left Frame not
>>>>> updated<
>>>>>
>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>
>>>>>>
>>>>>>
>>>>> On Fri, Apr 8, 2011 at 10:05 PM, AAMIR KHAN<ak...@gmail.com>
>>>>> wrote:
>>>>>
>>>>> I already applied to google-melange Eric...
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005
>>>>>>
>>>>>> <
>>>>>>
>>>>>> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005
>>>>>>
>>>>>>>
>>>>>>>
>>>>>> On Fri, Apr 8, 2011 at 9:23 AM, Eric Charles<er...@apache.org>
>>>>>> wrote:
>>>>>>
>>>>>> Also, ping us on this mailing list when you will have applied on
>>>>>>
>>>>>>> google-melange so we can review it.
>>>>>>> Tks,
>>>>>>> - Eric
>>>>>>>
>>>>>>>
>>>>>>> On 8/04/2011 05:26, Eric Charles wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>>>
>>>>>>>> The idea of RESTful is to let communicate a client system with a
>>>>>>>> server
>>>>>>>> system via HTTP, transfering request parameters as
>>>>>>>> http_request_params,
>>>>>>>> getting response ax structured document (xml or json) in the
>>>>>>>> http_response_body.
>>>>>>>>
>>>>>>>> You can read more on
>>>>>>>> http://en.wikipedia.org/wiki/Representational_State_Transfer
>>>>>>>>
>>>>>>>> Couchdb has such an API (
>>>>>>>> http://wiki.apache.org/couchdb/HTTP_Document_API)
>>>>>>>>
>>>>>>>> It seems you are good at sprint :) (you are just in time for the
>>>>>>>> deadline).
>>>>>>>>
>>>>>>>> You could outline in your application that event if the first
>>>>>>>> implementation will be for couchdb, the RESTful "framework" will be
>>>>>>>> designed to support other datastores. Therefor, 1 week design before
>>>>>>>> the
>>>>>>>> 8 weeks (becoming 7 weeks) would be good.
>>>>>>>>
>>>>>>>> Hopes this help.
>>>>>>>> (Don't wait to register and inject this on google melange, you can
>>>>>>>> always update it after).
>>>>>>>>
>>>>>>>> - Tks,
>>>>>>>> Eric
>>>>>>>>
>>>>>>>>
>>>>>>>> On 8/04/2011 00:49, AAMIR KHAN wrote:
>>>>>>>>
>>>>>>>> I would like to have valuable suggestions over my proposal..
>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Fri, Apr 8, 2011 at 4:18 AM, AAMIR KHAN<ak...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> *
>>>>>>>>>
>>>>>>>>> Proposal Title: Design and Implement Mailbox with CouchDB storage.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Student Name: Aamir Khan
>>>>>>>>>>
>>>>>>>>>> Student E-mail: ak4u2009@gmail.com
>>>>>>>>>>
>>>>>>>>>> Organization/Project: James Mailbox Apache Software Foundation
>>>>>>>>>>
>>>>>>>>>> Assigned Mentor: Robert Burrell Donkin (rdonkin@apache.org )
>>>>>>>>>>
>>>>>>>>>> Proposal Abstract:
>>>>>>>>>> CouchDB is non-relational, semi-structured database having great
>>>>>>>>>> potential
>>>>>>>>>> for mail storage. My project is to design and implement mail
>>>>>>>>>> storage
>>>>>>>>>> in
>>>>>>>>>> James Mailbox using CouchDB. RESTful integration API will also be
>>>>>>>>>> done.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Detailed Description:
>>>>>>>>>>
>>>>>>>>>> Why?
>>>>>>>>>>
>>>>>>>>>> lets consider a example Mail:
>>>>>>>>>>
>>>>>>>>>> “From” : “ak4u2009@gmail.com”
>>>>>>>>>> “To” : “server-dev@james.apache.org”
>>>>>>>>>> “Subject” : “Implementation of CoucheDB”
>>>>>>>>>> “Body” : “Implementation Proposal”
>>>>>>>>>>
>>>>>>>>>> All the messages like the one stated above will be stored as a
>>>>>>>>>> flat
>>>>>>>>>> collection in CouchDB. Since the mail contents are generally semi
>>>>>>>>>> structured
>>>>>>>>>> thats why CouchDB is most preferable database for the same.
>>>>>>>>>>
>>>>>>>>>> Distributivity:
>>>>>>>>>>
>>>>>>>>>> Since CouchDB is a distributed system. We can have multiple
>>>>>>>>>> independent
>>>>>>>>>> copies of mails to different servers (faster performance) and
>>>>>>>>>> whenever we
>>>>>>>>>> want we can redistribute changes bidirectionally.It is also
>>>>>>>>>> helpful
>>>>>>>>>> if one
>>>>>>>>>> of the mail server fails then other backup servers can fulfill the
>>>>>>>>>> requests.
>>>>>>>>>>
>>>>>>>>>> How?
>>>>>>>>>>
>>>>>>>>>> Road Map
>>>>>>>>>>
>>>>>>>>>> 0) Code Familiarity : Already started and going.
>>>>>>>>>> 1) Programming : 8 Weeks
>>>>>>>>>> 2) Review and Testing : 1 week
>>>>>>>>>> 3) Bug Fixing Time : 1 week
>>>>>>>>>> 4) Documentation : 1 week
>>>>>>>>>>
>>>>>>>>>> 5) Buffer Time for any unpredicted delay and Second phase of
>>>>>>>>>> testing
>>>>>>>>>> :
>>>>>>>>>> 1
>>>>>>>>>> week
>>>>>>>>>>
>>>>>>>>>> Deliverable& Project Schedule
>>>>>>>>>>
>>>>>>>>>> April 25-May 23(Community Bonding Period) :
>>>>>>>>>> I would be in constant touch with my mentor and james mailbox
>>>>>>>>>> community as a whole. I would discuss further about the project
>>>>>>>>>> with
>>>>>>>>>> my
>>>>>>>>>> mentor and keep posting about implementation plans over the main
>>>>>>>>>> server-dev@james.apache.org mailing list. Finalise the design for
>>>>>>>>>>
>>>>>>>>>> implementation of CouchDB after discussion with whole community.
>>>>>>>>>>
>>>>>>>>>> May 24 - 20 June :
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Implement the finalised plan for Couch DB.
>>>>>>>>>>
>>>>>>>>>> June 21 - June 28 :
>>>>>>>>>>
>>>>>>>>>> Test and debug implementation of CouchDB with regressive test.
>>>>>>>>>>
>>>>>>>>>> July 1 - July 10 :
>>>>>>>>>>
>>>>>>>>>> -Implement RESTful integration API for Retrieving mail.
>>>>>>>>>> -Test and debug implementation of Retrieving mail API.
>>>>>>>>>>
>>>>>>>>>> July 11 - July 20 :
>>>>>>>>>>
>>>>>>>>>> -Implement RESTful integration API for Sending mail.
>>>>>>>>>> -Test and debug implementation of Sending mail API.
>>>>>>>>>>
>>>>>>>>>> July 21 - July 30 :
>>>>>>>>>>
>>>>>>>>>> -Implement RESTful integration API for Deleting mail.
>>>>>>>>>> -Test and debug implementation of Deleting mail API.
>>>>>>>>>>
>>>>>>>>>> August 1-August 15 (Buffer Time):
>>>>>>>>>>
>>>>>>>>>> Second phase of testing: Testing of debugged code.
>>>>>>>>>>
>>>>>>>>>> August 15-August 22:
>>>>>>>>>>
>>>>>>>>>> -Work on Documentation.
>>>>>>>>>>
>>>>>>>>>> -Finally discuss the project with mentors.
>>>>>>>>>>
>>>>>>>>>> -Debugging the bugs (if any reported by Mentor)
>>>>>>>>>>
>>>>>>>>>> -Improve the Documentation, Release.
>>>>>>>>>>
>>>>>>>>>> August 22 - August 26 :
>>>>>>>>>>
>>>>>>>>>> -Final Evaluation Submission
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Available Time
>>>>>>>>>> I am committed to giving at least 40-50 hours per week to GSOC.
>>>>>>>>>> Since
>>>>>>>>>> I am
>>>>>>>>>> not doing anything this summer, I believe that the time devoted to
>>>>>>>>>> GSOC will
>>>>>>>>>> be much more than that, for sure. I have excellent work ethics,
>>>>>>>>>> and a
>>>>>>>>>> goal
>>>>>>>>>> oriented guy.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Additional Information:
>>>>>>>>>>
>>>>>>>>>> Bio
>>>>>>>>>> I am 19 years old. I live in India.Studying at one of the most
>>>>>>>>>> premier
>>>>>>>>>> institute in India namely Indian Institute of Technology
>>>>>>>>>> Roorkee<http://www.iitr.ac.in/>pursuing my Bachelor of Technology
>>>>>>>>>>
>>>>>>>>>> Computer Science& Engineering.I have
>>>>>>>>>> took courses like Computer programming in C++ at school and
>>>>>>>>>> college
>>>>>>>>>> levels.I
>>>>>>>>>> have started serious problem solving around two months back.I have
>>>>>>>>>> also
>>>>>>>>>> worked in PHP as mentioned in experiences.I have got prizes in
>>>>>>>>>> various
>>>>>>>>>> website designing competitions at school& college levels.
>>>>>>>>>>
>>>>>>>>>> I like to contribute in open source communities because it gives
>>>>>>>>>> me
>>>>>>>>>> experience,technical expertise and it teaches spirit of team work.
>>>>>>>>>> And its
>>>>>>>>>> my time to give back to community from which i gained a lot of
>>>>>>>>>> experience
>>>>>>>>>> and motivation.
>>>>>>>>>>
>>>>>>>>>> You can have a look over my
>>>>>>>>>> Resume<
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Experiences
>>>>>>>>>>
>>>>>>>>>> Skills:
>>>>>>>>>> -Working Knowledge of GIT
>>>>>>>>>> -1 year experience in web development using
>>>>>>>>>> PHP,HTML,JavaScript,Postgres,MySQL
>>>>>>>>>> -Have knowledge of Design Patterns
>>>>>>>>>> -Working Knowledge of PHP
>>>>>>>>>>
>>>>>>>>>> I, as a part of team manages institutes website www.iitr.ac.in
>>>>>>>>>> We have setup a intranet portal (totally managed by students)
>>>>>>>>>> inside
>>>>>>>>>> campus
>>>>>>>>>> of IIT Rookee which has around 80 applications (mostly in PHP)
>>>>>>>>>> hosted
>>>>>>>>>> on
>>>>>>>>>> it.I have created Ebooks sharing portal within the intranet.I have
>>>>>>>>>> very good
>>>>>>>>>> experience in web designing (e.g, I have created website during
>>>>>>>>>> last
>>>>>>>>>> year
>>>>>>>>>> summer internship www.raysconsultants.com ).
>>>>>>>>>>
>>>>>>>>>> Open Source contributions
>>>>>>>>>> I have submitted following patches in PhpMyAdmin :
>>>>>>>>>> 1)XML export of
>>>>>>>>>> views<
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2)XML Plugin for database
>>>>>>>>>> Export<
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 3)Left Frame not
>>>>>>>>>> updated<
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>> <
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>> Aamir Khan
>>>>>>>>>> *
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>
>>>>>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>>>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>
>>>>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>
>>>>
>>>>
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-dev-help@james.apache.org
>>
>>
>
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by AAMIR KHAN <ak...@gmail.com>.
Hi Eric,
I would like to have your comments over my proposal.
On Sat, Apr 9, 2011 at 10:00 AM, Eric Charles <er...@apache.org> wrote:
> Hi Aamir,
>
> The error message came probably from google closing the applications.
> http://twitter.com/#!/gsoc/status/56431319927889921
>
> I now have access again to your application an have request mentorship.
>
> Good luck :)
>
> - Eric
>
>
> On 8/04/2011 20:56, AAMIR KHAN wrote:
>
>> the proposal i sent to google-melange is the same as posted over mailing
>> list.
>> Maybe you can comment it over here.
>>
>>
>> On Sat, Apr 9, 2011 at 12:15 AM, Eric Charles<er...@apache.org> wrote:
>>
>>
>>>
>>>
>>> Hi Aamir,
>>> That's good.
>>> Once I will get access to your application on google melange, I will ask
>>> for mentorship.
>>> Tks,
>>> Eric
>>>
>>>
>>> On 8/04/2011 19:42, AAMIR KHAN wrote:
>>>
>>> Revised Proposal :
>>>>
>>>>
>>>> Proposal Title:
>>>> Design and Implement Mailbox with CouchDB mail storage.
>>>>
>>>> Student Name:
>>>> Aamir Khan
>>>>
>>>> Student E-mail:
>>>> ak4u2009@gmail.com
>>>>
>>>> Organization/Project:
>>>> James Mailbox Apache Software Foundation
>>>>
>>>> Assigned Mentor:
>>>> Robert Burrell Donkin (rdonkin@apache.org )
>>>>
>>>> Proposal Abstract:
>>>> Since most of the mail contents are semi-structured in nature.CouchDB is
>>>> non-relational, semi-structured database having great potential for mail
>>>> storage. My project is to design and implement mail storage in James
>>>> Mailbox
>>>> using CouchDB. RESTful integration API for Retrieving,Sending and
>>>> Deleting
>>>> mails will also be done.
>>>>
>>>> Detailed Description:
>>>>
>>>> Why?
>>>>
>>>> lets consider a example Mail:
>>>>
>>>> “From” : “ak4u2009@gmail.com”
>>>> “To” : “server-dev@james.apache.org”
>>>> “Subject” : “Implementation of CoucheDB”
>>>> “Body” : “Implementation Proposal”
>>>>
>>>> All the messages like the one stated above will be stored as a flat
>>>> collection in CouchDB. Since the mail contents are generally semi
>>>> structured
>>>> thats why CouchDB is most preferable database for the same.
>>>>
>>>> Distributivity:
>>>>
>>>> Since CouchDB is a distributed system. We can have multiple independent
>>>> copies of mails to different servers (faster performance) and whenever
>>>> we
>>>> want we can redistribute changes bidirectionally.It is also helpful if
>>>> one
>>>> of the mail server fails then other backup servers can fulfill the
>>>> requests.
>>>>
>>>> How?
>>>>
>>>> Road Map
>>>>
>>>> 0) Code Familiarity : Already started and going.
>>>> 1) Design : 1 week
>>>> 2) Programming : 7 Weeks
>>>> 3) Review and Testing : 1 week
>>>> 4) Bug Fixing Time : 1 week
>>>> 5) Documentation : 1 week
>>>> 6) Buffer Time for any unpredicted delay and Second phase of testing : 1
>>>> week
>>>>
>>>> Deliverable& Project Schedule
>>>>
>>>> April 25-May 23(Community Bonding Period) :
>>>> I would be in constant touch with my mentor and james
>>>> mailbox
>>>> community as a whole. I would discuss further about the project with my
>>>> mentor and keep posting about implementation plans over the main
>>>> server-dev@james.apache.org mailing list. Discuss the design for
>>>> implementation of CouchDB after discussion with whole community.
>>>>
>>>> May 24 - May 31 : Finalise the design for implementation of CouchDB
>>>> after
>>>> discussion with whole community.
>>>>
>>>> June 1 - 20 June :
>>>>
>>>> Implement the finalised plan for Couch DB.
>>>>
>>>> June 21 - June 28 :
>>>>
>>>> Test and debug implementation of CouchDB with regressive test.
>>>>
>>>> July 1 - July 10 :
>>>>
>>>> -Implement RESTful integration API for Retrieving mail. This should be
>>>> performed using GET operation at the document’s URL.
>>>>
>>>> -This will implement : GET /database_name/mail_id HTTP/1.0 . Here
>>>> mail_id
>>>> will be used to identify a particular unique Email Content.
>>>> -Test and debug implementation of Retrieving mail API.
>>>>
>>>> July 11 - July 20 :
>>>>
>>>> -Implement RESTful integration API for Sending mail. This should be done
>>>> using POST operation of HTTP_Document_API.
>>>>
>>>> -This will implement : POST /database_name/ HTTP/1.0 .
>>>> -Test and debug implementation of Sending mail API.
>>>>
>>>> July 21 - July 30 :
>>>>
>>>> -Implement RESTful integration API for Deleting mail. This should be
>>>> done
>>>> using DELETE operation of HTTP_Document_API.
>>>>
>>>> -This will implement : DELETE
>>>> /database_name/mail_id?revid=current_version
>>>> HTTP/1.0 . Here mail_id will be used to identify a particular unique
>>>> Email
>>>> Content.
>>>> -Test and debug implementation of Deleting mail API.
>>>>
>>>> The time line specified above is somewhat adjustable. If i can comeplete
>>>> the
>>>> above mentioned integrations before time, I would proceed with the
>>>> following
>>>> API’s integration in order:
>>>>
>>>> -Inline Attachments
>>>> -Multiple Attachments
>>>> -Stand Alone Attachments
>>>> -ETags/Caching
>>>>
>>>> August 1-August 15 (Buffer Time):
>>>>
>>>> Second phase of testing: Testing of debugged code.
>>>>
>>>> August 15-August 22:
>>>>
>>>> -Work on Documentation.
>>>>
>>>> -Finally discuss the project with mentors.
>>>>
>>>> -Debugging the bugs (if any reported by Mentor)
>>>>
>>>> -Improve the Documentation, Release.
>>>>
>>>> August 22 - August 26 :
>>>>
>>>> -Final Evaluation Submission
>>>>
>>>>
>>>> Available Time
>>>> I am committed to giving at least 40-50 hours per week to GSOC. Since I
>>>> am
>>>> not doing anything this summer, I believe that the time devoted to GSOC
>>>> will
>>>> be much more than that, for sure. I have excellent work ethics, and a
>>>> goal
>>>> oriented guy.
>>>>
>>>>
>>>> Additional Information:
>>>>
>>>> Bio
>>>> I am 19 years old. I live in India.Studying at one of the most premier
>>>> institute in India namely Indian Institute of Technology
>>>> Roorkee<http://www.iitr.ac.in>pursuing my Bachelor of Technology
>>>>
>>>> Computer Science& Engineering.I have
>>>> took courses like Computer programming in C++ at school and college
>>>> levels.I
>>>> have started serious problem solving around two months back.I have also
>>>> worked in PHP as mentioned in experiences.I have got prizes in various
>>>> website designing competitions at school& college levels.
>>>>
>>>> I like to contribute in open source communities because it gives me
>>>> experience,technical expertise and it teaches spirit of team work. And
>>>> its
>>>> my time to give back to community from which i gained a lot of
>>>> experience
>>>> and motivation.
>>>>
>>>> You can have a look over
>>>> myResume<
>>>>
>>>> https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC
>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> Experiences
>>>>
>>>> Skills:
>>>> -Working Knowledge of GIT
>>>> -1 year experience in web development using
>>>> PHP,HTML,JavaScript,Postgres,MySQL
>>>> -Have knowledge of Design Patterns
>>>> -Working Knowledge of PHP
>>>>
>>>> I, as a part of team manages institutes website www.iitr.ac.in
>>>> We have setup a intranet portal (totally managed by students) inside
>>>> campus
>>>> of IIT Rookee which has around 80 applications (mostly in PHP) hosted on
>>>> it.I have created Ebooks sharing portal within the intranet.I have very
>>>> good
>>>> experience in web designing (e.g, I have created website during last
>>>> year
>>>> summer internship www.raysconsultants.com ).
>>>>
>>>> Open Source contributions
>>>> I have submitted following patches in PhpMyAdmin :
>>>> 1)XML export of
>>>> views<
>>>>
>>>> https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410
>>>>
>>>>>
>>>>> 2)XML Plugin for database
>>>> Export<
>>>>
>>>> https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410
>>>>
>>>>>
>>>>> 3)Left Frame not
>>>> updated<
>>>>
>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>
>>>>>
>>>>>
>>>> On Fri, Apr 8, 2011 at 10:05 PM, AAMIR KHAN<ak...@gmail.com>
>>>> wrote:
>>>>
>>>> I already applied to google-melange Eric...
>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005
>>>>>
>>>>> <
>>>>>
>>>>> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005
>>>>>
>>>>>>
>>>>>>
>>>>> On Fri, Apr 8, 2011 at 9:23 AM, Eric Charles<er...@apache.org> wrote:
>>>>>
>>>>> Also, ping us on this mailing list when you will have applied on
>>>>>
>>>>>> google-melange so we can review it.
>>>>>> Tks,
>>>>>> - Eric
>>>>>>
>>>>>>
>>>>>> On 8/04/2011 05:26, Eric Charles wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>>>
>>>>>>> The idea of RESTful is to let communicate a client system with a
>>>>>>> server
>>>>>>> system via HTTP, transfering request parameters as
>>>>>>> http_request_params,
>>>>>>> getting response ax structured document (xml or json) in the
>>>>>>> http_response_body.
>>>>>>>
>>>>>>> You can read more on
>>>>>>> http://en.wikipedia.org/wiki/Representational_State_Transfer
>>>>>>>
>>>>>>> Couchdb has such an API (
>>>>>>> http://wiki.apache.org/couchdb/HTTP_Document_API)
>>>>>>>
>>>>>>> It seems you are good at sprint :) (you are just in time for the
>>>>>>> deadline).
>>>>>>>
>>>>>>> You could outline in your application that event if the first
>>>>>>> implementation will be for couchdb, the RESTful "framework" will be
>>>>>>> designed to support other datastores. Therefor, 1 week design before
>>>>>>> the
>>>>>>> 8 weeks (becoming 7 weeks) would be good.
>>>>>>>
>>>>>>> Hopes this help.
>>>>>>> (Don't wait to register and inject this on google melange, you can
>>>>>>> always update it after).
>>>>>>>
>>>>>>> - Tks,
>>>>>>> Eric
>>>>>>>
>>>>>>>
>>>>>>> On 8/04/2011 00:49, AAMIR KHAN wrote:
>>>>>>>
>>>>>>> I would like to have valuable suggestions over my proposal..
>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, Apr 8, 2011 at 4:18 AM, AAMIR KHAN<ak...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> *
>>>>>>>>
>>>>>>>> Proposal Title: Design and Implement Mailbox with CouchDB storage.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Student Name: Aamir Khan
>>>>>>>>>
>>>>>>>>> Student E-mail: ak4u2009@gmail.com
>>>>>>>>>
>>>>>>>>> Organization/Project: James Mailbox Apache Software Foundation
>>>>>>>>>
>>>>>>>>> Assigned Mentor: Robert Burrell Donkin (rdonkin@apache.org )
>>>>>>>>>
>>>>>>>>> Proposal Abstract:
>>>>>>>>> CouchDB is non-relational, semi-structured database having great
>>>>>>>>> potential
>>>>>>>>> for mail storage. My project is to design and implement mail
>>>>>>>>> storage
>>>>>>>>> in
>>>>>>>>> James Mailbox using CouchDB. RESTful integration API will also be
>>>>>>>>> done.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Detailed Description:
>>>>>>>>>
>>>>>>>>> Why?
>>>>>>>>>
>>>>>>>>> lets consider a example Mail:
>>>>>>>>>
>>>>>>>>> “From” : “ak4u2009@gmail.com”
>>>>>>>>> “To” : “server-dev@james.apache.org”
>>>>>>>>> “Subject” : “Implementation of CoucheDB”
>>>>>>>>> “Body” : “Implementation Proposal”
>>>>>>>>>
>>>>>>>>> All the messages like the one stated above will be stored as a flat
>>>>>>>>> collection in CouchDB. Since the mail contents are generally semi
>>>>>>>>> structured
>>>>>>>>> thats why CouchDB is most preferable database for the same.
>>>>>>>>>
>>>>>>>>> Distributivity:
>>>>>>>>>
>>>>>>>>> Since CouchDB is a distributed system. We can have multiple
>>>>>>>>> independent
>>>>>>>>> copies of mails to different servers (faster performance) and
>>>>>>>>> whenever we
>>>>>>>>> want we can redistribute changes bidirectionally.It is also helpful
>>>>>>>>> if one
>>>>>>>>> of the mail server fails then other backup servers can fulfill the
>>>>>>>>> requests.
>>>>>>>>>
>>>>>>>>> How?
>>>>>>>>>
>>>>>>>>> Road Map
>>>>>>>>>
>>>>>>>>> 0) Code Familiarity : Already started and going.
>>>>>>>>> 1) Programming : 8 Weeks
>>>>>>>>> 2) Review and Testing : 1 week
>>>>>>>>> 3) Bug Fixing Time : 1 week
>>>>>>>>> 4) Documentation : 1 week
>>>>>>>>>
>>>>>>>>> 5) Buffer Time for any unpredicted delay and Second phase of
>>>>>>>>> testing
>>>>>>>>> :
>>>>>>>>> 1
>>>>>>>>> week
>>>>>>>>>
>>>>>>>>> Deliverable& Project Schedule
>>>>>>>>>
>>>>>>>>> April 25-May 23(Community Bonding Period) :
>>>>>>>>> I would be in constant touch with my mentor and james mailbox
>>>>>>>>> community as a whole. I would discuss further about the project
>>>>>>>>> with
>>>>>>>>> my
>>>>>>>>> mentor and keep posting about implementation plans over the main
>>>>>>>>> server-dev@james.apache.org mailing list. Finalise the design for
>>>>>>>>>
>>>>>>>>> implementation of CouchDB after discussion with whole community.
>>>>>>>>>
>>>>>>>>> May 24 - 20 June :
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Implement the finalised plan for Couch DB.
>>>>>>>>>
>>>>>>>>> June 21 - June 28 :
>>>>>>>>>
>>>>>>>>> Test and debug implementation of CouchDB with regressive test.
>>>>>>>>>
>>>>>>>>> July 1 - July 10 :
>>>>>>>>>
>>>>>>>>> -Implement RESTful integration API for Retrieving mail.
>>>>>>>>> -Test and debug implementation of Retrieving mail API.
>>>>>>>>>
>>>>>>>>> July 11 - July 20 :
>>>>>>>>>
>>>>>>>>> -Implement RESTful integration API for Sending mail.
>>>>>>>>> -Test and debug implementation of Sending mail API.
>>>>>>>>>
>>>>>>>>> July 21 - July 30 :
>>>>>>>>>
>>>>>>>>> -Implement RESTful integration API for Deleting mail.
>>>>>>>>> -Test and debug implementation of Deleting mail API.
>>>>>>>>>
>>>>>>>>> August 1-August 15 (Buffer Time):
>>>>>>>>>
>>>>>>>>> Second phase of testing: Testing of debugged code.
>>>>>>>>>
>>>>>>>>> August 15-August 22:
>>>>>>>>>
>>>>>>>>> -Work on Documentation.
>>>>>>>>>
>>>>>>>>> -Finally discuss the project with mentors.
>>>>>>>>>
>>>>>>>>> -Debugging the bugs (if any reported by Mentor)
>>>>>>>>>
>>>>>>>>> -Improve the Documentation, Release.
>>>>>>>>>
>>>>>>>>> August 22 - August 26 :
>>>>>>>>>
>>>>>>>>> -Final Evaluation Submission
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Available Time
>>>>>>>>> I am committed to giving at least 40-50 hours per week to GSOC.
>>>>>>>>> Since
>>>>>>>>> I am
>>>>>>>>> not doing anything this summer, I believe that the time devoted to
>>>>>>>>> GSOC will
>>>>>>>>> be much more than that, for sure. I have excellent work ethics, and
>>>>>>>>> a
>>>>>>>>> goal
>>>>>>>>> oriented guy.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Additional Information:
>>>>>>>>>
>>>>>>>>> Bio
>>>>>>>>> I am 19 years old. I live in India.Studying at one of the most
>>>>>>>>> premier
>>>>>>>>> institute in India namely Indian Institute of Technology
>>>>>>>>> Roorkee<http://www.iitr.ac.in/>pursuing my Bachelor of Technology
>>>>>>>>>
>>>>>>>>> Computer Science& Engineering.I have
>>>>>>>>> took courses like Computer programming in C++ at school and college
>>>>>>>>> levels.I
>>>>>>>>> have started serious problem solving around two months back.I have
>>>>>>>>> also
>>>>>>>>> worked in PHP as mentioned in experiences.I have got prizes in
>>>>>>>>> various
>>>>>>>>> website designing competitions at school& college levels.
>>>>>>>>>
>>>>>>>>> I like to contribute in open source communities because it gives me
>>>>>>>>> experience,technical expertise and it teaches spirit of team work.
>>>>>>>>> And its
>>>>>>>>> my time to give back to community from which i gained a lot of
>>>>>>>>> experience
>>>>>>>>> and motivation.
>>>>>>>>>
>>>>>>>>> You can have a look over my
>>>>>>>>> Resume<
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Experiences
>>>>>>>>>
>>>>>>>>> Skills:
>>>>>>>>> -Working Knowledge of GIT
>>>>>>>>> -1 year experience in web development using
>>>>>>>>> PHP,HTML,JavaScript,Postgres,MySQL
>>>>>>>>> -Have knowledge of Design Patterns
>>>>>>>>> -Working Knowledge of PHP
>>>>>>>>>
>>>>>>>>> I, as a part of team manages institutes website www.iitr.ac.in
>>>>>>>>> We have setup a intranet portal (totally managed by students)
>>>>>>>>> inside
>>>>>>>>> campus
>>>>>>>>> of IIT Rookee which has around 80 applications (mostly in PHP)
>>>>>>>>> hosted
>>>>>>>>> on
>>>>>>>>> it.I have created Ebooks sharing portal within the intranet.I have
>>>>>>>>> very good
>>>>>>>>> experience in web designing (e.g, I have created website during
>>>>>>>>> last
>>>>>>>>> year
>>>>>>>>> summer internship www.raysconsultants.com ).
>>>>>>>>>
>>>>>>>>> Open Source contributions
>>>>>>>>> I have submitted following patches in PhpMyAdmin :
>>>>>>>>> 1)XML export of
>>>>>>>>> views<
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2)XML Plugin for database
>>>>>>>>> Export<
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 3)Left Frame not
>>>>>>>>> updated<
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> <
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>> Aamir Khan
>>>>>>>>> *
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>
>>>>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>>
>>>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>
>>>
>>>
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by Eric Charles <er...@apache.org>.
Hi Aamir,
The error message came probably from google closing the applications.
http://twitter.com/#!/gsoc/status/56431319927889921
I now have access again to your application an have request mentorship.
Good luck :)
- Eric
On 8/04/2011 20:56, AAMIR KHAN wrote:
> the proposal i sent to google-melange is the same as posted over mailing
> list.
> Maybe you can comment it over here.
>
>
> On Sat, Apr 9, 2011 at 12:15 AM, Eric Charles<er...@apache.org> wrote:
>
>>
>>
>>
>> Hi Aamir,
>> That's good.
>> Once I will get access to your application on google melange, I will ask
>> for mentorship.
>> Tks,
>> Eric
>>
>>
>> On 8/04/2011 19:42, AAMIR KHAN wrote:
>>
>>> Revised Proposal :
>>>
>>>
>>> Proposal Title:
>>> Design and Implement Mailbox with CouchDB mail storage.
>>>
>>> Student Name:
>>> Aamir Khan
>>>
>>> Student E-mail:
>>> ak4u2009@gmail.com
>>>
>>> Organization/Project:
>>> James Mailbox Apache Software Foundation
>>>
>>> Assigned Mentor:
>>> Robert Burrell Donkin (rdonkin@apache.org )
>>>
>>> Proposal Abstract:
>>> Since most of the mail contents are semi-structured in nature.CouchDB is
>>> non-relational, semi-structured database having great potential for mail
>>> storage. My project is to design and implement mail storage in James
>>> Mailbox
>>> using CouchDB. RESTful integration API for Retrieving,Sending and Deleting
>>> mails will also be done.
>>>
>>> Detailed Description:
>>>
>>> Why?
>>>
>>> lets consider a example Mail:
>>>
>>> “From” : “ak4u2009@gmail.com”
>>> “To” : “server-dev@james.apache.org”
>>> “Subject” : “Implementation of CoucheDB”
>>> “Body” : “Implementation Proposal”
>>>
>>> All the messages like the one stated above will be stored as a flat
>>> collection in CouchDB. Since the mail contents are generally semi
>>> structured
>>> thats why CouchDB is most preferable database for the same.
>>>
>>> Distributivity:
>>>
>>> Since CouchDB is a distributed system. We can have multiple independent
>>> copies of mails to different servers (faster performance) and whenever we
>>> want we can redistribute changes bidirectionally.It is also helpful if one
>>> of the mail server fails then other backup servers can fulfill the
>>> requests.
>>>
>>> How?
>>>
>>> Road Map
>>>
>>> 0) Code Familiarity : Already started and going.
>>> 1) Design : 1 week
>>> 2) Programming : 7 Weeks
>>> 3) Review and Testing : 1 week
>>> 4) Bug Fixing Time : 1 week
>>> 5) Documentation : 1 week
>>> 6) Buffer Time for any unpredicted delay and Second phase of testing : 1
>>> week
>>>
>>> Deliverable& Project Schedule
>>>
>>> April 25-May 23(Community Bonding Period) :
>>> I would be in constant touch with my mentor and james
>>> mailbox
>>> community as a whole. I would discuss further about the project with my
>>> mentor and keep posting about implementation plans over the main
>>> server-dev@james.apache.org mailing list. Discuss the design for
>>> implementation of CouchDB after discussion with whole community.
>>>
>>> May 24 - May 31 : Finalise the design for implementation of CouchDB after
>>> discussion with whole community.
>>>
>>> June 1 - 20 June :
>>>
>>> Implement the finalised plan for Couch DB.
>>>
>>> June 21 - June 28 :
>>>
>>> Test and debug implementation of CouchDB with regressive test.
>>>
>>> July 1 - July 10 :
>>>
>>> -Implement RESTful integration API for Retrieving mail. This should be
>>> performed using GET operation at the document’s URL.
>>>
>>> -This will implement : GET /database_name/mail_id HTTP/1.0 . Here mail_id
>>> will be used to identify a particular unique Email Content.
>>> -Test and debug implementation of Retrieving mail API.
>>>
>>> July 11 - July 20 :
>>>
>>> -Implement RESTful integration API for Sending mail. This should be done
>>> using POST operation of HTTP_Document_API.
>>>
>>> -This will implement : POST /database_name/ HTTP/1.0 .
>>> -Test and debug implementation of Sending mail API.
>>>
>>> July 21 - July 30 :
>>>
>>> -Implement RESTful integration API for Deleting mail. This should be done
>>> using DELETE operation of HTTP_Document_API.
>>>
>>> -This will implement : DELETE /database_name/mail_id?revid=current_version
>>> HTTP/1.0 . Here mail_id will be used to identify a particular unique
>>> Email
>>> Content.
>>> -Test and debug implementation of Deleting mail API.
>>>
>>> The time line specified above is somewhat adjustable. If i can comeplete
>>> the
>>> above mentioned integrations before time, I would proceed with the
>>> following
>>> API’s integration in order:
>>>
>>> -Inline Attachments
>>> -Multiple Attachments
>>> -Stand Alone Attachments
>>> -ETags/Caching
>>>
>>> August 1-August 15 (Buffer Time):
>>>
>>> Second phase of testing: Testing of debugged code.
>>>
>>> August 15-August 22:
>>>
>>> -Work on Documentation.
>>>
>>> -Finally discuss the project with mentors.
>>>
>>> -Debugging the bugs (if any reported by Mentor)
>>>
>>> -Improve the Documentation, Release.
>>>
>>> August 22 - August 26 :
>>>
>>> -Final Evaluation Submission
>>>
>>>
>>> Available Time
>>> I am committed to giving at least 40-50 hours per week to GSOC. Since I am
>>> not doing anything this summer, I believe that the time devoted to GSOC
>>> will
>>> be much more than that, for sure. I have excellent work ethics, and a goal
>>> oriented guy.
>>>
>>>
>>> Additional Information:
>>>
>>> Bio
>>> I am 19 years old. I live in India.Studying at one of the most premier
>>> institute in India namely Indian Institute of Technology
>>> Roorkee<http://www.iitr.ac.in>pursuing my Bachelor of Technology
>>>
>>> Computer Science& Engineering.I have
>>> took courses like Computer programming in C++ at school and college
>>> levels.I
>>> have started serious problem solving around two months back.I have also
>>> worked in PHP as mentioned in experiences.I have got prizes in various
>>> website designing competitions at school& college levels.
>>>
>>> I like to contribute in open source communities because it gives me
>>> experience,technical expertise and it teaches spirit of team work. And its
>>> my time to give back to community from which i gained a lot of experience
>>> and motivation.
>>>
>>> You can have a look over
>>> myResume<
>>> https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC
>>>>
>>>
>>>
>>>
>>> Experiences
>>>
>>> Skills:
>>> -Working Knowledge of GIT
>>> -1 year experience in web development using
>>> PHP,HTML,JavaScript,Postgres,MySQL
>>> -Have knowledge of Design Patterns
>>> -Working Knowledge of PHP
>>>
>>> I, as a part of team manages institutes website www.iitr.ac.in
>>> We have setup a intranet portal (totally managed by students) inside
>>> campus
>>> of IIT Rookee which has around 80 applications (mostly in PHP) hosted on
>>> it.I have created Ebooks sharing portal within the intranet.I have very
>>> good
>>> experience in web designing (e.g, I have created website during last year
>>> summer internship www.raysconsultants.com ).
>>>
>>> Open Source contributions
>>> I have submitted following patches in PhpMyAdmin :
>>> 1)XML export of
>>> views<
>>> https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410
>>>>
>>> 2)XML Plugin for database
>>> Export<
>>> https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410
>>>>
>>> 3)Left Frame not
>>> updated<
>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>
>>>
>>> On Fri, Apr 8, 2011 at 10:05 PM, AAMIR KHAN<ak...@gmail.com> wrote:
>>>
>>> I already applied to google-melange Eric...
>>>>
>>>>
>>>>
>>>> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005
>>>>
>>>> <
>>>> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005
>>>>>
>>>>
>>>> On Fri, Apr 8, 2011 at 9:23 AM, Eric Charles<er...@apache.org> wrote:
>>>>
>>>> Also, ping us on this mailing list when you will have applied on
>>>>> google-melange so we can review it.
>>>>> Tks,
>>>>> - Eric
>>>>>
>>>>>
>>>>> On 8/04/2011 05:26, Eric Charles wrote:
>>>>>
>>>>> Hi,
>>>>>>
>>>>>> The idea of RESTful is to let communicate a client system with a server
>>>>>> system via HTTP, transfering request parameters as http_request_params,
>>>>>> getting response ax structured document (xml or json) in the
>>>>>> http_response_body.
>>>>>>
>>>>>> You can read more on
>>>>>> http://en.wikipedia.org/wiki/Representational_State_Transfer
>>>>>>
>>>>>> Couchdb has such an API (
>>>>>> http://wiki.apache.org/couchdb/HTTP_Document_API)
>>>>>>
>>>>>> It seems you are good at sprint :) (you are just in time for the
>>>>>> deadline).
>>>>>>
>>>>>> You could outline in your application that event if the first
>>>>>> implementation will be for couchdb, the RESTful "framework" will be
>>>>>> designed to support other datastores. Therefor, 1 week design before
>>>>>> the
>>>>>> 8 weeks (becoming 7 weeks) would be good.
>>>>>>
>>>>>> Hopes this help.
>>>>>> (Don't wait to register and inject this on google melange, you can
>>>>>> always update it after).
>>>>>>
>>>>>> - Tks,
>>>>>> Eric
>>>>>>
>>>>>>
>>>>>> On 8/04/2011 00:49, AAMIR KHAN wrote:
>>>>>>
>>>>>> I would like to have valuable suggestions over my proposal..
>>>>>>>
>>>>>>> On Fri, Apr 8, 2011 at 4:18 AM, AAMIR KHAN<ak...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>> *
>>>>>>>
>>>>>>>> Proposal Title: Design and Implement Mailbox with CouchDB storage.
>>>>>>>>
>>>>>>>>
>>>>>>>> Student Name: Aamir Khan
>>>>>>>>
>>>>>>>> Student E-mail: ak4u2009@gmail.com
>>>>>>>>
>>>>>>>> Organization/Project: James Mailbox Apache Software Foundation
>>>>>>>>
>>>>>>>> Assigned Mentor: Robert Burrell Donkin (rdonkin@apache.org )
>>>>>>>>
>>>>>>>> Proposal Abstract:
>>>>>>>> CouchDB is non-relational, semi-structured database having great
>>>>>>>> potential
>>>>>>>> for mail storage. My project is to design and implement mail storage
>>>>>>>> in
>>>>>>>> James Mailbox using CouchDB. RESTful integration API will also be
>>>>>>>> done.
>>>>>>>>
>>>>>>>>
>>>>>>>> Detailed Description:
>>>>>>>>
>>>>>>>> Why?
>>>>>>>>
>>>>>>>> lets consider a example Mail:
>>>>>>>>
>>>>>>>> “From” : “ak4u2009@gmail.com”
>>>>>>>> “To” : “server-dev@james.apache.org”
>>>>>>>> “Subject” : “Implementation of CoucheDB”
>>>>>>>> “Body” : “Implementation Proposal”
>>>>>>>>
>>>>>>>> All the messages like the one stated above will be stored as a flat
>>>>>>>> collection in CouchDB. Since the mail contents are generally semi
>>>>>>>> structured
>>>>>>>> thats why CouchDB is most preferable database for the same.
>>>>>>>>
>>>>>>>> Distributivity:
>>>>>>>>
>>>>>>>> Since CouchDB is a distributed system. We can have multiple
>>>>>>>> independent
>>>>>>>> copies of mails to different servers (faster performance) and
>>>>>>>> whenever we
>>>>>>>> want we can redistribute changes bidirectionally.It is also helpful
>>>>>>>> if one
>>>>>>>> of the mail server fails then other backup servers can fulfill the
>>>>>>>> requests.
>>>>>>>>
>>>>>>>> How?
>>>>>>>>
>>>>>>>> Road Map
>>>>>>>>
>>>>>>>> 0) Code Familiarity : Already started and going.
>>>>>>>> 1) Programming : 8 Weeks
>>>>>>>> 2) Review and Testing : 1 week
>>>>>>>> 3) Bug Fixing Time : 1 week
>>>>>>>> 4) Documentation : 1 week
>>>>>>>>
>>>>>>>> 5) Buffer Time for any unpredicted delay and Second phase of testing
>>>>>>>> :
>>>>>>>> 1
>>>>>>>> week
>>>>>>>>
>>>>>>>> Deliverable& Project Schedule
>>>>>>>>
>>>>>>>> April 25-May 23(Community Bonding Period) :
>>>>>>>> I would be in constant touch with my mentor and james mailbox
>>>>>>>> community as a whole. I would discuss further about the project with
>>>>>>>> my
>>>>>>>> mentor and keep posting about implementation plans over the main
>>>>>>>> server-dev@james.apache.org mailing list. Finalise the design for
>>>>>>>>
>>>>>>>> implementation of CouchDB after discussion with whole community.
>>>>>>>>
>>>>>>>> May 24 - 20 June :
>>>>>>>>
>>>>>>>>
>>>>>>>> Implement the finalised plan for Couch DB.
>>>>>>>>
>>>>>>>> June 21 - June 28 :
>>>>>>>>
>>>>>>>> Test and debug implementation of CouchDB with regressive test.
>>>>>>>>
>>>>>>>> July 1 - July 10 :
>>>>>>>>
>>>>>>>> -Implement RESTful integration API for Retrieving mail.
>>>>>>>> -Test and debug implementation of Retrieving mail API.
>>>>>>>>
>>>>>>>> July 11 - July 20 :
>>>>>>>>
>>>>>>>> -Implement RESTful integration API for Sending mail.
>>>>>>>> -Test and debug implementation of Sending mail API.
>>>>>>>>
>>>>>>>> July 21 - July 30 :
>>>>>>>>
>>>>>>>> -Implement RESTful integration API for Deleting mail.
>>>>>>>> -Test and debug implementation of Deleting mail API.
>>>>>>>>
>>>>>>>> August 1-August 15 (Buffer Time):
>>>>>>>>
>>>>>>>> Second phase of testing: Testing of debugged code.
>>>>>>>>
>>>>>>>> August 15-August 22:
>>>>>>>>
>>>>>>>> -Work on Documentation.
>>>>>>>>
>>>>>>>> -Finally discuss the project with mentors.
>>>>>>>>
>>>>>>>> -Debugging the bugs (if any reported by Mentor)
>>>>>>>>
>>>>>>>> -Improve the Documentation, Release.
>>>>>>>>
>>>>>>>> August 22 - August 26 :
>>>>>>>>
>>>>>>>> -Final Evaluation Submission
>>>>>>>>
>>>>>>>>
>>>>>>>> Available Time
>>>>>>>> I am committed to giving at least 40-50 hours per week to GSOC. Since
>>>>>>>> I am
>>>>>>>> not doing anything this summer, I believe that the time devoted to
>>>>>>>> GSOC will
>>>>>>>> be much more than that, for sure. I have excellent work ethics, and a
>>>>>>>> goal
>>>>>>>> oriented guy.
>>>>>>>>
>>>>>>>>
>>>>>>>> Additional Information:
>>>>>>>>
>>>>>>>> Bio
>>>>>>>> I am 19 years old. I live in India.Studying at one of the most
>>>>>>>> premier
>>>>>>>> institute in India namely Indian Institute of Technology
>>>>>>>> Roorkee<http://www.iitr.ac.in/>pursuing my Bachelor of Technology
>>>>>>>>
>>>>>>>> Computer Science& Engineering.I have
>>>>>>>> took courses like Computer programming in C++ at school and college
>>>>>>>> levels.I
>>>>>>>> have started serious problem solving around two months back.I have
>>>>>>>> also
>>>>>>>> worked in PHP as mentioned in experiences.I have got prizes in
>>>>>>>> various
>>>>>>>> website designing competitions at school& college levels.
>>>>>>>>
>>>>>>>> I like to contribute in open source communities because it gives me
>>>>>>>> experience,technical expertise and it teaches spirit of team work.
>>>>>>>> And its
>>>>>>>> my time to give back to community from which i gained a lot of
>>>>>>>> experience
>>>>>>>> and motivation.
>>>>>>>>
>>>>>>>> You can have a look over my
>>>>>>>> Resume<
>>>>>>>>
>>>>>>>> https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Experiences
>>>>>>>>
>>>>>>>> Skills:
>>>>>>>> -Working Knowledge of GIT
>>>>>>>> -1 year experience in web development using
>>>>>>>> PHP,HTML,JavaScript,Postgres,MySQL
>>>>>>>> -Have knowledge of Design Patterns
>>>>>>>> -Working Knowledge of PHP
>>>>>>>>
>>>>>>>> I, as a part of team manages institutes website www.iitr.ac.in
>>>>>>>> We have setup a intranet portal (totally managed by students) inside
>>>>>>>> campus
>>>>>>>> of IIT Rookee which has around 80 applications (mostly in PHP) hosted
>>>>>>>> on
>>>>>>>> it.I have created Ebooks sharing portal within the intranet.I have
>>>>>>>> very good
>>>>>>>> experience in web designing (e.g, I have created website during last
>>>>>>>> year
>>>>>>>> summer internship www.raysconsultants.com ).
>>>>>>>>
>>>>>>>> Open Source contributions
>>>>>>>> I have submitted following patches in PhpMyAdmin :
>>>>>>>> 1)XML export of
>>>>>>>> views<
>>>>>>>>
>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>> 2)XML Plugin for database
>>>>>>>> Export<
>>>>>>>>
>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>> 3)Left Frame not
>>>>>>>> updated<
>>>>>>>>
>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> <
>>>>>>>>
>>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Aamir Khan
>>>>>>>> *
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>>
>>>>>
>>>>>
>>>>
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-dev-help@james.apache.org
>>
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by AAMIR KHAN <ak...@gmail.com>.
the proposal i sent to google-melange is the same as posted over mailing
list.
Maybe you can comment it over here.
On Sat, Apr 9, 2011 at 12:15 AM, Eric Charles <er...@apache.org> wrote:
>
>
>
> Hi Aamir,
> That's good.
> Once I will get access to your application on google melange, I will ask
> for mentorship.
> Tks,
> Eric
>
>
> On 8/04/2011 19:42, AAMIR KHAN wrote:
>
>> Revised Proposal :
>>
>>
>> Proposal Title:
>> Design and Implement Mailbox with CouchDB mail storage.
>>
>> Student Name:
>> Aamir Khan
>>
>> Student E-mail:
>> ak4u2009@gmail.com
>>
>> Organization/Project:
>> James Mailbox Apache Software Foundation
>>
>> Assigned Mentor:
>> Robert Burrell Donkin (rdonkin@apache.org )
>>
>> Proposal Abstract:
>> Since most of the mail contents are semi-structured in nature.CouchDB is
>> non-relational, semi-structured database having great potential for mail
>> storage. My project is to design and implement mail storage in James
>> Mailbox
>> using CouchDB. RESTful integration API for Retrieving,Sending and Deleting
>> mails will also be done.
>>
>> Detailed Description:
>>
>> Why?
>>
>> lets consider a example Mail:
>>
>> “From” : “ak4u2009@gmail.com”
>> “To” : “server-dev@james.apache.org”
>> “Subject” : “Implementation of CoucheDB”
>> “Body” : “Implementation Proposal”
>>
>> All the messages like the one stated above will be stored as a flat
>> collection in CouchDB. Since the mail contents are generally semi
>> structured
>> thats why CouchDB is most preferable database for the same.
>>
>> Distributivity:
>>
>> Since CouchDB is a distributed system. We can have multiple independent
>> copies of mails to different servers (faster performance) and whenever we
>> want we can redistribute changes bidirectionally.It is also helpful if one
>> of the mail server fails then other backup servers can fulfill the
>> requests.
>>
>> How?
>>
>> Road Map
>>
>> 0) Code Familiarity : Already started and going.
>> 1) Design : 1 week
>> 2) Programming : 7 Weeks
>> 3) Review and Testing : 1 week
>> 4) Bug Fixing Time : 1 week
>> 5) Documentation : 1 week
>> 6) Buffer Time for any unpredicted delay and Second phase of testing : 1
>> week
>>
>> Deliverable& Project Schedule
>>
>> April 25-May 23(Community Bonding Period) :
>> I would be in constant touch with my mentor and james
>> mailbox
>> community as a whole. I would discuss further about the project with my
>> mentor and keep posting about implementation plans over the main
>> server-dev@james.apache.org mailing list. Discuss the design for
>> implementation of CouchDB after discussion with whole community.
>>
>> May 24 - May 31 : Finalise the design for implementation of CouchDB after
>> discussion with whole community.
>>
>> June 1 - 20 June :
>>
>> Implement the finalised plan for Couch DB.
>>
>> June 21 - June 28 :
>>
>> Test and debug implementation of CouchDB with regressive test.
>>
>> July 1 - July 10 :
>>
>> -Implement RESTful integration API for Retrieving mail. This should be
>> performed using GET operation at the document’s URL.
>>
>> -This will implement : GET /database_name/mail_id HTTP/1.0 . Here mail_id
>> will be used to identify a particular unique Email Content.
>> -Test and debug implementation of Retrieving mail API.
>>
>> July 11 - July 20 :
>>
>> -Implement RESTful integration API for Sending mail. This should be done
>> using POST operation of HTTP_Document_API.
>>
>> -This will implement : POST /database_name/ HTTP/1.0 .
>> -Test and debug implementation of Sending mail API.
>>
>> July 21 - July 30 :
>>
>> -Implement RESTful integration API for Deleting mail. This should be done
>> using DELETE operation of HTTP_Document_API.
>>
>> -This will implement : DELETE /database_name/mail_id?revid=current_version
>> HTTP/1.0 . Here mail_id will be used to identify a particular unique
>> Email
>> Content.
>> -Test and debug implementation of Deleting mail API.
>>
>> The time line specified above is somewhat adjustable. If i can comeplete
>> the
>> above mentioned integrations before time, I would proceed with the
>> following
>> API’s integration in order:
>>
>> -Inline Attachments
>> -Multiple Attachments
>> -Stand Alone Attachments
>> -ETags/Caching
>>
>> August 1-August 15 (Buffer Time):
>>
>> Second phase of testing: Testing of debugged code.
>>
>> August 15-August 22:
>>
>> -Work on Documentation.
>>
>> -Finally discuss the project with mentors.
>>
>> -Debugging the bugs (if any reported by Mentor)
>>
>> -Improve the Documentation, Release.
>>
>> August 22 - August 26 :
>>
>> -Final Evaluation Submission
>>
>>
>> Available Time
>> I am committed to giving at least 40-50 hours per week to GSOC. Since I am
>> not doing anything this summer, I believe that the time devoted to GSOC
>> will
>> be much more than that, for sure. I have excellent work ethics, and a goal
>> oriented guy.
>>
>>
>> Additional Information:
>>
>> Bio
>> I am 19 years old. I live in India.Studying at one of the most premier
>> institute in India namely Indian Institute of Technology
>> Roorkee<http://www.iitr.ac.in>pursuing my Bachelor of Technology
>>
>> Computer Science& Engineering.I have
>> took courses like Computer programming in C++ at school and college
>> levels.I
>> have started serious problem solving around two months back.I have also
>> worked in PHP as mentioned in experiences.I have got prizes in various
>> website designing competitions at school& college levels.
>>
>> I like to contribute in open source communities because it gives me
>> experience,technical expertise and it teaches spirit of team work. And its
>> my time to give back to community from which i gained a lot of experience
>> and motivation.
>>
>> You can have a look over
>> myResume<
>> https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC
>> >
>>
>>
>>
>> Experiences
>>
>> Skills:
>> -Working Knowledge of GIT
>> -1 year experience in web development using
>> PHP,HTML,JavaScript,Postgres,MySQL
>> -Have knowledge of Design Patterns
>> -Working Knowledge of PHP
>>
>> I, as a part of team manages institutes website www.iitr.ac.in
>> We have setup a intranet portal (totally managed by students) inside
>> campus
>> of IIT Rookee which has around 80 applications (mostly in PHP) hosted on
>> it.I have created Ebooks sharing portal within the intranet.I have very
>> good
>> experience in web designing (e.g, I have created website during last year
>> summer internship www.raysconsultants.com ).
>>
>> Open Source contributions
>> I have submitted following patches in PhpMyAdmin :
>> 1)XML export of
>> views<
>> https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410
>> >
>> 2)XML Plugin for database
>> Export<
>> https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410
>> >
>> 3)Left Frame not
>> updated<
>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>> >
>>
>> On Fri, Apr 8, 2011 at 10:05 PM, AAMIR KHAN<ak...@gmail.com> wrote:
>>
>> I already applied to google-melange Eric...
>>>
>>>
>>>
>>> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005
>>>
>>> <
>>> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005
>>> >
>>>
>>> On Fri, Apr 8, 2011 at 9:23 AM, Eric Charles<er...@apache.org> wrote:
>>>
>>> Also, ping us on this mailing list when you will have applied on
>>>> google-melange so we can review it.
>>>> Tks,
>>>> - Eric
>>>>
>>>>
>>>> On 8/04/2011 05:26, Eric Charles wrote:
>>>>
>>>> Hi,
>>>>>
>>>>> The idea of RESTful is to let communicate a client system with a server
>>>>> system via HTTP, transfering request parameters as http_request_params,
>>>>> getting response ax structured document (xml or json) in the
>>>>> http_response_body.
>>>>>
>>>>> You can read more on
>>>>> http://en.wikipedia.org/wiki/Representational_State_Transfer
>>>>>
>>>>> Couchdb has such an API (
>>>>> http://wiki.apache.org/couchdb/HTTP_Document_API)
>>>>>
>>>>> It seems you are good at sprint :) (you are just in time for the
>>>>> deadline).
>>>>>
>>>>> You could outline in your application that event if the first
>>>>> implementation will be for couchdb, the RESTful "framework" will be
>>>>> designed to support other datastores. Therefor, 1 week design before
>>>>> the
>>>>> 8 weeks (becoming 7 weeks) would be good.
>>>>>
>>>>> Hopes this help.
>>>>> (Don't wait to register and inject this on google melange, you can
>>>>> always update it after).
>>>>>
>>>>> - Tks,
>>>>> Eric
>>>>>
>>>>>
>>>>> On 8/04/2011 00:49, AAMIR KHAN wrote:
>>>>>
>>>>> I would like to have valuable suggestions over my proposal..
>>>>>>
>>>>>> On Fri, Apr 8, 2011 at 4:18 AM, AAMIR KHAN<ak...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>> *
>>>>>>
>>>>>>> Proposal Title: Design and Implement Mailbox with CouchDB storage.
>>>>>>>
>>>>>>>
>>>>>>> Student Name: Aamir Khan
>>>>>>>
>>>>>>> Student E-mail: ak4u2009@gmail.com
>>>>>>>
>>>>>>> Organization/Project: James Mailbox Apache Software Foundation
>>>>>>>
>>>>>>> Assigned Mentor: Robert Burrell Donkin (rdonkin@apache.org )
>>>>>>>
>>>>>>> Proposal Abstract:
>>>>>>> CouchDB is non-relational, semi-structured database having great
>>>>>>> potential
>>>>>>> for mail storage. My project is to design and implement mail storage
>>>>>>> in
>>>>>>> James Mailbox using CouchDB. RESTful integration API will also be
>>>>>>> done.
>>>>>>>
>>>>>>>
>>>>>>> Detailed Description:
>>>>>>>
>>>>>>> Why?
>>>>>>>
>>>>>>> lets consider a example Mail:
>>>>>>>
>>>>>>> “From” : “ak4u2009@gmail.com”
>>>>>>> “To” : “server-dev@james.apache.org”
>>>>>>> “Subject” : “Implementation of CoucheDB”
>>>>>>> “Body” : “Implementation Proposal”
>>>>>>>
>>>>>>> All the messages like the one stated above will be stored as a flat
>>>>>>> collection in CouchDB. Since the mail contents are generally semi
>>>>>>> structured
>>>>>>> thats why CouchDB is most preferable database for the same.
>>>>>>>
>>>>>>> Distributivity:
>>>>>>>
>>>>>>> Since CouchDB is a distributed system. We can have multiple
>>>>>>> independent
>>>>>>> copies of mails to different servers (faster performance) and
>>>>>>> whenever we
>>>>>>> want we can redistribute changes bidirectionally.It is also helpful
>>>>>>> if one
>>>>>>> of the mail server fails then other backup servers can fulfill the
>>>>>>> requests.
>>>>>>>
>>>>>>> How?
>>>>>>>
>>>>>>> Road Map
>>>>>>>
>>>>>>> 0) Code Familiarity : Already started and going.
>>>>>>> 1) Programming : 8 Weeks
>>>>>>> 2) Review and Testing : 1 week
>>>>>>> 3) Bug Fixing Time : 1 week
>>>>>>> 4) Documentation : 1 week
>>>>>>>
>>>>>>> 5) Buffer Time for any unpredicted delay and Second phase of testing
>>>>>>> :
>>>>>>> 1
>>>>>>> week
>>>>>>>
>>>>>>> Deliverable& Project Schedule
>>>>>>>
>>>>>>> April 25-May 23(Community Bonding Period) :
>>>>>>> I would be in constant touch with my mentor and james mailbox
>>>>>>> community as a whole. I would discuss further about the project with
>>>>>>> my
>>>>>>> mentor and keep posting about implementation plans over the main
>>>>>>> server-dev@james.apache.org mailing list. Finalise the design for
>>>>>>>
>>>>>>> implementation of CouchDB after discussion with whole community.
>>>>>>>
>>>>>>> May 24 - 20 June :
>>>>>>>
>>>>>>>
>>>>>>> Implement the finalised plan for Couch DB.
>>>>>>>
>>>>>>> June 21 - June 28 :
>>>>>>>
>>>>>>> Test and debug implementation of CouchDB with regressive test.
>>>>>>>
>>>>>>> July 1 - July 10 :
>>>>>>>
>>>>>>> -Implement RESTful integration API for Retrieving mail.
>>>>>>> -Test and debug implementation of Retrieving mail API.
>>>>>>>
>>>>>>> July 11 - July 20 :
>>>>>>>
>>>>>>> -Implement RESTful integration API for Sending mail.
>>>>>>> -Test and debug implementation of Sending mail API.
>>>>>>>
>>>>>>> July 21 - July 30 :
>>>>>>>
>>>>>>> -Implement RESTful integration API for Deleting mail.
>>>>>>> -Test and debug implementation of Deleting mail API.
>>>>>>>
>>>>>>> August 1-August 15 (Buffer Time):
>>>>>>>
>>>>>>> Second phase of testing: Testing of debugged code.
>>>>>>>
>>>>>>> August 15-August 22:
>>>>>>>
>>>>>>> -Work on Documentation.
>>>>>>>
>>>>>>> -Finally discuss the project with mentors.
>>>>>>>
>>>>>>> -Debugging the bugs (if any reported by Mentor)
>>>>>>>
>>>>>>> -Improve the Documentation, Release.
>>>>>>>
>>>>>>> August 22 - August 26 :
>>>>>>>
>>>>>>> -Final Evaluation Submission
>>>>>>>
>>>>>>>
>>>>>>> Available Time
>>>>>>> I am committed to giving at least 40-50 hours per week to GSOC. Since
>>>>>>> I am
>>>>>>> not doing anything this summer, I believe that the time devoted to
>>>>>>> GSOC will
>>>>>>> be much more than that, for sure. I have excellent work ethics, and a
>>>>>>> goal
>>>>>>> oriented guy.
>>>>>>>
>>>>>>>
>>>>>>> Additional Information:
>>>>>>>
>>>>>>> Bio
>>>>>>> I am 19 years old. I live in India.Studying at one of the most
>>>>>>> premier
>>>>>>> institute in India namely Indian Institute of Technology
>>>>>>> Roorkee<http://www.iitr.ac.in/>pursuing my Bachelor of Technology
>>>>>>>
>>>>>>> Computer Science& Engineering.I have
>>>>>>> took courses like Computer programming in C++ at school and college
>>>>>>> levels.I
>>>>>>> have started serious problem solving around two months back.I have
>>>>>>> also
>>>>>>> worked in PHP as mentioned in experiences.I have got prizes in
>>>>>>> various
>>>>>>> website designing competitions at school& college levels.
>>>>>>>
>>>>>>> I like to contribute in open source communities because it gives me
>>>>>>> experience,technical expertise and it teaches spirit of team work.
>>>>>>> And its
>>>>>>> my time to give back to community from which i gained a lot of
>>>>>>> experience
>>>>>>> and motivation.
>>>>>>>
>>>>>>> You can have a look over my
>>>>>>> Resume<
>>>>>>>
>>>>>>> https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Experiences
>>>>>>>
>>>>>>> Skills:
>>>>>>> -Working Knowledge of GIT
>>>>>>> -1 year experience in web development using
>>>>>>> PHP,HTML,JavaScript,Postgres,MySQL
>>>>>>> -Have knowledge of Design Patterns
>>>>>>> -Working Knowledge of PHP
>>>>>>>
>>>>>>> I, as a part of team manages institutes website www.iitr.ac.in
>>>>>>> We have setup a intranet portal (totally managed by students) inside
>>>>>>> campus
>>>>>>> of IIT Rookee which has around 80 applications (mostly in PHP) hosted
>>>>>>> on
>>>>>>> it.I have created Ebooks sharing portal within the intranet.I have
>>>>>>> very good
>>>>>>> experience in web designing (e.g, I have created website during last
>>>>>>> year
>>>>>>> summer internship www.raysconsultants.com ).
>>>>>>>
>>>>>>> Open Source contributions
>>>>>>> I have submitted following patches in PhpMyAdmin :
>>>>>>> 1)XML export of
>>>>>>> views<
>>>>>>>
>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> 2)XML Plugin for database
>>>>>>> Export<
>>>>>>>
>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> 3)Left Frame not
>>>>>>> updated<
>>>>>>>
>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> <
>>>>>>>
>>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> Thanks
>>>>>>> Aamir Khan
>>>>>>> *
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>
>>>>
>>>>
>>>
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by Eric Charles <er...@apache.org>.
Hi Aamir,
That's good.
Once I will get access to your application on google melange, I will ask
for mentorship.
Tks,
Eric
On 8/04/2011 19:42, AAMIR KHAN wrote:
> Revised Proposal :
>
>
> Proposal Title:
> Design and Implement Mailbox with CouchDB mail storage.
>
> Student Name:
> Aamir Khan
>
> Student E-mail:
> ak4u2009@gmail.com
>
> Organization/Project:
> James Mailbox Apache Software Foundation
>
> Assigned Mentor:
> Robert Burrell Donkin (rdonkin@apache.org )
>
> Proposal Abstract:
> Since most of the mail contents are semi-structured in nature.CouchDB is
> non-relational, semi-structured database having great potential for mail
> storage. My project is to design and implement mail storage in James Mailbox
> using CouchDB. RESTful integration API for Retrieving,Sending and Deleting
> mails will also be done.
>
> Detailed Description:
>
> Why?
>
> lets consider a example Mail:
>
> “From” : “ak4u2009@gmail.com”
> “To” : “server-dev@james.apache.org”
> “Subject” : “Implementation of CoucheDB”
> “Body” : “Implementation Proposal”
>
> All the messages like the one stated above will be stored as a flat
> collection in CouchDB. Since the mail contents are generally semi structured
> thats why CouchDB is most preferable database for the same.
>
> Distributivity:
>
> Since CouchDB is a distributed system. We can have multiple independent
> copies of mails to different servers (faster performance) and whenever we
> want we can redistribute changes bidirectionally.It is also helpful if one
> of the mail server fails then other backup servers can fulfill the requests.
>
> How?
>
> Road Map
>
> 0) Code Familiarity : Already started and going.
> 1) Design : 1 week
> 2) Programming : 7 Weeks
> 3) Review and Testing : 1 week
> 4) Bug Fixing Time : 1 week
> 5) Documentation : 1 week
> 6) Buffer Time for any unpredicted delay and Second phase of testing : 1
> week
>
> Deliverable& Project Schedule
>
> April 25-May 23(Community Bonding Period) :
> I would be in constant touch with my mentor and james mailbox
> community as a whole. I would discuss further about the project with my
> mentor and keep posting about implementation plans over the main
> server-dev@james.apache.org mailing list. Discuss the design for
> implementation of CouchDB after discussion with whole community.
>
> May 24 - May 31 : Finalise the design for implementation of CouchDB after
> discussion with whole community.
>
> June 1 - 20 June :
>
> Implement the finalised plan for Couch DB.
>
> June 21 - June 28 :
>
> Test and debug implementation of CouchDB with regressive test.
>
> July 1 - July 10 :
>
> -Implement RESTful integration API for Retrieving mail. This should be
> performed using GET operation at the document’s URL.
>
> -This will implement : GET /database_name/mail_id HTTP/1.0 . Here mail_id
> will be used to identify a particular unique Email Content.
> -Test and debug implementation of Retrieving mail API.
>
> July 11 - July 20 :
>
> -Implement RESTful integration API for Sending mail. This should be done
> using POST operation of HTTP_Document_API.
>
> -This will implement : POST /database_name/ HTTP/1.0 .
> -Test and debug implementation of Sending mail API.
>
> July 21 - July 30 :
>
> -Implement RESTful integration API for Deleting mail. This should be done
> using DELETE operation of HTTP_Document_API.
>
> -This will implement : DELETE /database_name/mail_id?revid=current_version
> HTTP/1.0 . Here mail_id will be used to identify a particular unique Email
> Content.
> -Test and debug implementation of Deleting mail API.
>
> The time line specified above is somewhat adjustable. If i can comeplete the
> above mentioned integrations before time, I would proceed with the following
> API’s integration in order:
>
> -Inline Attachments
> -Multiple Attachments
> -Stand Alone Attachments
> -ETags/Caching
>
> August 1-August 15 (Buffer Time):
>
> Second phase of testing: Testing of debugged code.
>
> August 15-August 22:
>
> -Work on Documentation.
>
> -Finally discuss the project with mentors.
>
> -Debugging the bugs (if any reported by Mentor)
>
> -Improve the Documentation, Release.
>
> August 22 - August 26 :
>
> -Final Evaluation Submission
>
>
> Available Time
> I am committed to giving at least 40-50 hours per week to GSOC. Since I am
> not doing anything this summer, I believe that the time devoted to GSOC will
> be much more than that, for sure. I have excellent work ethics, and a goal
> oriented guy.
>
>
> Additional Information:
>
> Bio
> I am 19 years old. I live in India.Studying at one of the most premier
> institute in India namely Indian Institute of Technology
> Roorkee<http://www.iitr.ac.in>pursuing my Bachelor of Technology
> Computer Science& Engineering.I have
> took courses like Computer programming in C++ at school and college levels.I
> have started serious problem solving around two months back.I have also
> worked in PHP as mentioned in experiences.I have got prizes in various
> website designing competitions at school& college levels.
>
> I like to contribute in open source communities because it gives me
> experience,technical expertise and it teaches spirit of team work. And its
> my time to give back to community from which i gained a lot of experience
> and motivation.
>
> You can have a look over
> myResume<https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC>
>
>
> Experiences
>
> Skills:
> -Working Knowledge of GIT
> -1 year experience in web development using
> PHP,HTML,JavaScript,Postgres,MySQL
> -Have knowledge of Design Patterns
> -Working Knowledge of PHP
>
> I, as a part of team manages institutes website www.iitr.ac.in
> We have setup a intranet portal (totally managed by students) inside campus
> of IIT Rookee which has around 80 applications (mostly in PHP) hosted on
> it.I have created Ebooks sharing portal within the intranet.I have very good
> experience in web designing (e.g, I have created website during last year
> summer internship www.raysconsultants.com ).
>
> Open Source contributions
> I have submitted following patches in PhpMyAdmin :
> 1)XML export of
> views<https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410>
> 2)XML Plugin for database
> Export<https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410>
> 3)Left Frame not
> updated<https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410>
>
> On Fri, Apr 8, 2011 at 10:05 PM, AAMIR KHAN<ak...@gmail.com> wrote:
>
>> I already applied to google-melange Eric...
>>
>>
>> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005
>>
>> <http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005>
>>
>> On Fri, Apr 8, 2011 at 9:23 AM, Eric Charles<er...@apache.org> wrote:
>>
>>> Also, ping us on this mailing list when you will have applied on
>>> google-melange so we can review it.
>>> Tks,
>>> - Eric
>>>
>>>
>>> On 8/04/2011 05:26, Eric Charles wrote:
>>>
>>>> Hi,
>>>>
>>>> The idea of RESTful is to let communicate a client system with a server
>>>> system via HTTP, transfering request parameters as http_request_params,
>>>> getting response ax structured document (xml or json) in the
>>>> http_response_body.
>>>>
>>>> You can read more on
>>>> http://en.wikipedia.org/wiki/Representational_State_Transfer
>>>>
>>>> Couchdb has such an API (
>>>> http://wiki.apache.org/couchdb/HTTP_Document_API)
>>>>
>>>> It seems you are good at sprint :) (you are just in time for the
>>>> deadline).
>>>>
>>>> You could outline in your application that event if the first
>>>> implementation will be for couchdb, the RESTful "framework" will be
>>>> designed to support other datastores. Therefor, 1 week design before the
>>>> 8 weeks (becoming 7 weeks) would be good.
>>>>
>>>> Hopes this help.
>>>> (Don't wait to register and inject this on google melange, you can
>>>> always update it after).
>>>>
>>>> - Tks,
>>>> Eric
>>>>
>>>>
>>>> On 8/04/2011 00:49, AAMIR KHAN wrote:
>>>>
>>>>> I would like to have valuable suggestions over my proposal..
>>>>>
>>>>> On Fri, Apr 8, 2011 at 4:18 AM, AAMIR KHAN<ak...@gmail.com> wrote:
>>>>>
>>>>> *
>>>>>> Proposal Title: Design and Implement Mailbox with CouchDB storage.
>>>>>>
>>>>>> Student Name: Aamir Khan
>>>>>>
>>>>>> Student E-mail: ak4u2009@gmail.com
>>>>>>
>>>>>> Organization/Project: James Mailbox Apache Software Foundation
>>>>>>
>>>>>> Assigned Mentor: Robert Burrell Donkin (rdonkin@apache.org )
>>>>>>
>>>>>> Proposal Abstract:
>>>>>> CouchDB is non-relational, semi-structured database having great
>>>>>> potential
>>>>>> for mail storage. My project is to design and implement mail storage in
>>>>>> James Mailbox using CouchDB. RESTful integration API will also be done.
>>>>>>
>>>>>> Detailed Description:
>>>>>>
>>>>>> Why?
>>>>>>
>>>>>> lets consider a example Mail:
>>>>>>
>>>>>> “From” : “ak4u2009@gmail.com”
>>>>>> “To” : “server-dev@james.apache.org”
>>>>>> “Subject” : “Implementation of CoucheDB”
>>>>>> “Body” : “Implementation Proposal”
>>>>>>
>>>>>> All the messages like the one stated above will be stored as a flat
>>>>>> collection in CouchDB. Since the mail contents are generally semi
>>>>>> structured
>>>>>> thats why CouchDB is most preferable database for the same.
>>>>>>
>>>>>> Distributivity:
>>>>>>
>>>>>> Since CouchDB is a distributed system. We can have multiple independent
>>>>>> copies of mails to different servers (faster performance) and
>>>>>> whenever we
>>>>>> want we can redistribute changes bidirectionally.It is also helpful
>>>>>> if one
>>>>>> of the mail server fails then other backup servers can fulfill the
>>>>>> requests.
>>>>>>
>>>>>> How?
>>>>>>
>>>>>> Road Map
>>>>>>
>>>>>> 0) Code Familiarity : Already started and going.
>>>>>> 1) Programming : 8 Weeks
>>>>>> 2) Review and Testing : 1 week
>>>>>> 3) Bug Fixing Time : 1 week
>>>>>> 4) Documentation : 1 week
>>>>>> 5) Buffer Time for any unpredicted delay and Second phase of testing :
>>>>>> 1
>>>>>> week
>>>>>>
>>>>>> Deliverable& Project Schedule
>>>>>>
>>>>>> April 25-May 23(Community Bonding Period) :
>>>>>> I would be in constant touch with my mentor and james mailbox
>>>>>> community as a whole. I would discuss further about the project with my
>>>>>> mentor and keep posting about implementation plans over the main
>>>>>> server-dev@james.apache.org mailing list. Finalise the design for
>>>>>> implementation of CouchDB after discussion with whole community.
>>>>>>
>>>>>> May 24 - 20 June :
>>>>>>
>>>>>> Implement the finalised plan for Couch DB.
>>>>>>
>>>>>> June 21 - June 28 :
>>>>>>
>>>>>> Test and debug implementation of CouchDB with regressive test.
>>>>>>
>>>>>> July 1 - July 10 :
>>>>>>
>>>>>> -Implement RESTful integration API for Retrieving mail.
>>>>>> -Test and debug implementation of Retrieving mail API.
>>>>>>
>>>>>> July 11 - July 20 :
>>>>>>
>>>>>> -Implement RESTful integration API for Sending mail.
>>>>>> -Test and debug implementation of Sending mail API.
>>>>>>
>>>>>> July 21 - July 30 :
>>>>>>
>>>>>> -Implement RESTful integration API for Deleting mail.
>>>>>> -Test and debug implementation of Deleting mail API.
>>>>>>
>>>>>> August 1-August 15 (Buffer Time):
>>>>>>
>>>>>> Second phase of testing: Testing of debugged code.
>>>>>>
>>>>>> August 15-August 22:
>>>>>>
>>>>>> -Work on Documentation.
>>>>>>
>>>>>> -Finally discuss the project with mentors.
>>>>>>
>>>>>> -Debugging the bugs (if any reported by Mentor)
>>>>>>
>>>>>> -Improve the Documentation, Release.
>>>>>>
>>>>>> August 22 - August 26 :
>>>>>>
>>>>>> -Final Evaluation Submission
>>>>>>
>>>>>>
>>>>>> Available Time
>>>>>> I am committed to giving at least 40-50 hours per week to GSOC. Since
>>>>>> I am
>>>>>> not doing anything this summer, I believe that the time devoted to
>>>>>> GSOC will
>>>>>> be much more than that, for sure. I have excellent work ethics, and a
>>>>>> goal
>>>>>> oriented guy.
>>>>>>
>>>>>>
>>>>>> Additional Information:
>>>>>>
>>>>>> Bio
>>>>>> I am 19 years old. I live in India.Studying at one of the most premier
>>>>>> institute in India namely Indian Institute of Technology
>>>>>> Roorkee<http://www.iitr.ac.in/>pursuing my Bachelor of Technology
>>>>>> Computer Science& Engineering.I have
>>>>>> took courses like Computer programming in C++ at school and college
>>>>>> levels.I
>>>>>> have started serious problem solving around two months back.I have also
>>>>>> worked in PHP as mentioned in experiences.I have got prizes in various
>>>>>> website designing competitions at school& college levels.
>>>>>>
>>>>>> I like to contribute in open source communities because it gives me
>>>>>> experience,technical expertise and it teaches spirit of team work.
>>>>>> And its
>>>>>> my time to give back to community from which i gained a lot of
>>>>>> experience
>>>>>> and motivation.
>>>>>>
>>>>>> You can have a look over my
>>>>>> Resume<
>>>>>> https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Experiences
>>>>>>
>>>>>> Skills:
>>>>>> -Working Knowledge of GIT
>>>>>> -1 year experience in web development using
>>>>>> PHP,HTML,JavaScript,Postgres,MySQL
>>>>>> -Have knowledge of Design Patterns
>>>>>> -Working Knowledge of PHP
>>>>>>
>>>>>> I, as a part of team manages institutes website www.iitr.ac.in
>>>>>> We have setup a intranet portal (totally managed by students) inside
>>>>>> campus
>>>>>> of IIT Rookee which has around 80 applications (mostly in PHP) hosted
>>>>>> on
>>>>>> it.I have created Ebooks sharing portal within the intranet.I have
>>>>>> very good
>>>>>> experience in web designing (e.g, I have created website during last
>>>>>> year
>>>>>> summer internship www.raysconsultants.com ).
>>>>>>
>>>>>> Open Source contributions
>>>>>> I have submitted following patches in PhpMyAdmin :
>>>>>> 1)XML export of
>>>>>> views<
>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410
>>>>>>>
>>>>>>
>>>>>> 2)XML Plugin for database
>>>>>> Export<
>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410
>>>>>>>
>>>>>>
>>>>>> 3)Left Frame not
>>>>>> updated<
>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>>>
>>>>>>
>>>>>>
>>>>>> <
>>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>>>>
>>>>>>
>>>>>> Thanks
>>>>>> Aamir Khan
>>>>>> *
>>>>>>
>>>>>>
>>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>
>>>
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by AAMIR KHAN <ak...@gmail.com>.
Revised Proposal :
Proposal Title:
Design and Implement Mailbox with CouchDB mail storage.
Student Name:
Aamir Khan
Student E-mail:
ak4u2009@gmail.com
Organization/Project:
James Mailbox Apache Software Foundation
Assigned Mentor:
Robert Burrell Donkin (rdonkin@apache.org )
Proposal Abstract:
Since most of the mail contents are semi-structured in nature.CouchDB is
non-relational, semi-structured database having great potential for mail
storage. My project is to design and implement mail storage in James Mailbox
using CouchDB. RESTful integration API for Retrieving,Sending and Deleting
mails will also be done.
Detailed Description:
Why?
lets consider a example Mail:
“From” : “ak4u2009@gmail.com”
“To” : “server-dev@james.apache.org”
“Subject” : “Implementation of CoucheDB”
“Body” : “Implementation Proposal”
All the messages like the one stated above will be stored as a flat
collection in CouchDB. Since the mail contents are generally semi structured
thats why CouchDB is most preferable database for the same.
Distributivity:
Since CouchDB is a distributed system. We can have multiple independent
copies of mails to different servers (faster performance) and whenever we
want we can redistribute changes bidirectionally.It is also helpful if one
of the mail server fails then other backup servers can fulfill the requests.
How?
Road Map
0) Code Familiarity : Already started and going.
1) Design : 1 week
2) Programming : 7 Weeks
3) Review and Testing : 1 week
4) Bug Fixing Time : 1 week
5) Documentation : 1 week
6) Buffer Time for any unpredicted delay and Second phase of testing : 1
week
Deliverable & Project Schedule
April 25-May 23(Community Bonding Period) :
I would be in constant touch with my mentor and james mailbox
community as a whole. I would discuss further about the project with my
mentor and keep posting about implementation plans over the main
server-dev@james.apache.org mailing list. Discuss the design for
implementation of CouchDB after discussion with whole community.
May 24 - May 31 : Finalise the design for implementation of CouchDB after
discussion with whole community.
June 1 - 20 June :
Implement the finalised plan for Couch DB.
June 21 - June 28 :
Test and debug implementation of CouchDB with regressive test.
July 1 - July 10 :
-Implement RESTful integration API for Retrieving mail. This should be
performed using GET operation at the document’s URL.
-This will implement : GET /database_name/mail_id HTTP/1.0 . Here mail_id
will be used to identify a particular unique Email Content.
-Test and debug implementation of Retrieving mail API.
July 11 - July 20 :
-Implement RESTful integration API for Sending mail. This should be done
using POST operation of HTTP_Document_API.
-This will implement : POST /database_name/ HTTP/1.0 .
-Test and debug implementation of Sending mail API.
July 21 - July 30 :
-Implement RESTful integration API for Deleting mail. This should be done
using DELETE operation of HTTP_Document_API.
-This will implement : DELETE /database_name/mail_id?revid=current_version
HTTP/1.0 . Here mail_id will be used to identify a particular unique Email
Content.
-Test and debug implementation of Deleting mail API.
The time line specified above is somewhat adjustable. If i can comeplete the
above mentioned integrations before time, I would proceed with the following
API’s integration in order:
-Inline Attachments
-Multiple Attachments
-Stand Alone Attachments
-ETags/Caching
August 1-August 15 (Buffer Time):
Second phase of testing: Testing of debugged code.
August 15-August 22:
-Work on Documentation.
-Finally discuss the project with mentors.
-Debugging the bugs (if any reported by Mentor)
-Improve the Documentation, Release.
August 22 - August 26 :
-Final Evaluation Submission
Available Time
I am committed to giving at least 40-50 hours per week to GSOC. Since I am
not doing anything this summer, I believe that the time devoted to GSOC will
be much more than that, for sure. I have excellent work ethics, and a goal
oriented guy.
Additional Information:
Bio
I am 19 years old. I live in India.Studying at one of the most premier
institute in India namely Indian Institute of Technology
Roorkee<http://www.iitr.ac.in>pursuing my Bachelor of Technology
Computer Science & Engineering.I have
took courses like Computer programming in C++ at school and college levels.I
have started serious problem solving around two months back.I have also
worked in PHP as mentioned in experiences.I have got prizes in various
website designing competitions at school & college levels.
I like to contribute in open source communities because it gives me
experience,technical expertise and it teaches spirit of team work. And its
my time to give back to community from which i gained a lot of experience
and motivation.
You can have a look over
myResume<https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC>
Experiences
Skills:
-Working Knowledge of GIT
-1 year experience in web development using
PHP,HTML,JavaScript,Postgres,MySQL
-Have knowledge of Design Patterns
-Working Knowledge of PHP
I, as a part of team manages institutes website www.iitr.ac.in
We have setup a intranet portal (totally managed by students) inside campus
of IIT Rookee which has around 80 applications (mostly in PHP) hosted on
it.I have created Ebooks sharing portal within the intranet.I have very good
experience in web designing (e.g, I have created website during last year
summer internship www.raysconsultants.com ).
Open Source contributions
I have submitted following patches in PhpMyAdmin :
1)XML export of
views<https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410>
2)XML Plugin for database
Export<https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410>
3)Left Frame not
updated<https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410>
On Fri, Apr 8, 2011 at 10:05 PM, AAMIR KHAN <ak...@gmail.com> wrote:
> I already applied to google-melange Eric...
>
>
> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005
>
> <http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005>
>
> On Fri, Apr 8, 2011 at 9:23 AM, Eric Charles <er...@apache.org> wrote:
>
>> Also, ping us on this mailing list when you will have applied on
>> google-melange so we can review it.
>> Tks,
>> - Eric
>>
>>
>> On 8/04/2011 05:26, Eric Charles wrote:
>>
>>> Hi,
>>>
>>> The idea of RESTful is to let communicate a client system with a server
>>> system via HTTP, transfering request parameters as http_request_params,
>>> getting response ax structured document (xml or json) in the
>>> http_response_body.
>>>
>>> You can read more on
>>> http://en.wikipedia.org/wiki/Representational_State_Transfer
>>>
>>> Couchdb has such an API (
>>> http://wiki.apache.org/couchdb/HTTP_Document_API)
>>>
>>> It seems you are good at sprint :) (you are just in time for the
>>> deadline).
>>>
>>> You could outline in your application that event if the first
>>> implementation will be for couchdb, the RESTful "framework" will be
>>> designed to support other datastores. Therefor, 1 week design before the
>>> 8 weeks (becoming 7 weeks) would be good.
>>>
>>> Hopes this help.
>>> (Don't wait to register and inject this on google melange, you can
>>> always update it after).
>>>
>>> - Tks,
>>> Eric
>>>
>>>
>>> On 8/04/2011 00:49, AAMIR KHAN wrote:
>>>
>>>> I would like to have valuable suggestions over my proposal..
>>>>
>>>> On Fri, Apr 8, 2011 at 4:18 AM, AAMIR KHAN<ak...@gmail.com> wrote:
>>>>
>>>> *
>>>>> Proposal Title: Design and Implement Mailbox with CouchDB storage.
>>>>>
>>>>> Student Name: Aamir Khan
>>>>>
>>>>> Student E-mail: ak4u2009@gmail.com
>>>>>
>>>>> Organization/Project: James Mailbox Apache Software Foundation
>>>>>
>>>>> Assigned Mentor: Robert Burrell Donkin (rdonkin@apache.org )
>>>>>
>>>>> Proposal Abstract:
>>>>> CouchDB is non-relational, semi-structured database having great
>>>>> potential
>>>>> for mail storage. My project is to design and implement mail storage in
>>>>> James Mailbox using CouchDB. RESTful integration API will also be done.
>>>>>
>>>>> Detailed Description:
>>>>>
>>>>> Why?
>>>>>
>>>>> lets consider a example Mail:
>>>>>
>>>>> “From” : “ak4u2009@gmail.com”
>>>>> “To” : “server-dev@james.apache.org”
>>>>> “Subject” : “Implementation of CoucheDB”
>>>>> “Body” : “Implementation Proposal”
>>>>>
>>>>> All the messages like the one stated above will be stored as a flat
>>>>> collection in CouchDB. Since the mail contents are generally semi
>>>>> structured
>>>>> thats why CouchDB is most preferable database for the same.
>>>>>
>>>>> Distributivity:
>>>>>
>>>>> Since CouchDB is a distributed system. We can have multiple independent
>>>>> copies of mails to different servers (faster performance) and
>>>>> whenever we
>>>>> want we can redistribute changes bidirectionally.It is also helpful
>>>>> if one
>>>>> of the mail server fails then other backup servers can fulfill the
>>>>> requests.
>>>>>
>>>>> How?
>>>>>
>>>>> Road Map
>>>>>
>>>>> 0) Code Familiarity : Already started and going.
>>>>> 1) Programming : 8 Weeks
>>>>> 2) Review and Testing : 1 week
>>>>> 3) Bug Fixing Time : 1 week
>>>>> 4) Documentation : 1 week
>>>>> 5) Buffer Time for any unpredicted delay and Second phase of testing :
>>>>> 1
>>>>> week
>>>>>
>>>>> Deliverable& Project Schedule
>>>>>
>>>>> April 25-May 23(Community Bonding Period) :
>>>>> I would be in constant touch with my mentor and james mailbox
>>>>> community as a whole. I would discuss further about the project with my
>>>>> mentor and keep posting about implementation plans over the main
>>>>> server-dev@james.apache.org mailing list. Finalise the design for
>>>>> implementation of CouchDB after discussion with whole community.
>>>>>
>>>>> May 24 - 20 June :
>>>>>
>>>>> Implement the finalised plan for Couch DB.
>>>>>
>>>>> June 21 - June 28 :
>>>>>
>>>>> Test and debug implementation of CouchDB with regressive test.
>>>>>
>>>>> July 1 - July 10 :
>>>>>
>>>>> -Implement RESTful integration API for Retrieving mail.
>>>>> -Test and debug implementation of Retrieving mail API.
>>>>>
>>>>> July 11 - July 20 :
>>>>>
>>>>> -Implement RESTful integration API for Sending mail.
>>>>> -Test and debug implementation of Sending mail API.
>>>>>
>>>>> July 21 - July 30 :
>>>>>
>>>>> -Implement RESTful integration API for Deleting mail.
>>>>> -Test and debug implementation of Deleting mail API.
>>>>>
>>>>> August 1-August 15 (Buffer Time):
>>>>>
>>>>> Second phase of testing: Testing of debugged code.
>>>>>
>>>>> August 15-August 22:
>>>>>
>>>>> -Work on Documentation.
>>>>>
>>>>> -Finally discuss the project with mentors.
>>>>>
>>>>> -Debugging the bugs (if any reported by Mentor)
>>>>>
>>>>> -Improve the Documentation, Release.
>>>>>
>>>>> August 22 - August 26 :
>>>>>
>>>>> -Final Evaluation Submission
>>>>>
>>>>>
>>>>> Available Time
>>>>> I am committed to giving at least 40-50 hours per week to GSOC. Since
>>>>> I am
>>>>> not doing anything this summer, I believe that the time devoted to
>>>>> GSOC will
>>>>> be much more than that, for sure. I have excellent work ethics, and a
>>>>> goal
>>>>> oriented guy.
>>>>>
>>>>>
>>>>> Additional Information:
>>>>>
>>>>> Bio
>>>>> I am 19 years old. I live in India.Studying at one of the most premier
>>>>> institute in India namely Indian Institute of Technology
>>>>> Roorkee<http://www.iitr.ac.in/>pursuing my Bachelor of Technology
>>>>> Computer Science& Engineering.I have
>>>>> took courses like Computer programming in C++ at school and college
>>>>> levels.I
>>>>> have started serious problem solving around two months back.I have also
>>>>> worked in PHP as mentioned in experiences.I have got prizes in various
>>>>> website designing competitions at school& college levels.
>>>>>
>>>>> I like to contribute in open source communities because it gives me
>>>>> experience,technical expertise and it teaches spirit of team work.
>>>>> And its
>>>>> my time to give back to community from which i gained a lot of
>>>>> experience
>>>>> and motivation.
>>>>>
>>>>> You can have a look over my
>>>>> Resume<
>>>>> https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC
>>>>> >
>>>>>
>>>>>
>>>>>
>>>>> Experiences
>>>>>
>>>>> Skills:
>>>>> -Working Knowledge of GIT
>>>>> -1 year experience in web development using
>>>>> PHP,HTML,JavaScript,Postgres,MySQL
>>>>> -Have knowledge of Design Patterns
>>>>> -Working Knowledge of PHP
>>>>>
>>>>> I, as a part of team manages institutes website www.iitr.ac.in
>>>>> We have setup a intranet portal (totally managed by students) inside
>>>>> campus
>>>>> of IIT Rookee which has around 80 applications (mostly in PHP) hosted
>>>>> on
>>>>> it.I have created Ebooks sharing portal within the intranet.I have
>>>>> very good
>>>>> experience in web designing (e.g, I have created website during last
>>>>> year
>>>>> summer internship www.raysconsultants.com ).
>>>>>
>>>>> Open Source contributions
>>>>> I have submitted following patches in PhpMyAdmin :
>>>>> 1)XML export of
>>>>> views<
>>>>> https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410
>>>>> >
>>>>>
>>>>> 2)XML Plugin for database
>>>>> Export<
>>>>> https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410
>>>>> >
>>>>>
>>>>> 3)Left Frame not
>>>>> updated<
>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>> >
>>>>>
>>>>>
>>>>> <
>>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>>> >
>>>>>
>>>>> Thanks
>>>>> Aamir Khan
>>>>> *
>>>>>
>>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-dev-help@james.apache.org
>>
>>
>
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by AAMIR KHAN <ak...@gmail.com>.
I already applied to google-melange Eric...
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005
<http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005>
On Fri, Apr 8, 2011 at 9:23 AM, Eric Charles <er...@apache.org> wrote:
> Also, ping us on this mailing list when you will have applied on
> google-melange so we can review it.
> Tks,
> - Eric
>
>
> On 8/04/2011 05:26, Eric Charles wrote:
>
>> Hi,
>>
>> The idea of RESTful is to let communicate a client system with a server
>> system via HTTP, transfering request parameters as http_request_params,
>> getting response ax structured document (xml or json) in the
>> http_response_body.
>>
>> You can read more on
>> http://en.wikipedia.org/wiki/Representational_State_Transfer
>>
>> Couchdb has such an API (http://wiki.apache.org/couchdb/HTTP_Document_API
>> )
>>
>> It seems you are good at sprint :) (you are just in time for the
>> deadline).
>>
>> You could outline in your application that event if the first
>> implementation will be for couchdb, the RESTful "framework" will be
>> designed to support other datastores. Therefor, 1 week design before the
>> 8 weeks (becoming 7 weeks) would be good.
>>
>> Hopes this help.
>> (Don't wait to register and inject this on google melange, you can
>> always update it after).
>>
>> - Tks,
>> Eric
>>
>>
>> On 8/04/2011 00:49, AAMIR KHAN wrote:
>>
>>> I would like to have valuable suggestions over my proposal..
>>>
>>> On Fri, Apr 8, 2011 at 4:18 AM, AAMIR KHAN<ak...@gmail.com> wrote:
>>>
>>> *
>>>> Proposal Title: Design and Implement Mailbox with CouchDB storage.
>>>>
>>>> Student Name: Aamir Khan
>>>>
>>>> Student E-mail: ak4u2009@gmail.com
>>>>
>>>> Organization/Project: James Mailbox Apache Software Foundation
>>>>
>>>> Assigned Mentor: Robert Burrell Donkin (rdonkin@apache.org )
>>>>
>>>> Proposal Abstract:
>>>> CouchDB is non-relational, semi-structured database having great
>>>> potential
>>>> for mail storage. My project is to design and implement mail storage in
>>>> James Mailbox using CouchDB. RESTful integration API will also be done.
>>>>
>>>> Detailed Description:
>>>>
>>>> Why?
>>>>
>>>> lets consider a example Mail:
>>>>
>>>> “From” : “ak4u2009@gmail.com”
>>>> “To” : “server-dev@james.apache.org”
>>>> “Subject” : “Implementation of CoucheDB”
>>>> “Body” : “Implementation Proposal”
>>>>
>>>> All the messages like the one stated above will be stored as a flat
>>>> collection in CouchDB. Since the mail contents are generally semi
>>>> structured
>>>> thats why CouchDB is most preferable database for the same.
>>>>
>>>> Distributivity:
>>>>
>>>> Since CouchDB is a distributed system. We can have multiple independent
>>>> copies of mails to different servers (faster performance) and
>>>> whenever we
>>>> want we can redistribute changes bidirectionally.It is also helpful
>>>> if one
>>>> of the mail server fails then other backup servers can fulfill the
>>>> requests.
>>>>
>>>> How?
>>>>
>>>> Road Map
>>>>
>>>> 0) Code Familiarity : Already started and going.
>>>> 1) Programming : 8 Weeks
>>>> 2) Review and Testing : 1 week
>>>> 3) Bug Fixing Time : 1 week
>>>> 4) Documentation : 1 week
>>>> 5) Buffer Time for any unpredicted delay and Second phase of testing : 1
>>>> week
>>>>
>>>> Deliverable& Project Schedule
>>>>
>>>> April 25-May 23(Community Bonding Period) :
>>>> I would be in constant touch with my mentor and james mailbox
>>>> community as a whole. I would discuss further about the project with my
>>>> mentor and keep posting about implementation plans over the main
>>>> server-dev@james.apache.org mailing list. Finalise the design for
>>>> implementation of CouchDB after discussion with whole community.
>>>>
>>>> May 24 - 20 June :
>>>>
>>>> Implement the finalised plan for Couch DB.
>>>>
>>>> June 21 - June 28 :
>>>>
>>>> Test and debug implementation of CouchDB with regressive test.
>>>>
>>>> July 1 - July 10 :
>>>>
>>>> -Implement RESTful integration API for Retrieving mail.
>>>> -Test and debug implementation of Retrieving mail API.
>>>>
>>>> July 11 - July 20 :
>>>>
>>>> -Implement RESTful integration API for Sending mail.
>>>> -Test and debug implementation of Sending mail API.
>>>>
>>>> July 21 - July 30 :
>>>>
>>>> -Implement RESTful integration API for Deleting mail.
>>>> -Test and debug implementation of Deleting mail API.
>>>>
>>>> August 1-August 15 (Buffer Time):
>>>>
>>>> Second phase of testing: Testing of debugged code.
>>>>
>>>> August 15-August 22:
>>>>
>>>> -Work on Documentation.
>>>>
>>>> -Finally discuss the project with mentors.
>>>>
>>>> -Debugging the bugs (if any reported by Mentor)
>>>>
>>>> -Improve the Documentation, Release.
>>>>
>>>> August 22 - August 26 :
>>>>
>>>> -Final Evaluation Submission
>>>>
>>>>
>>>> Available Time
>>>> I am committed to giving at least 40-50 hours per week to GSOC. Since
>>>> I am
>>>> not doing anything this summer, I believe that the time devoted to
>>>> GSOC will
>>>> be much more than that, for sure. I have excellent work ethics, and a
>>>> goal
>>>> oriented guy.
>>>>
>>>>
>>>> Additional Information:
>>>>
>>>> Bio
>>>> I am 19 years old. I live in India.Studying at one of the most premier
>>>> institute in India namely Indian Institute of Technology
>>>> Roorkee<http://www.iitr.ac.in/>pursuing my Bachelor of Technology
>>>> Computer Science& Engineering.I have
>>>> took courses like Computer programming in C++ at school and college
>>>> levels.I
>>>> have started serious problem solving around two months back.I have also
>>>> worked in PHP as mentioned in experiences.I have got prizes in various
>>>> website designing competitions at school& college levels.
>>>>
>>>> I like to contribute in open source communities because it gives me
>>>> experience,technical expertise and it teaches spirit of team work.
>>>> And its
>>>> my time to give back to community from which i gained a lot of
>>>> experience
>>>> and motivation.
>>>>
>>>> You can have a look over my
>>>> Resume<
>>>> https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC
>>>> >
>>>>
>>>>
>>>>
>>>> Experiences
>>>>
>>>> Skills:
>>>> -Working Knowledge of GIT
>>>> -1 year experience in web development using
>>>> PHP,HTML,JavaScript,Postgres,MySQL
>>>> -Have knowledge of Design Patterns
>>>> -Working Knowledge of PHP
>>>>
>>>> I, as a part of team manages institutes website www.iitr.ac.in
>>>> We have setup a intranet portal (totally managed by students) inside
>>>> campus
>>>> of IIT Rookee which has around 80 applications (mostly in PHP) hosted on
>>>> it.I have created Ebooks sharing portal within the intranet.I have
>>>> very good
>>>> experience in web designing (e.g, I have created website during last
>>>> year
>>>> summer internship www.raysconsultants.com ).
>>>>
>>>> Open Source contributions
>>>> I have submitted following patches in PhpMyAdmin :
>>>> 1)XML export of
>>>> views<
>>>> https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410
>>>> >
>>>>
>>>> 2)XML Plugin for database
>>>> Export<
>>>> https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410
>>>> >
>>>>
>>>> 3)Left Frame not
>>>> updated<
>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>> >
>>>>
>>>>
>>>> <
>>>> https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410
>>>> >
>>>>
>>>> Thanks
>>>> Aamir Khan
>>>> *
>>>>
>>>>
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-dev-help@james.apache.org
>>
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by Eric Charles <er...@apache.org>.
Also, ping us on this mailing list when you will have applied on
google-melange so we can review it.
Tks,
- Eric
On 8/04/2011 05:26, Eric Charles wrote:
> Hi,
>
> The idea of RESTful is to let communicate a client system with a server
> system via HTTP, transfering request parameters as http_request_params,
> getting response ax structured document (xml or json) in the
> http_response_body.
>
> You can read more on
> http://en.wikipedia.org/wiki/Representational_State_Transfer
>
> Couchdb has such an API (http://wiki.apache.org/couchdb/HTTP_Document_API)
>
> It seems you are good at sprint :) (you are just in time for the deadline).
>
> You could outline in your application that event if the first
> implementation will be for couchdb, the RESTful "framework" will be
> designed to support other datastores. Therefor, 1 week design before the
> 8 weeks (becoming 7 weeks) would be good.
>
> Hopes this help.
> (Don't wait to register and inject this on google melange, you can
> always update it after).
>
> - Tks,
> Eric
>
>
> On 8/04/2011 00:49, AAMIR KHAN wrote:
>> I would like to have valuable suggestions over my proposal..
>>
>> On Fri, Apr 8, 2011 at 4:18 AM, AAMIR KHAN<ak...@gmail.com> wrote:
>>
>>> *
>>> Proposal Title: Design and Implement Mailbox with CouchDB storage.
>>>
>>> Student Name: Aamir Khan
>>>
>>> Student E-mail: ak4u2009@gmail.com
>>>
>>> Organization/Project: James Mailbox Apache Software Foundation
>>>
>>> Assigned Mentor: Robert Burrell Donkin (rdonkin@apache.org )
>>>
>>> Proposal Abstract:
>>> CouchDB is non-relational, semi-structured database having great
>>> potential
>>> for mail storage. My project is to design and implement mail storage in
>>> James Mailbox using CouchDB. RESTful integration API will also be done.
>>>
>>> Detailed Description:
>>>
>>> Why?
>>>
>>> lets consider a example Mail:
>>>
>>> “From” : “ak4u2009@gmail.com”
>>> “To” : “server-dev@james.apache.org”
>>> “Subject” : “Implementation of CoucheDB”
>>> “Body” : “Implementation Proposal”
>>>
>>> All the messages like the one stated above will be stored as a flat
>>> collection in CouchDB. Since the mail contents are generally semi
>>> structured
>>> thats why CouchDB is most preferable database for the same.
>>>
>>> Distributivity:
>>>
>>> Since CouchDB is a distributed system. We can have multiple independent
>>> copies of mails to different servers (faster performance) and
>>> whenever we
>>> want we can redistribute changes bidirectionally.It is also helpful
>>> if one
>>> of the mail server fails then other backup servers can fulfill the
>>> requests.
>>>
>>> How?
>>>
>>> Road Map
>>>
>>> 0) Code Familiarity : Already started and going.
>>> 1) Programming : 8 Weeks
>>> 2) Review and Testing : 1 week
>>> 3) Bug Fixing Time : 1 week
>>> 4) Documentation : 1 week
>>> 5) Buffer Time for any unpredicted delay and Second phase of testing : 1
>>> week
>>>
>>> Deliverable& Project Schedule
>>>
>>> April 25-May 23(Community Bonding Period) :
>>> I would be in constant touch with my mentor and james mailbox
>>> community as a whole. I would discuss further about the project with my
>>> mentor and keep posting about implementation plans over the main
>>> server-dev@james.apache.org mailing list. Finalise the design for
>>> implementation of CouchDB after discussion with whole community.
>>>
>>> May 24 - 20 June :
>>>
>>> Implement the finalised plan for Couch DB.
>>>
>>> June 21 - June 28 :
>>>
>>> Test and debug implementation of CouchDB with regressive test.
>>>
>>> July 1 - July 10 :
>>>
>>> -Implement RESTful integration API for Retrieving mail.
>>> -Test and debug implementation of Retrieving mail API.
>>>
>>> July 11 - July 20 :
>>>
>>> -Implement RESTful integration API for Sending mail.
>>> -Test and debug implementation of Sending mail API.
>>>
>>> July 21 - July 30 :
>>>
>>> -Implement RESTful integration API for Deleting mail.
>>> -Test and debug implementation of Deleting mail API.
>>>
>>> August 1-August 15 (Buffer Time):
>>>
>>> Second phase of testing: Testing of debugged code.
>>>
>>> August 15-August 22:
>>>
>>> -Work on Documentation.
>>>
>>> -Finally discuss the project with mentors.
>>>
>>> -Debugging the bugs (if any reported by Mentor)
>>>
>>> -Improve the Documentation, Release.
>>>
>>> August 22 - August 26 :
>>>
>>> -Final Evaluation Submission
>>>
>>>
>>> Available Time
>>> I am committed to giving at least 40-50 hours per week to GSOC. Since
>>> I am
>>> not doing anything this summer, I believe that the time devoted to
>>> GSOC will
>>> be much more than that, for sure. I have excellent work ethics, and a
>>> goal
>>> oriented guy.
>>>
>>>
>>> Additional Information:
>>>
>>> Bio
>>> I am 19 years old. I live in India.Studying at one of the most premier
>>> institute in India namely Indian Institute of Technology
>>> Roorkee<http://www.iitr.ac.in/>pursuing my Bachelor of Technology
>>> Computer Science& Engineering.I have
>>> took courses like Computer programming in C++ at school and college
>>> levels.I
>>> have started serious problem solving around two months back.I have also
>>> worked in PHP as mentioned in experiences.I have got prizes in various
>>> website designing competitions at school& college levels.
>>>
>>> I like to contribute in open source communities because it gives me
>>> experience,technical expertise and it teaches spirit of team work.
>>> And its
>>> my time to give back to community from which i gained a lot of
>>> experience
>>> and motivation.
>>>
>>> You can have a look over my
>>> Resume<https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC>
>>>
>>>
>>>
>>> Experiences
>>>
>>> Skills:
>>> -Working Knowledge of GIT
>>> -1 year experience in web development using
>>> PHP,HTML,JavaScript,Postgres,MySQL
>>> -Have knowledge of Design Patterns
>>> -Working Knowledge of PHP
>>>
>>> I, as a part of team manages institutes website www.iitr.ac.in
>>> We have setup a intranet portal (totally managed by students) inside
>>> campus
>>> of IIT Rookee which has around 80 applications (mostly in PHP) hosted on
>>> it.I have created Ebooks sharing portal within the intranet.I have
>>> very good
>>> experience in web designing (e.g, I have created website during last
>>> year
>>> summer internship www.raysconsultants.com ).
>>>
>>> Open Source contributions
>>> I have submitted following patches in PhpMyAdmin :
>>> 1)XML export of
>>> views<https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410>
>>>
>>> 2)XML Plugin for database
>>> Export<https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410>
>>>
>>> 3)Left Frame not
>>> updated<https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410>
>>>
>>>
>>> <https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410>
>>>
>>> Thanks
>>> Aamir Khan
>>> *
>>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by Eric Charles <er...@apache.org>.
Hi,
The idea of RESTful is to let communicate a client system with a server
system via HTTP, transfering request parameters as http_request_params,
getting response ax structured document (xml or json) in the
http_response_body.
You can read more on
http://en.wikipedia.org/wiki/Representational_State_Transfer
Couchdb has such an API (http://wiki.apache.org/couchdb/HTTP_Document_API)
It seems you are good at sprint :) (you are just in time for the deadline).
You could outline in your application that event if the first
implementation will be for couchdb, the RESTful "framework" will be
designed to support other datastores. Therefor, 1 week design before the
8 weeks (becoming 7 weeks) would be good.
Hopes this help.
(Don't wait to register and inject this on google melange, you can
always update it after).
- Tks,
Eric
On 8/04/2011 00:49, AAMIR KHAN wrote:
> I would like to have valuable suggestions over my proposal..
>
> On Fri, Apr 8, 2011 at 4:18 AM, AAMIR KHAN<ak...@gmail.com> wrote:
>
>> *
>> Proposal Title: Design and Implement Mailbox with CouchDB storage.
>>
>> Student Name: Aamir Khan
>>
>> Student E-mail: ak4u2009@gmail.com
>>
>> Organization/Project: James Mailbox Apache Software Foundation
>>
>> Assigned Mentor: Robert Burrell Donkin (rdonkin@apache.org )
>>
>> Proposal Abstract:
>> CouchDB is non-relational, semi-structured database having great potential
>> for mail storage. My project is to design and implement mail storage in
>> James Mailbox using CouchDB. RESTful integration API will also be done.
>>
>> Detailed Description:
>>
>> Why?
>>
>> lets consider a example Mail:
>>
>> “From” : “ak4u2009@gmail.com”
>> “To” : “server-dev@james.apache.org”
>> “Subject” : “Implementation of CoucheDB”
>> “Body” : “Implementation Proposal”
>>
>> All the messages like the one stated above will be stored as a flat
>> collection in CouchDB. Since the mail contents are generally semi structured
>> thats why CouchDB is most preferable database for the same.
>>
>> Distributivity:
>>
>> Since CouchDB is a distributed system. We can have multiple independent
>> copies of mails to different servers (faster performance) and whenever we
>> want we can redistribute changes bidirectionally.It is also helpful if one
>> of the mail server fails then other backup servers can fulfill the requests.
>>
>> How?
>>
>> Road Map
>>
>> 0) Code Familiarity : Already started and going.
>> 1) Programming : 8 Weeks
>> 2) Review and Testing : 1 week
>> 3) Bug Fixing Time : 1 week
>> 4) Documentation : 1 week
>> 5) Buffer Time for any unpredicted delay and Second phase of testing : 1
>> week
>>
>> Deliverable& Project Schedule
>>
>> April 25-May 23(Community Bonding Period) :
>> I would be in constant touch with my mentor and james mailbox
>> community as a whole. I would discuss further about the project with my
>> mentor and keep posting about implementation plans over the main
>> server-dev@james.apache.org mailing list. Finalise the design for
>> implementation of CouchDB after discussion with whole community.
>>
>> May 24 - 20 June :
>>
>> Implement the finalised plan for Couch DB.
>>
>> June 21 - June 28 :
>>
>> Test and debug implementation of CouchDB with regressive test.
>>
>> July 1 - July 10 :
>>
>> -Implement RESTful integration API for Retrieving mail.
>> -Test and debug implementation of Retrieving mail API.
>>
>> July 11 - July 20 :
>>
>> -Implement RESTful integration API for Sending mail.
>> -Test and debug implementation of Sending mail API.
>>
>> July 21 - July 30 :
>>
>> -Implement RESTful integration API for Deleting mail.
>> -Test and debug implementation of Deleting mail API.
>>
>> August 1-August 15 (Buffer Time):
>>
>> Second phase of testing: Testing of debugged code.
>>
>> August 15-August 22:
>>
>> -Work on Documentation.
>>
>> -Finally discuss the project with mentors.
>>
>> -Debugging the bugs (if any reported by Mentor)
>>
>> -Improve the Documentation, Release.
>>
>> August 22 - August 26 :
>>
>> -Final Evaluation Submission
>>
>>
>> Available Time
>> I am committed to giving at least 40-50 hours per week to GSOC. Since I am
>> not doing anything this summer, I believe that the time devoted to GSOC will
>> be much more than that, for sure. I have excellent work ethics, and a goal
>> oriented guy.
>>
>>
>> Additional Information:
>>
>> Bio
>> I am 19 years old. I live in India.Studying at one of the most premier
>> institute in India namely Indian Institute of Technology Roorkee<http://www.iitr.ac.in/>pursuing my Bachelor of Technology Computer Science& Engineering.I have
>> took courses like Computer programming in C++ at school and college levels.I
>> have started serious problem solving around two months back.I have also
>> worked in PHP as mentioned in experiences.I have got prizes in various
>> website designing competitions at school& college levels.
>>
>> I like to contribute in open source communities because it gives me
>> experience,technical expertise and it teaches spirit of team work. And its
>> my time to give back to community from which i gained a lot of experience
>> and motivation.
>>
>> You can have a look over my Resume<https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC>
>>
>>
>> Experiences
>>
>> Skills:
>> -Working Knowledge of GIT
>> -1 year experience in web development using
>> PHP,HTML,JavaScript,Postgres,MySQL
>> -Have knowledge of Design Patterns
>> -Working Knowledge of PHP
>>
>> I, as a part of team manages institutes website www.iitr.ac.in
>> We have setup a intranet portal (totally managed by students) inside campus
>> of IIT Rookee which has around 80 applications (mostly in PHP) hosted on
>> it.I have created Ebooks sharing portal within the intranet.I have very good
>> experience in web designing (e.g, I have created website during last year
>> summer internship www.raysconsultants.com ).
>>
>> Open Source contributions
>> I have submitted following patches in PhpMyAdmin :
>> 1)XML export of views<https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410>
>> 2)XML Plugin for database Export<https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410>
>> 3)Left Frame not updated<https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410>
>>
>> <https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410>
>> Thanks
>> Aamir Khan
>> *
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by AAMIR KHAN <ak...@gmail.com>.
I would like to have valuable suggestions over my proposal..
On Fri, Apr 8, 2011 at 4:18 AM, AAMIR KHAN <ak...@gmail.com> wrote:
> *
> Proposal Title: Design and Implement Mailbox with CouchDB storage.
>
> Student Name: Aamir Khan
>
> Student E-mail: ak4u2009@gmail.com
>
> Organization/Project: James Mailbox Apache Software Foundation
>
> Assigned Mentor: Robert Burrell Donkin (rdonkin@apache.org )
>
> Proposal Abstract:
> CouchDB is non-relational, semi-structured database having great potential
> for mail storage. My project is to design and implement mail storage in
> James Mailbox using CouchDB. RESTful integration API will also be done.
>
> Detailed Description:
>
> Why?
>
> lets consider a example Mail:
>
> “From” : “ak4u2009@gmail.com”
> “To” : “server-dev@james.apache.org”
> “Subject” : “Implementation of CoucheDB”
> “Body” : “Implementation Proposal”
>
> All the messages like the one stated above will be stored as a flat
> collection in CouchDB. Since the mail contents are generally semi structured
> thats why CouchDB is most preferable database for the same.
>
> Distributivity:
>
> Since CouchDB is a distributed system. We can have multiple independent
> copies of mails to different servers (faster performance) and whenever we
> want we can redistribute changes bidirectionally.It is also helpful if one
> of the mail server fails then other backup servers can fulfill the requests.
>
> How?
>
> Road Map
>
> 0) Code Familiarity : Already started and going.
> 1) Programming : 8 Weeks
> 2) Review and Testing : 1 week
> 3) Bug Fixing Time : 1 week
> 4) Documentation : 1 week
> 5) Buffer Time for any unpredicted delay and Second phase of testing : 1
> week
>
> Deliverable & Project Schedule
>
> April 25-May 23(Community Bonding Period) :
> I would be in constant touch with my mentor and james mailbox
> community as a whole. I would discuss further about the project with my
> mentor and keep posting about implementation plans over the main
> server-dev@james.apache.org mailing list. Finalise the design for
> implementation of CouchDB after discussion with whole community.
>
> May 24 - 20 June :
>
> Implement the finalised plan for Couch DB.
>
> June 21 - June 28 :
>
> Test and debug implementation of CouchDB with regressive test.
>
> July 1 - July 10 :
>
> -Implement RESTful integration API for Retrieving mail.
> -Test and debug implementation of Retrieving mail API.
>
> July 11 - July 20 :
>
> -Implement RESTful integration API for Sending mail.
> -Test and debug implementation of Sending mail API.
>
> July 21 - July 30 :
>
> -Implement RESTful integration API for Deleting mail.
> -Test and debug implementation of Deleting mail API.
>
> August 1-August 15 (Buffer Time):
>
> Second phase of testing: Testing of debugged code.
>
> August 15-August 22:
>
> -Work on Documentation.
>
> -Finally discuss the project with mentors.
>
> -Debugging the bugs (if any reported by Mentor)
>
> -Improve the Documentation, Release.
>
> August 22 - August 26 :
>
> -Final Evaluation Submission
>
>
> Available Time
> I am committed to giving at least 40-50 hours per week to GSOC. Since I am
> not doing anything this summer, I believe that the time devoted to GSOC will
> be much more than that, for sure. I have excellent work ethics, and a goal
> oriented guy.
>
>
> Additional Information:
>
> Bio
> I am 19 years old. I live in India.Studying at one of the most premier
> institute in India namely Indian Institute of Technology Roorkee<http://www.iitr.ac.in/>pursuing my Bachelor of Technology Computer Science & Engineering.I have
> took courses like Computer programming in C++ at school and college levels.I
> have started serious problem solving around two months back.I have also
> worked in PHP as mentioned in experiences.I have got prizes in various
> website designing competitions at school & college levels.
>
> I like to contribute in open source communities because it gives me
> experience,technical expertise and it teaches spirit of team work. And its
> my time to give back to community from which i gained a lot of experience
> and motivation.
>
> You can have a look over my Resume<https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC>
>
>
> Experiences
>
> Skills:
> -Working Knowledge of GIT
> -1 year experience in web development using
> PHP,HTML,JavaScript,Postgres,MySQL
> -Have knowledge of Design Patterns
> -Working Knowledge of PHP
>
> I, as a part of team manages institutes website www.iitr.ac.in
> We have setup a intranet portal (totally managed by students) inside campus
> of IIT Rookee which has around 80 applications (mostly in PHP) hosted on
> it.I have created Ebooks sharing portal within the intranet.I have very good
> experience in web designing (e.g, I have created website during last year
> summer internship www.raysconsultants.com ).
>
> Open Source contributions
> I have submitted following patches in PhpMyAdmin :
> 1)XML export of views<https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410>
> 2)XML Plugin for database Export<https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410>
> 3)Left Frame not updated<https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410>
>
> <https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410>
> Thanks
> Aamir Khan
> *
>
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by AAMIR KHAN <ak...@gmail.com>.
*
Proposal Title: Design and Implement Mailbox with CouchDB storage.
Student Name: Aamir Khan
Student E-mail: ak4u2009@gmail.com
Organization/Project: James Mailbox Apache Software Foundation
Assigned Mentor: Robert Burrell Donkin (rdonkin@apache.org )
Proposal Abstract:
CouchDB is non-relational, semi-structured database having great potential
for mail storage. My project is to design and implement mail storage in
James Mailbox using CouchDB. RESTful integration API will also be done.
Detailed Description:
Why?
lets consider a example Mail:
“From” : “ak4u2009@gmail.com”
“To” : “server-dev@james.apache.org”
“Subject” : “Implementation of CoucheDB”
“Body” : “Implementation Proposal”
All the messages like the one stated above will be stored as a flat
collection in CouchDB. Since the mail contents are generally semi structured
thats why CouchDB is most preferable database for the same.
Distributivity:
Since CouchDB is a distributed system. We can have multiple independent
copies of mails to different servers (faster performance) and whenever we
want we can redistribute changes bidirectionally.It is also helpful if one
of the mail server fails then other backup servers can fulfill the requests.
How?
Road Map
0) Code Familiarity : Already started and going.
1) Programming : 8 Weeks
2) Review and Testing : 1 week
3) Bug Fixing Time : 1 week
4) Documentation : 1 week
5) Buffer Time for any unpredicted delay and Second phase of testing : 1
week
Deliverable & Project Schedule
April 25-May 23(Community Bonding Period) :
I would be in constant touch with my mentor and james mailbox
community as a whole. I would discuss further about the project with my
mentor and keep posting about implementation plans over the main
server-dev@james.apache.org mailing list. Finalise the design for
implementation of CouchDB after discussion with whole community.
May 24 - 20 June :
Implement the finalised plan for Couch DB.
June 21 - June 28 :
Test and debug implementation of CouchDB with regressive test.
July 1 - July 10 :
-Implement RESTful integration API for Retrieving mail.
-Test and debug implementation of Retrieving mail API.
July 11 - July 20 :
-Implement RESTful integration API for Sending mail.
-Test and debug implementation of Sending mail API.
July 21 - July 30 :
-Implement RESTful integration API for Deleting mail.
-Test and debug implementation of Deleting mail API.
August 1-August 15 (Buffer Time):
Second phase of testing: Testing of debugged code.
August 15-August 22:
-Work on Documentation.
-Finally discuss the project with mentors.
-Debugging the bugs (if any reported by Mentor)
-Improve the Documentation, Release.
August 22 - August 26 :
-Final Evaluation Submission
Available Time
I am committed to giving at least 40-50 hours per week to GSOC. Since I am
not doing anything this summer, I believe that the time devoted to GSOC will
be much more than that, for sure. I have excellent work ethics, and a goal
oriented guy.
Additional Information:
Bio
I am 19 years old. I live in India.Studying at one of the most premier
institute in India namely Indian Institute of Technology
Roorkee<http://www.iitr.ac.in/>pursuing my Bachelor of Technology
Computer Science & Engineering.I have
took courses like Computer programming in C++ at school and college levels.I
have started serious problem solving around two months back.I have also
worked in PHP as mentioned in experiences.I have got prizes in various
website designing competitions at school & college levels.
I like to contribute in open source communities because it gives me
experience,technical expertise and it teaches spirit of team work. And its
my time to give back to community from which i gained a lot of experience
and motivation.
You can have a look over my
Resume<https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxMbL0XOZUogOGI5NWM0MTctYjUwMy00MTM2LTljZjEtZmRhYjM3ZjcyMzlk&hl=en&authkey=COmbsIQC>
Experiences
Skills:
-Working Knowledge of GIT
-1 year experience in web development using
PHP,HTML,JavaScript,Postgres,MySQL
-Have knowledge of Design Patterns
-Working Knowledge of PHP
I, as a part of team manages institutes website www.iitr.ac.in
We have setup a intranet portal (totally managed by students) inside campus
of IIT Rookee which has around 80 applications (mostly in PHP) hosted on
it.I have created Ebooks sharing portal within the intranet.I have very good
experience in web designing (e.g, I have created website during last year
summer internship www.raysconsultants.com ).
Open Source contributions
I have submitted following patches in PhpMyAdmin :
1)XML export of
views<https://sourceforge.net/tracker/?func=detail&aid=3258216&group_id=23067&atid=377410>
2)XML Plugin for database
Export<https://sourceforge.net/tracker/?func=detail&aid=3135414&group_id=23067&atid=377410>
3)Left Frame not
updated<https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410>
<https://sourceforge.net/tracker/?func=detail&aid=3091778&group_id=23067&atid=377410>
Thanks
Aamir Khan
*
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by AAMIR KHAN <ak...@gmail.com>.
Could anybody tell me what exactly is RESTful integration API?
On Fri, Apr 8, 2011 at 2:37 AM, AAMIR KHAN <ak...@gmail.com> wrote:
> In project idea it was mentioned "try to implement as many RESTful
> integrations as possible"...
>
> what exactly it means basically?
>
>
> On Fri, Apr 8, 2011 at 1:29 AM, Robert Burrell Donkin <
> robertburrelldonkin@gmail.com> wrote:
>
>> On Thu, Apr 7, 2011 at 8:56 PM, Norman Maurer <no...@apache.org> wrote:
>> > Hi Aamir,
>> >
>> > cool to see you are interested in implementation of such a feature. I
>> think
>> > the best think would be to outline some "milestone plan" and how you
>> plan to
>> > implement.
>>
>> +1
>>
>> (RESTful storage designs have been on my mind recently as well)
>>
>> Robert
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-dev-help@james.apache.org
>>
>>
>
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by AAMIR KHAN <ak...@gmail.com>.
In project idea it was mentioned "try to implement as many RESTful
integrations as possible"...
what exactly it means basically?
On Fri, Apr 8, 2011 at 1:29 AM, Robert Burrell Donkin <
robertburrelldonkin@gmail.com> wrote:
> On Thu, Apr 7, 2011 at 8:56 PM, Norman Maurer <no...@apache.org> wrote:
> > Hi Aamir,
> >
> > cool to see you are interested in implementation of such a feature. I
> think
> > the best think would be to outline some "milestone plan" and how you plan
> to
> > implement.
>
> +1
>
> (RESTful storage designs have been on my mind recently as well)
>
> Robert
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by Robert Burrell Donkin <ro...@gmail.com>.
On Thu, Apr 7, 2011 at 8:56 PM, Norman Maurer <no...@apache.org> wrote:
> Hi Aamir,
>
> cool to see you are interested in implementation of such a feature. I think
> the best think would be to outline some "milestone plan" and how you plan to
> implement.
+1
(RESTful storage designs have been on my mind recently as well)
Robert
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by Norman Maurer <no...@apache.org>.
Hi Aamir,
cool to see you are interested in implementation of such a feature. I think
the best think would be to outline some "milestone plan" and how you plan to
implement.
Bye,
Norman
Ps: As more infomations you give as more its likely that your proposal will
get voted in
2011/4/7 Eric Charles <er...@apache.org>
> Hi Aamir,
>
> Unfortunately, it may be a bit a bit late to get support from us.
> We are full busy with release preparation, documentation,... and submission
> deadline is tomorrow...
>
> You can submit your application on
> http://www.google-melange.com/gsoc/homepage/google/gsoc2011, we will get
> it.
>
> Tks again,
> - Eric
>
>
>
> On 7/04/2011 21:08, AAMIR KHAN wrote:
>
>> I am interested in design and implementation of mailbox using CouchDB. I
>> would like to know the rough proposal that i should follow to implement
>> it.
>> I have read about CouchDB that it is very efficient in file storage.
>>
>>
>> Thanks,
>> Aamir Khan
>>
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>
Re: Design and Implement Mailbox in James using NoSQL databases
Posted by Eric Charles <er...@apache.org>.
Hi Aamir,
Unfortunately, it may be a bit a bit late to get support from us.
We are full busy with release preparation, documentation,... and
submission deadline is tomorrow...
You can submit your application on
http://www.google-melange.com/gsoc/homepage/google/gsoc2011, we will get it.
Tks again,
- Eric
On 7/04/2011 21:08, AAMIR KHAN wrote:
> I am interested in design and implementation of mailbox using CouchDB. I
> would like to know the rough proposal that i should follow to implement it.
> I have read about CouchDB that it is very efficient in file storage.
>
>
> Thanks,
> Aamir Khan
>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org