Hi JJ,

On Mon, Sep 8, 2014 at 2:26 AM, JJ Zolper <[email protected]> wrote:

> Hey guys,
>
> I can only imagine how busy everyone has been with Django 1.7 and getting
> that wrapped up with all the great new features it includes. I know I have
> been spending a good bit of time updating my work.
>
> I know Russell said here that we were thinking it could be put out in 1.7
> but I totally understand from all that has been going on that it didn't get
> released just yet. I looked through and from what I reviewed I didn't see
> it just yet which is totally fine. I thought it was fairly simple but I can
> see I certainly don't know enough as I see there are a lot of details that
> arose in this thread.
>
> I'm by no means trying to come off as impatient, just if anyone could give
> me an update on where things are that would be great as I'm just really
> curious about this little app and what changes I would then make.
>

It's been a while since I've looked at the code, but to the best of my
recollection, the code itself was in pretty good shape (after all, there
isn't *that* much that needs to be done) - but there were two issues.

The first was related to testing, which you've highlighted:


> If it's not too much to ask and it is even doable based on how things are
> built I was hoping to put in my 2 cents below:
>
> When Russell said "Both auth.User and emailauth.User have relations with
> Group, and the names clash, so the test suite won't start." I have a
> comment.
>
> My best case scenario preference for the name of the app would be
> "django.contrib.auth.EmailUser". Would that then solve the issue of the
> names clashing as then it would be "auth.User" and "auth.EmailUser"? I also
> think it is cleaner to not put "emailauth" and put the home for both "User"
> and "EmailUser" in "auth".
>

Yes, this makes the problem go away. However, I'm not especially happy
about this as an approach.

On the bikeshed scale, I'm not especially happy about the name
"emailauth.EmailUser" - repeating the "email" bit strikes me as a
redundancy.

The other, bigger issue is the problem that this reveals with swappable
models in general. On some level, I consider contrib.auth to be a testbed
for the broader feature of swappable models, and while we *could* work
around this problem by holding our collective noses about the name, I'd
like to take a stab at addressing the bigger problem (or at least
establishing that the bigger problem *can't* be solved, so we know
nose-holding is a required engineering approach :-)

The second problem revealed with a generic solution to email-based auth was
the handling around case sensitivity in email usernames (raised by Tilman).
Truly RFC-compliant case sensitivity in emails requires a whole bunch of
logic that doesn't map well to Django's capabilities; slightly less
RFC-compliant solutions are possible, but at the time I proposed the patch,
I didn't have enough time to run through all the consequences of these
changes.

Compounding all this is a lack of time on my part. I'm still keen to see a
solution to this problem, and I'm willing to commit to some review and
feedback, but I don't have enough cycles at the moment to dedicate to doing
this myself.

I appreciate this is quite frustrating; it seems like such a little
feature, and it keeps getting deferred.

Yours,
Russ Magee %-)

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/CAJxq84-QvBeNG0fk2gGr_m%2B2NT9tzqgJkZH5ESLH7WHHhFAyTQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to