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

Reply via email to