I'm -0.5 on moving the apps to the contrib area.

ok.. call me old and grizzly here, but I'm still not sold on the point.
having tables which people might not use isn't such a big deal. (it
isn't like they take up so much space, or present a risk)

ease of use is important to me. how will any of this make django
easier to use/faster to develop with?

how will moving auth make it easier to use? the only benefit I can see
is that people could replace the auth system with something else (say
a ACL-based one).

we then would get in the situation where people implement their own,
the problem with that is that it makes sharing apps harder, as each
auth package might do the basic stuff differently

(case in point both hugo & I have implemented tagging.. both do the
same kind of thing. but all the other apps we develop use our own
tagging stuff.. and we're both happy as it does what we want but if
someone else came and tried to reuse things from both projects they
are stuck). I think splitting auth&core will do the same thing at a
larger scale.

--Ian


On 12/21/05, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
>
> I've been wanting to make the "core" and "auth" models optional for
> installation, effectively removing the "django-admin.py init" command
> and requiring people to install "core" and "auth" explicitly.
>
> Reasoning: It's messy for the framework to create database tables that
> everybody doesn't necessarily use. For instance, if somebody doesn't
> use the admin or need support for users, the auth app is completely
> unnecessary. Sames goes for the stuff in the "core" app. I have seen
> this criticism come up from a couple of people.
>
> However, we shouldn't make it any harder to get started using Django
> -- and having to install "core" and "auth" would require extra steps
> that aren't currently necessary. So a solution that Jacob and I came
> up with is introducing app dependencies. The admin app, for instance,
> is dependent on auth and core. The auth app is dependent on core.
> There are many apps in Ellington (the World Online commercial CMS
> built on Django) that depend on other ones.
>
> A dependency system would solve two problems:
>
> * Having to know which order to install things in.
> * Having to install all the dependencies before you install an app
> (e.g. installing auth before admin).
>
> Hence, instead of the tutorial saying "django-admin.py init", it would
> say "django-admin.py install admin", which would automatically install
> the auth app and anything else that's needed.
>
> So how is this implemented? The simplest way we could do it is a
> __dependencies__ variable in the __init__.py of the app. For example,
> this would go in django/contrib/admin/__init__.py:
>
>     __dependencies__ = ('django.contrib.auth',)
>
> (This assumes auth gets moved to django.contrib.auth rather than being
> special-cased in django/models.)
>
> Adrian
>
> --
> Adrian Holovaty
> holovaty.com | djangoproject.com | chicagocrime.org
>


--
[EMAIL PROTECTED] -- blog: http://feh.holsman.net/ -- PH: ++61-3-9877-0909

If everything seems under control, you're not going fast enough. -
Mario Andretti

Reply via email to