I have a couple of reservations about the version of app commands that
got committed and just wanted to bring them up here.

In my original patch you had to use the following form for app-supplied
commands:

$ django-admin.py app_name.command

I also separated out the help contents by app so that it was clear
exactly which commands were part of Django proper and which were
provided by an app (and which app each command was supplied by).

The patch that actually made it in uses the form

$ django-admin.py command

and mixes all the commands--Django proper and user-supplied--together in
the help documentation.

I'm worried that we're setting ourselves up for two things:

1. Name collisions. If an app supplies the same command with the current
patch, I think that it overrides the default Django command. If two apps
supply the same command, the one that's listed latest in INSTALLED_APPS
wins, overwriting the earlier one. With the idea that apps should aim
toward being pluggable, that seems like a not-so-great idea to me. I've
already been bitten a few times by the global namespace for templates
and would prefer to avoid creating one for commands if we don't have to.

2. Command confusion. Lumping all the commands together makes it very
easy for people to get confused about the scope and origin of a
particular command. If my poll app includes a command called
initialize_types

$ ./manage.py poll.initialize_types

makes it pretty clear that I'm just initializing the types in that app,
not the whole project. If its help text appears as a group with other
commands from the same app, it's clear what it works on and where it
came from. If, on the other hand, the help is mixed in with the rest of
the commands and I call it using

$ ./manage.py initialize_types

it's not at all clear where it came from or what exactly it's doing.

All that said, I'm really excited that apps can supply their own
commands now. :-)

Todd


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

Reply via email to