Ok. We had this exact same discussion before, and we did come to the conclusion (I think) that it would be better to reuse something than iterate through IEs bug list ourselves. The two choices seriously considered were Mochikit and Dojo. prototype was pretty much excluded as it is apparently of fairly low quality, messing around with basic javascript features etc. I do not personally know how true this is, but that seems to be the general consensus about prototype/script.aculo.us .
The other two come down to: * Mochikit - well documented and architected, compact but missing features. * Dojo - almost undocumented, reportedly well architected, huge (but configurable). Lots of features. There is some kind of cooperation between MochiKit and Dojo that I still can't really work out. Ie I have no idea whether Dojo will be built on mochikit in future, or if overlapping bits will be removed. I now want to layout a few requirements for the admin that we should have a plausible plan of implementation with any framework choice we make. Obviously some of these are medium to long term goals, and will also need extensive server side work as well. Also, the emphasis is on "Javascript" rather than just on "AJAX". Changelists: * Make the changelist specification in the model a starting point which can be modified on the fly: Menus on column titles to - add columns dynamically. Columns should be able to be fields on the model, fields related via a ForeignKey/ManyToMany (chained), or simple aggregate functions on related fields, eg count/avg. - add and remove filters / search / date hierarchy dynamically. - Group by a column Drag and drop columns to reorder them. Ability to "save" the modifications you have done to the changelist, as an alternate changelist view, and to set the default changelist view. * Scrolling rather than paging for large datasets. Data fetched dynamically in chunks as the list is scrolled. * Live search Modification forms: * Drag and drop done properly for edit-inline ala ticket 13. * Validation on the fly as the user moves to another field, with visual feed back. So I think Dojo could do all of this, at the cost of adopting its heavy widget framework. MochiKit could also do most of this with the addition of Drag and Drop and some simple visual effects. I believe there are efforts to create this functionality in a MochiKit style on the mochikit mailing list, but as of yet, I have no idea if these things will be included in MochiKit, as they seem to be derided as 'bling' as often as possible. Robert