Changes between Version 20 and Version 21 of SummerOfCode2010


Ignore:
Timestamp:
Mar 16, 2010, 8:28:07 AM (15 years ago)
Author:
Russell Keith-Magee
Comment:

Next set of project updates.

Legend:

Unmodified
Added
Removed
Modified
  • SummerOfCode2010

    v20 v21  
    9393 * The [source:django/trunk/django/template django.contrib.auth code module]
    9494
    95 === Housekeeping ===
    96  * '''Complexity:''' Minor
    97 
    98 Django has gone through three recent cycles of rapid change, culminating in the release of versions 1.0, 1.1 and 1.2. These releases have all been feature heavy, which is good for ticking off checkboxes on feature lists, but it does mean that some internal housekeeping and code cleanup tasks have been avoided in order to deliver new features. These housekeeping issues would be well suited to a Summer of Code student wishing to gain a deep understanding of the internal workings of the Django framework.
    99 
    100 Issues to consider:
    101  * Django's Model._meta class is officially internal API, but in practice, many parts of _meta are in such common use that they couldn't be changed without causing major problems to Django users. The contents of _meta should be surveyed, cleaned up where necessary, documented and tested as part of formal API.
    102  * While the public API for foreign keys and m2m relations in Django is quite elegant, the implementation is anything but. This implementation should be cleaned up.
    103  * There are several internal components (such as the datastructures library) that are heavily used, but have not been extensively profiled to ensure that they are efficient. Profile the Django test suite to find the areas of code that are performance bottlenecks, and optimize them.
    104 
    105 See also:
    106  * Trac, bugs by component. Any component with lots of bugs is potentially a candidate for inclusion in this project.
    107  * [source:django/trunk/django/db/models/options.py The Model._meta class definition]
    108  * [source:django/trunk/django/db/models/fields/related.py The related fields implementation]
    109 
    11095=== Improved error reporting ===
    11196 * '''Complexity:''' Medium
     
    140125 * [http://code.djangoproject.com/query?status=new&status=assigned&status=reopened&component=ORM+aggregation&order=priority Trac's list of ORM aggregation tickets]
    141126 * The [source:django/trunk/django/db/query.py Django's QuerySet implementation]
     127
     128=== App loading ===
     129 * '''Complexity:''' Medium
     130
     131Django currently assumes that an application will only ever be loaded once, and that the name of that application will be determined solely by the package name holding the models.py file. However, this has several consequences;
     132 * You can't deploy several instances of the same application
     133 * You can't deploy two applications with the same name
     134 * There is no convenient interface for internationalizing application names
     135 * There is no way to rename an application with a name that isn't helpful from a UI perspective.
     136
     137This project would address these limitations by changing the way applications are loaded. Ticket #3591 contains a description of one proposal.
     138
     139Issues to consider:
     140 * How can we change the app loading mechanism without breaking every existing use of INSTALLED_APPS in the wild?
     141 * How should two instances of the same application be differentiated during runtime -- especially during URL reversal?
     142
     143See also:
     144 * #3591, and any discussion on [http://groups.google.com/group/django-developers django-developers] that references it.
     145 * [source:django/trunk/django/db/models/loading.py The current app loading mechanism]
     146
     147=== Housekeeping ===
     148 * '''Complexity:''' Minor
     149
     150Django has gone through three recent cycles of rapid change, culminating in the release of versions 1.0, 1.1 and 1.2. These releases have all been feature heavy, which is good for ticking off checkboxes on feature lists, but it does mean that some internal housekeeping and code cleanup tasks have been avoided in order to deliver new features. These housekeeping issues would be well suited to a Summer of Code student wishing to gain a deep understanding of the internal workings of the Django framework.
     151
     152Issues to consider:
     153 * Django's Model._meta class is officially internal API, but in practice, many parts of _meta are in such common use that they couldn't be changed without causing major problems to Django users. The contents of _meta should be surveyed, cleaned up where necessary, documented and tested as part of formal API.
     154 * While the public API for foreign keys and m2m relations in Django is quite elegant, the implementation is anything but. This implementation should be cleaned up.
     155 * There are several internal components (such as the datastructures library) that are heavily used, but have not been extensively profiled to ensure that they are efficient. Profile the Django test suite to find the areas of code that are performance bottlenecks, and optimize them.
     156
     157See also:
     158 * Trac, bugs by component. Any component with lots of bugs is potentially a candidate for inclusion in this project.
     159 * [source:django/trunk/django/db/models/options.py The Model._meta class definition]
     160 * [source:django/trunk/django/db/models/fields/related.py The related fields implementation]
    142161
    143162=== Customizable serialization ===
     
    167186 * The [http://groups.google.com/group/django-developers/search?group=django-developers&q=serialization+gsoc&qt_g=Search+this+group many past unsuccessful GSoC proposals regarding serialization improvements].
    168187
    169 === App loading ===
    170  * '''Complexity:''' Minor
    171 
    172 Refactoring of the app loading mechanism (ref. #3591)
    173 
    174 Issues to consider:
    175  *
    176 
    177 See also:
    178  *
    179 
    180188=== IPv6 support ===
    181189 * '''Complexity:''' Minor
Back to Top