Hi Alex,

Neither of the ideas you mentioned (making auth.user more extensible/
replaceable and improvements to app loading) are new to the Django
community. In fact, both were candidates for last year's Google Summer
of Code. The app loading project even got accepted and had a good deal
of work done on it and will likely be merged into a not-too-distant
Django release (not 1.3).

Both issues are very complex, and there have been extensive
discussions in Trac, on this list, in the IRC logs and everywhere else
you can imagine. Everyone agrees on the problems and the potential
benefits, but finding the right solutions is very difficult.

For some basic reading, I'd suggest taking a look at the GSOC 2010
wiki page. It's at least got a high-level overview of the issues
associated with both of those ideas:

http://code.djangoproject.com/wiki/SummerOfCode2010

A search on this mailing list will turn up plenty more info.

If you have new ideas on how to solve these problems your input is
always welcome; just be sure and familiarize yourself with the
existing (substantial) body of work on the subject as well.

All the best,

   - Gabriel

On Nov 18, 8:20 pm, Alex Kamedov <kame...@gmail.com> wrote:
> Hi all!
>
> It is really hard to replace some django.contrib modules on your own now.
> I'm have many reason to replace django.contrib.auth on my own module now
> in my current project, but in this way I've need to rewrite many others
> applications related with django.contrib.auth, if I want to use it. The my
> project has no long time and ends before any implementation of ideas from
> this message, but I think about future.
>
> Application abstraction is simply collection of models, views and others in
> Django Framework now. I propose extend application abstraction with adding
> something like application type and adding model relation by application
> type.
>
> Example of really reusable application:
>
> auth = get_app('auth')
>
> class MyModel(models.Model):
>     user = models.ForeignKey(auth.User)
>     ...
>
> get_app can raise AppIsNotInstalled exception, if required application type
> is not specified in project settings.
>
> Proposed changes in project settings to register installed applications:
>
> install_applications(
>     'django.contrib.contenttypes',
>     'django.contrib.sessions',
>     ...
>     auth = 'django.contrib.auth',
>     ...
> )
>
> install_applications adds applications to INSTALLED_APPS.
>
> Cheers!
>
> Alex Kamedov

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-develop...@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to