"Adrian Holovaty" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] >With that in mind, I still want to comprehend this mysterious concept >of "Ajax support." In fact, I yearn for it. I want to know what it is, >desparately.
Let me take a stub at it. 1) Client-side form validation. 2) Auto-suggest feature for linking objects. 3) Combination of #1 and #2: parametric auto-suggest feature based on some other field contents. 4) Form input helpers, e.g. time/date picker, color picker, picture picker, and so on. 5) Inline editing of field values. 6) Rich editor in some form. 7) Hierarchical selector: tree. 8) Multiple value selector. One possible form is so-called "tag cloud". 9) Dynamic menu systems. 10) Rich tooltips. I can go on but lets stop there. Some real life examples: 1) #2 & #3. It is frequently needed in business systems. I saw two variations: match objects by some text using "startwith", or using "like". I used an internal system, which kept all "initiatives" of one huge public corporation in one place. Navigation was done by preloading three huge selects with some text strings. Time from "click to work" was ~5 minutes on internal fast connection. Selection of proper topic was a subject you should master for month --- every pixel change of mouse position skipped huge number of documents. The system worked only under light load. Otherwise you get a timeout. 2) #8. Assigning properties/tags to objects. Right now Admin with filter_interface uses two boxes. In my app, I have to scroll the first one to get to required property. When I select something, it scrolls back immediately. Non-js option is a multiple select box, which is much worse usability-wise. Both forms require scrolling because they don't use space efficiently. Tag cloud (a-la del.icio.us) is much more convenient and compact. It is easy to select multiple components. If you highlight selected items somehow by using bold face or different background, you will see what is selected immediately. 3) #9 --- you can hardly find a web site without menu. All you need to know is what objects to show and their relationship. It is a little bit more complicated when this data is dynamic. #7 is similar to that. The common theme between these examples that they are mundane cases, which pop up in multiple applications. And everybody solves them using DYI principle instead of DRY trading off quality for "I did it myself". All these cases can be done with Django, and without Django at all. My point it they require some sort of support from server-side => server-side should have some standard way to provide it. In case of document selection it would be required to provide a template for individual items. In this case tag cloud can be easily transformed into picture cloud, and auto-suggest may show a lot of supporting information besides what you are typing. I don't know what is the best place for it in Django. Documentation is one thing. :-) Provisions to provide some meta-information about underlying objects may be required as well. It would be nice to have some generic views, which present data in some predefined format. Of course my crystal ball tells me we may want to have some template tags and filters. ;-) I have some gripes for #4. I saw many applications, which used inappropriate widgets just because it was "difficult to do it manually". Maps vs. text could be the perfect example. On the other hand, you probably know it from your own experience. :-) Lets talk about it some other time. Thanks, Eugene