Changes between Version 15 and Version 16 of SummerOfCode2010


Ignore:
Timestamp:
Mar 16, 2010, 6:43:56 AM (14 years ago)
Author:
Russell Keith-Magee
Comment:

Elaboration of #3011

Legend:

Unmodified
Added
Removed
Modified
  • SummerOfCode2010

    v15 v16  
    6767
    6868=== Enhanced auth.user ===
    69  * #3011 (auth User enhancement)
     69 * '''Complexity''': High
     70
     71One of the most class of questions on [http://groups.google.com/group/django-users django-users] surrounds issues of customizing Django's User model:
     72 * How can I use an email address as a username?
     73 * I want to use Twitter/OAuth/Facebook to login - why can't I leave the username field empty?
     74 * How can I make the username field X characters longer/shorter?
     75 * How can I allow [insert random character] in usernames?
     76 * How can I have a single "name" field instead of "first_name"/"last_name"?
     77
     78At present, there is no easy answer to these questions. Use of Django User model is not mandatory, but it is a dependency for a lot of Django applications. It is possible to do some of these customizations, but it's not trivial to do so.
     79
     80Ticket #3011 describes one approach that has been rejected - the idea of a 'pluggable' User model. However, the general problem remains.
     81
     82'''Note:''' This isn't a problem with a trivial solution, and it isn't a problem where we will take the first proposal we see. A successful proposal on this project will require extensive discussion on [http://groups.google.com/group/django-developers django-developers].
     83
     84Issues to consider:
     85 * How can we represent the generic idea of a User without reducing the user table to little more than an identifying primary key?
     86 * How can we differentiate the ideas of identity, permission and authentication?
     87 * How can we manage the dependencies that exist in contrib.admin (and other parts of Django core and Django.contrib) that rely on the internals of auth.User as currently implemented?
     88 * How can we roll out a new/modified User model without requiring almost every Django application on the planet to undergo a complex database modification?
     89
     90See also:
     91 * Discussions on [http://groups.google.com/group/django-users django-users] when users have asked the "how do I" questions
     92 * The [source:django/trunk/django/template django.contrib.auth code module]
    7093
    7194=== Housekeeping ===
Back to Top