[Gsoc-students] (no subject)

miken087 at berkeley.edu miken087 at berkeley.edu
Sun Mar 25 17:15:19 UTC 2007


Hi

I have addressed the comments Martin has made to my proposal. I have made
some changes to my abstract.  Also I attached my detailed description to
address how I would approach the project. If you could provide more
feedback, that would be greatly appreciated. Thanks.

Michael Ngo


Abstract (2500 character limit, text only, no HTML) The Abstract of an
accepted student application is displayed on the public GSoC web site.
Please do not include personal information.

This proposal will improve the current email handling system in  Plone by
incorporating an email-blog gateway feature to:
1. allow incoming email messages (in Plone) to be converted to new blog
entries, and
2. allow new blog entries (and comments on blog entries) to generate
outgoing email messages to anyone subscribed to a blog’s watchlist.

The mail-blog gateway would offer richer functionality than an
email-only subscription list, as the user is free to choose to receive
notifications of new entries as: an RSS or Atom feed, or as an email
notification.  As the user is able to add new entries to the blog simply
by sending an email to the mail-blog gateway in Plone, all mailing list
entries are transparently logged in Plone for archival purposes.

 The mail-blog gateway feature may initially be implemented as an
 add-on  product to avoid bloating Plone's core code base. Plone's core
 framework  team would decide at a later time if the add-on product is
 valuable enough  to be included as a core feature in a future release of
Plone, a
 discussion  beyond the scope of this proposal.

 The mail-blog gateway aims to offer an improved method of getting content
into the system and exporting content out of the system. The gateway will
address Plone improvement proposal (PLIP) 182:

 http://plone.org/products/plone/roadmap/182

 and may address parts of PLIP 183 as well.

 http://plone.org/products/plone/roadmap/183

The gateway, developed as a generic component would plug into Plone, could
potentially be leveraged to allow any content object (ex: content type) to
be created by the incoming email handler, including custom Archetypes –
based content types.

Development of the gateway will involve review of “listen,” a mailing list
management system by Alec Mitchell, and will also investigate the email
infrastructure in Zope 3.  Performance, testability, and developer
friendliness will be considered top priorities during the development of
the email gateway component.

Detailed Description (7500 character limit, text only, no HTML) The
Detailed Description of a student application is visible only to mentors
and will not be displayed on the public GSoC web site.

Student's Background and Experience

Currently I am a student working towards my Bachelor’s degree in
Electrical Engineering and Computer Science at the University of
California, Berkeley.  I have been programming for approximately four
years, with Java as my first language.  Since then I have learned to code
in C, Python, HTML, PHP, and MIPS.  I also have set up web servers with
Apache and Linux.  Currently I am new to Plone and know how to use and
configure an installation of Plone.  However my recent exposure to the
Plone CMS should not hinder my contribution to the Plone project because I
have begun to recognize the power of this project.  Therefore this
interest in the Plone project, along with my dedication as a student, will
encourage me to learn how to use Plone and use this knowledge to make
managing web sites easier.  Also since I have had previous experience with
Apache, my Plone learning experience will be easier.  I have developed
many projects where my biggest projects are Puzzle Solver (Java), Spatial
Database (Java), Jumping Cube (Java), Instant Markup (Python), and
Microscheme (C).  Each of these projects focused on different concepts
ranging from implementing new data types to efficiency to remote
networking.  All of these projects were also meaningful and educational.
Not only that, each of these projects, with the exception of Instant
Markup, took a significant time commitment where each project took 30 to
50 hours of coding/ debugging within the course of a week.

Approach to Project / General Timeline
My approach on the project would be to look over and understand “listen”
and the Zope 3 email infrastructure.  After doing that I will look over
Atom feeds because they are new to me.  Then when I finish school around
May 20th, I will start my planning of how I should break down the project.
 Then I will start coding about 30 hours a week, but if this project seems
