Please submit it right away, you can edit it after you submit, and I
would like to make sure that you for sure get in before the cut-off
time.

On Mon, Apr 7, 2008 at 2:40 PM, Alberto Valverde <[EMAIL PROTECTED]> wrote:
> Hello,
>
>  I'd like to participate as a student in this year's GSoC program with
>  Turbogears. Since TW seems to be a highly demanded area where TG2 wants
>  to see progress made I think I'm a good candidate to fill that gap :)
>
>  I think it's too late to sign myself as a mentor but I would also like
>  to offer my help to any student who ends up working in something related
>  to TW, feel free to drop by at the mailing list (preferred) or drop me a
>  private email if need any help.
>
>  Anyway, here's a draft of my proposal. I would appreciate any feedback,
>  even any help on the grammar or areas which need clarification or
>  anything in order to improve it before I submit it tonight at 00:00 UTC.
>
>  Thanks!
>  Alberto
>
>  >
>
> Google Summer of Code 2008 - TurboGears
>  +++++++++++++++++++++++++++++++++++++++
>
>  DBSprockets User Interface
>  --------------------------
>
>  Applicant
>  =========
>
>  Name
>     Alberto Valverde González
>
>  Contact information
>     alberto toscat net
>
>  Experience
>     - Part-time Computer Science student at the U.N.E.D in Spain.
>     - Contributed a significant ammount of original code, patches and
>       bugfixes to TurboGears in the past.
>     - Former TurboGears BDFL
>     - ToscaWidgets original author and current co-maintainer.
>     - 3 years experience developing web applications with several Python
>       web frameworks (Turbogears, Pylons, web.py, Django and CherryPy)
>     - moderately proficient with Javascript web-browser development
>     - Succesfully completed GSoC 2007.
>
>  Background
>     I've been involved with the Turbogears project since early 2006 and
>     co-authored the widget library which I sprung out as seperate library
>     (ToscaWidgets) usable outside TG in other python web-frameworks.
>     ToscaWidgets gained some traction among patient developers who stood
>     up to the challenge of learning an almost documentation-less library
>     until finally it was picked up by the DBSprockets library to serve as
>     a gui building tool for its DBMechanic app.
>     A big part of this project will involve cleaning up ToscaWidgets,
>     documenting it; bring it into shape so it is easily accesible to new
>     users and developers and finally fully embraced by TG2.
>
>  Project details
>  ===============
>
>  Abstact
>     This project will attempt to database CRUD application (similar to
>     Django's Admin) using the DBSprockets API, TocaWidgets and Pylons/TG2.
>
>  Mentor
>     The ideal mentor for this project would be DBSprockets author,
>     Chris Perkins, for gudiance on the dbsprockets API and implementation.
>
>  Description
>     The final deliverable produced by the end of the summer will be a WSGI
>     application that can be plugged into a compatible framework to manage
>     the data contained inside a database or used stand-alone.
>     This includes the ability to create
>     new objects, edit them, delete them and list them with the possibility of
>     applying filtering criteria and executing searches.
>
>     The database access and introspection will be provided by DBSprockets. 
> Code
>     written that is general enough will be contributed back to this project.
>
>     The controllers will be implemented using the lightest library/framework
>     possible so it can be easily integrated into any WSGI framework. Ideally
>     this would be WebOb and Routes although Pylons might be considered if the
>     former turns out to be too low-level.
>
>     The external HTTP API will be modeled after the Atom publishing protocol 
> and
>     will allow to obtain HTML and JSON representations of the resources.
>
>     Four different clients will be implemented:
>
>      1) A light javascript-less client using tw.forms to allow widgets to be
>         easily customizable.
>      2) A javascript enhanced version of 1) which uses AJAX techniques to
>         provide paginated and sortable listings, quick access to other objects
>         to add to many-to-many and many-to-one associations, etc.
>      3) A heavy JS client which communicates with the server in JSON 
> exclusively
>      4) A client python library which allows scripted access.
>
>     ExtJS and jQuery are the chosen javascript libraries to implement 2 & 3.
>
>     All widgets implemented will be packaged separately and documented so they
>     can be reused easily in other projects. A tutorial will be written for 
> each
>     complex widget so it serves as documentation
>
>     Test coverage should not drop below 90% at any stage. Every public and 
> test
>     function should have a docstring.
>
>     Hooks to allow an authorization library to be plugged in to control access
>     as a bonus if time permits.
>
>  Milestones
>  ==========
>
>     May 1st:
>         ToscaWidgets new website will be launched to host documentation,
>         bug-trackers, repositories and a widget browser to showcase available
>         widgets. I will collect and expand all the ToscaWidgets documents that
>         live in docs.turbogears.org and wiki.pylonshq.com so there's an 
> official
>         point of reference for users and other GSoC students who will be
>         working on TW related projects.
>         This infrastructure will be available for other widget authors to
>         host their widgets in.
>
>     May 26th:
>         Big ToscaWidgets clean-up. The main goal of this milestone is bring
>         TW closer to the 1.0 version so there's a stabler base to build upon 
> and
>         neccesary documentation available to attract more users and 
> developers.
>         This includes:
>             * Cleaning up all cruft that has been developed inside TW that
>               doesn't belong there (eg: feeder.py)
>             * Remove all C extensions that TW depends on, namely RuleDispatch
>               and PyProtocols. peak.rules might be considered as an 
> alternative
>               although ideally generic functions will not be required at all
>               since some users don't feel confortable with them. Fortunaltely
>               peak.rules can extend ordinary functions so power-users will 
> still
>               be able to use them if they like.
>             * Remove other "soft" dependencies, like PasteScript which is not
>               absolutely required to use TW.
>             * If feasible, TW should be made Jython compatible at this stage.
>             * Improve the static resource handling code which currently has
>               a critical bug (#1777)
>             * Improve current docstrings since some might be outdated and 
> their
>               grammar is questionable.
>
>     June 21st:
>         First prototype heavily based on DBMechanic which should be decoupled
>         from TG2 and possibly Pylons too. Will be released to gather feedback
>         and stories regarding the wanted features of the user interface. 
> Little
>         or no javascript at this point.
>
>     July 11th:
>         By this date the server-side API should be almost frozen and HTML and
>         JSON representations be available.
>         A Paginated/Sortable/Filterable datagrid widget will be implemented 
> and
>         a tutorial written described how it was created and the rationale 
> behind
>         the design decisions.
>
>     August 1st:
>         First prototype of the heavy JS client released to gather feedback and
>         steer towards the first beta.
>
>     August 11th:
>         First beta release of the heavy client released for wider testing. No
>         more features will be implemented under the sponsorship of the GSoC.
>
>     August 18th:
>         Documenatation and docstrings will be brushed up and possible bugs
>         fixed.
>         A tutorial will be available to introduce new users to the CRUD app.
>
>  Communication channels
>  ======================
>
>  I will post to my blog once every 10 days to keep the community informed of 
> my
>  progress.
>
>  All formal discussion with my mentor and community shall be public and
>  maintained over the toscawidgets-dicuss, dbsprockets and turbogears-trunk
>  mailing lists.
>
>  Notes
>  =====
>
>  The features assigned to each milestones are not yet definitive and might 
> vary
>  if future discussion over the features the community needs demand it.
>  The dates however are unvariable in order to keep a steady rhythm of 
> releases.
>
>  I will only be able to work 25 hours a week since I'm employed part-time. To
>  compensate I will start working on April 14th on polishing up ToscaWidgets.
>
>  I will probably be one week on vacations somewhen in July.
>
>  All code will be released under the MIT license.
>
>  Ideally the application written could be integrated into DBSprockets if the
>  later could be refactored to have fewer dependencies on TG2 and possibly
>  Pylons. Ideally this app should be pretty self-contained so it can be used in
>  custom WSGI frameworks.
>
>



-- 
Mark Ramm-Christensen
email: mark at compoundthinking dot com
blog: www.compoundthinking.com/blog

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears Trunk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/turbogears-trunk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to