Changes between Version 13 and Version 14 of SummerOfCode2010


Ignore:
Timestamp:
Mar 16, 2010, 6:25:59 AM (15 years ago)
Author:
Russell Keith-Magee
Comment:

Cleanup of template compilation proposal

Legend:

Unmodified
Added
Removed
Modified
  • SummerOfCode2010

    v13 v14  
    2222
    2323 * You'll need to have a concrete task in mind (some ideas are below) along with a solid idea of what will constitute "success" (you tell us). 
    24  * If your proposal is a single large feature, you'll need to present a detailed design specification. This proposal should be posted to django-developers, where it can be refined until it sees a level of acceptance from the developer community.
     24 * If your proposal is a single large feature, you'll need to present a detailed design specification. This proposal should be posted to [http://groups.google.com/group/django-developers django-developers], where it can be refined until it is accepted by the developer community.
    2525 * We'll want to know a bit about you -- links to previous work are great, if any.  If you're proposing something ambitious, you'll need to convince us that you're up to the task.
    2626 * You'll also need to provide us with a schedule, including a detailed work breakdown and major milestones so your mentor can know if and when to nag you :)
     
    2828Note that none of the ideas below are good enough to be submissions in their own right (so don't copy and paste)!  We'll want to know not just ''what'' you want to do but ''how'' you plan to pull it off.
    2929
    30 And don't feel limited to the ideas below -- if you've got a cool project you want to work on, we'll probably be able to find you a mentor.  We plan on approving as many projects as we possibly can.
     30Don't feel limited to the ideas below -- if you've got a cool project you want to work on, we'll probably be able to find you a mentor.  We plan on approving as many projects as we possibly can.
    3131
    3232'''Note: we're looking for projects that add value to Django itself - ''not'' application/CMS projects that use Django.'''
    3333
     34You should also note that as far as proposals go, we don't make a distinction between a GSoC project and any other proposal for a new feature. When you contribute code, you will be expected to adhere to the same contribution guidelines as any other code contributor. This means you will be expected to provide extensive tests and documentation for any feature you add, you will be expected to participate in discussion on [http://groups.google.com/group/django-developers django-developers] when your topic of interest is raised. If you're not already familiar with [http://docs.djangoproject.com/en/1.1/internal/contribution/ Django's contribution guidelines], now would be a good time to read them.
     35
    3436== Communication ==
    3537
    36 The [http://groups.google.com/group/django-gsoc django-gsoc] Google Group has been setup to facilitate communication between students and mentors in the GSoC efforts.
     38The [http://groups.google.com/group/django-gsoc django-gsoc] Google Group has been setup to facilitate communication between students and mentors in the GSoC efforts. This list should only be used for GSoC administrative matters. Any discussions on the specifics of a given proposal should be directed to [http://groups.google.com/group/django-developers django-developers].
    3739
    3840== Ideas ==
    3941
    40 Here are some suggestions for projects students may want to propose (lazyweb: please add to this list!). This isn't by any means the be-all and end-all of ideas; please feel free to submit proposals for things not on this list.
     42Here are some suggestions for projects students may want to propose (lazyweb: please add to this list!). This isn't by any means the be-all and end-all of ideas; please feel free to submit proposals for things not on this list. However, if you're going to propose something that isn't on this list, you might want to check on [http://groups.google.com/group/django-developers django-developers] to see if there is any interest before you start drafting a full proposal.
    4143
    42 Try to scope ideas/proposals to the 4-month timeline -- simply proposing to fix a ticket or two will probably result in your proposal being rejected in favor of a more ambitious one.  The SOC '''does not cover activities other than coding''', so certain ideas ("Write a more detailed tutorial" or "Create demonstration screencasts" or "[wiki:AddAPony Add a pony]") are not suitable for inclusion here.
     44When developing your proposal, try to scope ideas/proposals to the 4-month timeline -- simply proposing to fix a ticket or two will probably result in your proposal being rejected in favor of a more ambitious one.  The GSoC '''does not cover activities other than coding''', so certain ideas ("Write a more detailed tutorial" or "Create demonstration screencasts" or "[wiki:AddAPony Add a pony]") are not suitable for inclusion here.
    4345
    4446On the other side, though, be sure to be concrete in your proposal. We'll want to know what your goals are, and how you plan to accomplish them.
    4547
    4648In no particular order:
    47  * Template compilation
     49
     50=== Template compilation ===
     51 * '''Complexity''': High
     52
     53A common criticism of Django's template language is that it is too slow. One reason for this is that the rendering process is handled at a very high level, interpreting a tree of tree nodes that have been generated by parsing the template source file.
     54
     55Other Python-based template languages gain significant speedups by compiling templates directly to Python bytecode. A Django template compiler would allow for similar templating speedups.
     56
     57Issues to consider:
     58 * How does Django's template variable scoping rules map to a compilation scheme?
     59 * Django Template tags are able to modify the context as the template is rendered. How does this affect the compilation process?
     60 * How should we handle the upgrade path when compiled templates are added to trunk?
     61 
     62See also:
     63 * [http://groups.google.com/group/django-developers/browse_thread/thread/9da4fdb455a002b5 One proposal to implement template compilation]
     64 * The [source:django/trunk/django/template django.template code module]
     65 * Other template languages, like [http://jinja.pocoo.org/2/ Jinja2] and [http://www.cheetahtemplate.org/ Cheetah]
     66
     67=== Enhanced auth.user ===
    4868 * #3011 (auth User enhancement)
     69
     70=== Housekeeping ===
    4971 * A big housekeeping run. Formalize and document the stable parts of _meta; Cleanup of error messages (BetterErrorMessages and #3349 for ideas); profile the test suite looking for low hanging optimizations.
     72
     73=== Improve annotation and aggregation ===
    5074 * Improvements to annotation/aggregation: string concatentation, date operations, annotation of non-aggregate results, etc
     75
     76=== Customizable serialization ===
    5177 * Customizable Serialization. Define a class-based structure that allows users to define their own serialization format (including different output structure, including non-model fields, etc). Define Django's own serializers in that format.
     78 
     79=== App loading ===
    5280 * Refactoring of the app loading mechanism (ref. #3591)
     81
     82=== IPv6 support ===
    5383 * Implement proper IPv6 support in django (ref. #11442, #7735, +++)
     84
     85=== Testing updates ===
    5486 * Update Django's system tests -- migrate Doctests to UnitTests, and merge the modeltests and regressiontests directories.
Back to Top