like more work than I thought, I can always increase my work time as
needed.  In any case I will put as much time as needed in order to ensure
this project is completed.  I hope to finish this project in late July,
but hopefully before August so I could leave the rest of the time to do
testing.

Brief Project Descriptions

Puzzle Solver – This project displayed information about a person, if
given a combination or all of the information of a person’s name, job, or
house description.  This project was accomplished with OOP and arrays in
JAVA.

Spatial Database – This project simulated particles in a box as well as
their collisions.  The box would have an arbitrary size with an indefinite
amount of particles.  All the particle locations were handled by the
Quadtree data structure thus providing more efficient searching.  This
project also included the implementation of this data structure.

Jumping Cube – This project focused on game development as well as the
development of an automated player.  In addition this project included the
development of a graphical user interface as well as the possibility for
remote game play.  So any projects with different implementations should
be able to connect to each other via the internet and play each other.

Instant Markup – This project parses a text documents and then adds the
appropriate tags to convert it into a HTML document so it can be displayed
as a Web page

Microscheme – This project implemented a bignum data type that could
represent a number of infinite length and do basic arithmetic on these
large numbers.  This data type was then implemented in a scheme
interpreter.  Both the scheme interpreter and the bignum data type were
implemented in C.  Also the resulting project required that memory was
managed correctly in that there were no memory leaks




> Hi Michael,
>
>> My name is Michael Ngo and I am currently studying Computer Science at
>> University of California, Berkeley. Currently I am interested in
>> contributing to Plone by working on the email handling system. My
>> question
>> is whether this proposal will affect Plone's core system or will it be
>> added to Plone as an add on? My abstract for the proposal is attached at
>> the end of the email.  Lastly any comments on my abstract will be
>> greatly
>> appreciated.
>
> Most likely, you'd develop a generic component that could be configured
> to plug into Plone. The decision on what goes into the core is up to the
> framework team, who evaluate proposals, and the release manager, who
> accepts them. I imagine that something like this would be able to start
> as an optional dependency for third party products needing this
> functionality, and then eventually would be considered for shipping with
> plone core.
>
>>
>> This proposal will improve the current email handling system in Plone by
>> incorporating an email-blog gateway feature to:
>> 1. allow incoming email messages (in Plone) to be converted to new blog
>> entries, and
>> 2. allow new blog entries (and comments on blog entries) to generate
>> outgoing email messages to anyone subscribed to a blog’s watchlist.
>>
>> The mail-blog gateway would offer richer functionality than an
>> email-only
>> subscription list, as the user is free to choose to receive
>> notifications
>> of new entries as: an RSS or Atom feed, or as an email notification.  As
>> the user is able to add new entries to the blog simply by sending an
>> email
>> to the mail-blog gateway in Plone, all mailing list entries are
>> transparently logged in Plone for archival purposes.
>>
>> The mail-blog gateway feature may initially be implemented as an add-on
>> product to avoid bloating Plone's core code base. Plone's core framework
>> team would decide at a later time if the add-on product is valuable
>> enough
>> to be included as a core feature in a future release of Plone, a
>> discussion
>> beyond the scope of this proposal.
>>
>> The mail-blog gateway aims to offer an improved method of getting
>> content
>> into the system and exporting content out of the system. The gateway
>> will
>> address Plone improvement proposal (PLIP) 182:
>>
>> http://plone.org/products/plone/roadmap/182
>>
>> and may address parts of PLIP 183 as well.
>>
>> http://plone.org/products/plone/roadmap/183
>
> This looks good, though you should also describe something about how you
> intend to make sure you complete your work, and how much time you think
> you'll have to work on it.
>
> Also, limiting the functionality to blogs only (and bearing in mind
> Plone doesn't ship with blog functionality out of the box) seems a
> little limiting to me. It may be possible to generalise further, so that
> mail-in blogging is only one form of inbound mail handling.
>
> Martin
>





More information about the GSOC-Students mailing list