[OPEN-ILS-DEV] Autocompleting text boxes in trunk

Lebbeous Fogle-Weekley lebbeous at esilibrary.com
Wed Nov 17 10:01:25 EST 2010


Hi all,

A recent commit to trunk, 
http://svn.open-ils.org/trac/ILS/changeset/18762 , features a new data 
store for Dojo widgets that can lazy-load items using open-ils.pcrud.

What does this mean?  Today, it means that throughout the Dojo-based 
parts of the staff client, wherever there is a dropdown menu that 
contains a huge number of items and takes forever to load, or wherever 
there are so many items that the dropdown actually won't load at all, we 
can replace that dropdown with an autocompleting textbox that will only 
load items based on what the user types in (and even then with a limit 
on the number of items fetched at once).  This means no more impossibly 
slow-loading dropdowns.

In the future, this Dojo data store is going to learn even more tricks 
that will allow it to keep track of and save its own dirty objects, as 
well as to notify multiple widgets that use it of any changes.  This 
could mean cutting out a lot of code in existing and yet-to-be-written 
staff client interfaces, keeping things simpler and more maintainable. 
But that's the future.

For now, I'm posing this question: should the pcrud-based Dojo data 
store and the autocompleting text box be backported to the 2.0 and 1.6 
branches?  The commit referenced above includes a sprinkling of the 
widget (one place in Acquisitions, three places in booking), but there 
are several more places where it could be usefully deployed.  The 
dropdowns that need replaced are those that may seem fine in 
development/test setups, but become unwieldy or even unusable with a lot 
a real, production data loaded.

This is a new feature, it's true, but I personally think it's one that 
provides immediate benefits to users and has little chance of wrecking 
anything.  But I'll defer to folks on the development list on the 
question of backporting.

Thanks for any and all input!

-- 
Lebbeous


More information about the Open-ils-dev mailing list