Hi JJ,

On Mon, Sep 8, 2014 at 2:26 AM, JJ Zolper <jzth...@gmail.com> 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 django-developers+unsubscr...@googlegroups.com.
To post to this group, send email to django-developers@googlegroups.com.
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