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 -~----------~----~----~----~------~----~------~--~---
