Code


Version 131 (modified by anonymous, 4 years ago) (diff)

--

Django 1.2 features

TOC()?

These are the features proposed for inclusion in Django 1.2, broken into high, medium, and low priorities. For more details, see Version1.2Roadmap.

Each feature lists which committer(s) are involved, and who's the primary implementor (aka lieutenant aka "LT"). This is a wiki, so if you're the primary on a feature below and don't see yourself, please fix it.

These links are from the 1.2 Voting Spreadsheet, which includes comments and concerns from the committers.

High priority

These features have many interested committers and are being emphasized for 1.2. If you want to help out, please start here.

Code Feature LT Committer(s) Ticket(s) Commit
Contrib-08 row-level permissions hooks in auth JL MT, JK, JL #11010 [11807]
Contrib-10 Admin actions in CommentsAdmin JKM, RKM, JB #11625 [11639]
Core-01 Improved/reworked CsrfProtection LP SW, LP, RKM, JB #9977, #10816 [11660], [11661]
Core-05 Integrate logging with Django MT, SW, RKM, JSB #12012 SW
Forms-02 required/error classes on form rows JKM, MT, BR, SW, JK, JB #3512
GSoC-1 Merge admin-ui branch JKM JKM, BR, SW, JB, JSB
GSoC-2 Merge http-wsgi-improvements branch MT, JB, JL
GSoC-3 Merge i18n-improvements branch MT, JB, JL
GSoC-4 Merge model-validation branch JK, JB
GSoC-5 Merge multidb branch Alex Gaynor SW, RKM, JSB #1142, #10109 [11710]
GSoC-6 Merge test-improvements branch Eric Holscher KT, JB
ORM-10 exists() method on QuerySets Alex Gaynor MT, LP, JB #11402 [11646]
ORM-12 Model.objects.raw(SQL) Sean O'Connor JKM, MY, SW, RKM, JB #11863
Serialization-01 Foreign keys in serializers JKM, MT, BR, RKM, JB #7052
Templates-02 Smarter {% if %} tag SW, LP, RKM snippet [11806]
Templates-04 Better template tag loading MT, JB #3349, #6587
Templates-05 Support caching compiled templates Mike Malone, Alex Gaynor MT, RKM #6262
URLs-01 Replace get_absolute_url() JKM, SW ReplacingGetAbsoluteUrl
Views-01 Class-based generic views JKM JK, JB #6735

