Hey folks --
I'm starting to gear up on the removing core fields bit, and before I
get too deep into it I want to run my plan by everyone:
First, "core" as a field option will die. Until 1.0 it will be
accepted and ignored -- but django-admin validate will complain about
it. 1.0 will remove the option entirely along with all the other
deprecated features.
Second, the edit-inline interface will get a major facelift (courtesy
of the talented Wilson Miner). I'm deliberately not going to post
any mockups until I've gotten something that actually works;
otherwise we run the risk of arguing over the shade of blue that
Wilson chose instead of discussing functionality. However, the big
functional changes will be:
(a) that the orderable interface will be integrated directly with the
objects being edited (instead of the nasty reordering-in-the-sidebar),
(b) all the "num_in_admin" options will be replaced by browser-side
add/remove tools, and
(c) the new edit-inline interface will rely heavily on Javascript
(AJAX) to do its job.
I want to spend more time on the ramifications of (c).
In particular, this means that users of older browsers simply won't
be able to take advantage of editing objects inline. The only upside
of the current "num_in_admin" trick is that it doesn't require JS to
be cool, but that's not a big enough reason to keep it. My plan for
accessibility of older browsers is to replace the whole edit-inline
interface with a "Edit <related objects>..." link that pops the user
to a page that works mostly like the "raw_id_admin"/"add another"
interface. They'd get a list of all current related objects and be
able to add another one, etc. The downside of this is that it smacks
slightly of segregation, but I think to make the edit-inline views
usable they need to take advantage of some advanced javascript.
Other ideas welcome, of course...
Also, this means it's probably time to decide on a JS toolkit to
bundle with Django and use in the admin. As suggested by a number of
people on this list I gave Dojo a try, and I'm for the most part very
impressed (more at http://www.jacobian.org/2005/dec/19/django-meet-
dojo/). The BSD license means that we can bundle it with Django;
now's the time for any objections to using it in the admin.
Questions? Comments? Concerns?
Jacob