Hi Nicholas, Thanks for the proposal. It's a good start, and with a little tuning, I think it would make a great project for the GSoC.
As as noted on the other thread, there's a lot of overlap here with floppyforms, and with a previous GSoC project to make forms customisable. HTML5 widgets and Flexible MultipleChoiceField are both ideas worth pursuing. Personally, I think "Fieldsets for all forms" is worth it too, but I can see in the other thread that Carl disagrees, so it's probably worth leaving off. I agree with Carl that extra as_* points are needed. Here's three other form-related areas that I think are worth pursuing. * Making it easy to pass in arguments to forms on a formset. Django doesn't use thread locals to store the current request - we encourage users to follow good architecture and pass in arguments as they are needed, rather than relying on globals. This is an easy argument to make for forms - you just modify the constructor. But it's not as easy for form sets. Formsets have methods to construct their subforms, but they don't provide an API for instantiating those forms - so if you want to pass the request object (or any other context) down to forms, you've got a problem. It's possible, just messy. Similarly, if you want to pass arguments in to save(), it's easy to override the save() method on a form, but not to get a formsets' save() method to pass down to the form's save(). * Form containers This is ticket #18830. The use case is simple -- Form Wizards allow 1 form or formset per page, but don't allow for a combined form + formset, or closely linked forms. There's a need for a wrapper class. There's an analogous need for dealing with class-based views -- the form-based CBVs allow for a single form object, but not a combined form(s) + formset(s). And if you look at the internals of admin -- most of the handling for ModelAdmin is to do exactly this -- to allow for a form + multiple form sets on a single admin detail page. * Getting form pieces out of admin. This is a bit of a variation of the previous point. In addition to combined form+formset handling, Django's admin contains a bunch of custom widgets and fields that aren't easy to use outside of admin. This could/should be factored out into resources that can be used elsewhere. IMHO. admin should be a lightly configured version of the tools available to everyone, not it's own highly specialised set of tools. On a wider front, the most important part that is missing is a timeline. We're not just looking for a hit list of stuff for you to look at; we're also looking to establish that you've got a realistic set of expectations for what can be achieved in 12 weeks. So - yes, the deadline is looming, but I still think your project is worth pursuing. With a little refinement, I definitely think you're in with a chance of having your project selected. Yours, Russ Magee %-) On Thu, May 2, 2013 at 12:45 AM, Nicolas Bouliane <[email protected] > wrote: > Linked here is my proposal for the 2013 Google Summer of Code. As > suggested by Jacob Kaplan-Moss, I am in the process of reviewing it to > include timelines and more detailed information about my skillset. > > Nonetheless, I would really appreciate to have your feedback regarding the > propositions contained inside. I count on your experience to confirm that > my perception of the Forms API is accurate, and my proposal sensible. > > The proposal in question: > https://docs.google.com/document/d/1J3EwocIzf6WHeD80EUfssXpdVFapkrEzdjMq5V4e6Dk/edit?usp=sharing > > -- > You received this message because you are subscribed to the Google Groups > "Django developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/django-developers?hl=en > . > For more options, visit https://groups.google.com/groups/opt_out. > > > -- You received this message because you are subscribed to the Google Groups "Django developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-developers?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