(See who's who for a list of our initials.)

Medium priority

These features have at least one committer interested, but are less well supported and will probably need some advocacy to be considered for committing.

Code Feature LT Committer(s) Ticket(s) Commit
Admin-01 Option for classes on admin inlines JSB #494
Admin-02 Custom FilterSpecs Alex Gaynor BR, LP #5833
Contrib-02 Message Passing For Anonymous Users Tobias McNulty LP #4604 [11804]
Contrib-05 Syndication feed views bfirsh JKM, SW http://github.com/bfirsh/syndication-view/
Core-02 Signing and Signed Cookies SW
Email-01 Pluggable email backends. RKM #10355 [11709]
Forms-01 Read-only form fields Alex Gaynor MT, JL #342
Forms-03 Fieldsets for newforms MT #6630
ORM-03 Multi-part primary keys MT #373
ORM-04 Support bigint fields KT #399
ORM-08 Add support for database schemas JB #6148
ORM-11 Remove unnecessary savepoints with Oracle JKM #11156

Note: Admin-02, Forms-01, ORM-03, and ORM-04 are controversial (both +1 and -1 votes) and may need discussion on django-dev before commit.

Low priority

These features have no direct interest by a committer, and so will need a very good patch and a dedicated developer or three.

Code Feature LT Ticket(s) Commit
Contrib-07 Session-based FormWizard #9200
Contrib-09 LDAP authentication backend #11526
Contrib-11 Implement Atom Publishing Protocol #3570
ORM-06 Store datetime values as UTC #1480, #2626
ORM-07 Implement DurationFields #2443
ORM-09 Add ON DELETE and ON UPDATE support #7539
Templates-03 Easier conditional template tags http://djangosnippets.org/snippets/1538
Templates-06 Capture in a template variable #6378
Templates-07 django.template refactoring #7806
URLs-02 Support for subdomains in the url patterns #8896

Note: Contrib-09 and ORM-07 are controversial (both +1 and -1 votes) and may need discussion on django-dev before commit.

Highly unlikely

Some features were voted on and were essentially rejected from 1.2. They're labeled "highly unlikely" to reflect that fact that consensus can change. However, with multiple -1 votes, the following features are highly unlikely to make it into Django 1.2:

  • Admin-03 (Support for input arguments on admin actions.) - this would overly complicate the admin UI and dilute the purpose of the admin actions.
  • Contrib-01 (Add South to contrib) - general consensus - including that of South's lead developer - is that South isn't yet ready to be a bonafide part of Django.
  • Contrib-03 (Add Django Debug Toolbar to contrib) - DDT's author prefers it as an external project.
  • Contrib-04 (Integrate Reversion as a django contrib app) - too specialized to be included in Django.
  • Contrib-06 (Allow for extendable auth_user module) - none of the proposals for how this would work have any sort of wide support.
  • Core-04 (Add IBM DB2 django adapter django.db.backends) - immaturity; the authors haven't offered support for inclusion.
  • ORM-01 (Support for non-relational databases) - way too big a feature to get done in a couple months. Incremental improvement is the way to go here.
  • ORM-02 (Identity mapping in the ORM) - the feature doesn't seem to fit with the philosophy of Django's ORM, and works fine as an external plugin.
  • ORM-13 (integrate http://github.com/bfirsh/django/tree/search) - it's not clear what's being proposed here.
  • Templates-01 (integrate http://github.com/simonw/django-html)) - while there was agreement on the need for a solution, many felt that this particular solution was less than ideal.

Not in consideration

Small, or Just Bugs

Features proposed on this list that area just bugs to be fixed or really tiny feature additions that are not controversial in any way. They're still here for posterity, but have no real role in the feature proposal process.

  • #6903 Go back to old change_list view after saving model instance
  • #7028, #7923 Improve the usability of raw_id_fields
  • #8274 Auth views allow form override (as an example, this would allow usernames longer than 30 chars to be handled)
  • #9289 Swedish (se) localflavor
  • #9819 Complete comment moderation by documenting existing approval process (patch available)
  • #10284 ModelFormSet - objects are deleted even if commit=False
  • #10476 Support database-level autocommit mode in Postgresql <= 8.1
  • #11463 Vietnamese translation
  • #11716 Fix unwrapped ValueErrors on AutoField and IntegerField (patch & tests already done!)
  • #10736 Uruguayan (uy) localflavor

Rejected procedurally

These are proposed features that, as of the close date for proposals, lacked concrete proposals, proof-of-concept implementations, or details needed to start implementing.

  • Add a generic "official" way to create a REST API; so far there are quite a bunch of pluggables, with varying levels of "completeness", documentation and efficiency, and they're quite hard to choose from.
  • Make easier to mantain / deploy default settings.py by either:
    • include localsettings at the end, with the recommended approach of putting DATABASE_* settings in localsettings.py
    • or: if DEBUG: { some database settings } else: { other database settings }
  • Integrate some DVCS in django-admin.py, perhaps Mercurial or Git. This would make it easier to adopt and collaborate on Django projects. (This is stolen from Rails)
  • Show all SQL commands issued in the development server, for debugging purposes, perhaps only if DEBUG=true (another one stolen from Rails / Mongrel)
  • Extra template tags and filters (http://groups.google.com/group/django-developers/browse_thread/thread/2045a50970d6a883)
  • Make working with inline formsets easier (http://stackoverflow.com/questions/442040/pre-populate-an-inline-formset, as per James: ...the way the model formsets work just make this more trouble than it's usually worth, but with a bit of API cleanup I think it could be made extremely easy., also http://groups.google.com/group/django-developers/browse_thread/thread/f9aae709a7fda689)
  • Allow inclusion of inlines in fieldsets (admin)
  • Make profiling easy, possibly by integrating profiling into Debug Toolbar (see dcramer's fork)
  • #6460 Multilingual Content in the db

Who's who

BR Brian Rosner
JB James Bennett
JSB Justin Bronn
JK Joseph Kocherhans
JKM Jacob Kaplan-Moss
JL Jannis Leidel
KT Karen Tracey
LP Luke Plant
MT Malcolm Tredinnick
RKM Russell Keith-Magee
SW Simon Willison