https://bugzilla.wikimedia.org/show_bug.cgi?id=164

--- Comment #216 from Philippe Verdy <verd...@wanadoo.fr> 2011-07-17 16:50:16 
UTC ---
Aryeh, Can you point me with a link where your implementation was added in MW ?
I'd like to review it, and locate possible bugs or caveats.
Also because the announces integration does not give documentation details
about how we can use it (Wiki code syntax in pages, possible support templates,
integration points, server settings, possible user preferences, possible parser
functions for generating helper data in the HTML so that collation will also
work on the browser side because there's still no support anywhere of collation
in Javascript and because most Javascript code found to handle special sorts
are bogous and do not implement true UCA, except some HTML/Javascript
applications using Ajax requests to perform sort on the server side).

---

Note: jQuery still does not have any "utility" function to support collation.
It provides a ".sort()" method that requires a callback function in parameter
to perform the actual compare(), but inefficiently as it still cannot use
precomputed collation keys from actual table data, so the user-supplied compare
function would recompute collations many times from the same data cell, while
performing the sort).

I have asked to jQuery to extend its interface to allow precomputing collation
keys in a first pass using a user-supplied callback, and then only supply these
precomputed collation keys when comparing cells during the actual sort, but
this is still a dead letter. I have also asked to jQuery to start a project for
implementing a $.CollatorFactory object from which collators can be prepared
and instantiated, and a common interface for these collators returned by the
factory.

jQuery should then supply at least a very basic CollatorFactory (a stub
implementing only binary sort). Then a separate subproject could start creating
a more complete CollatorFactory that will fully support multiplevel UCA, that
will integrate the DUCET table, and that will integrate support for
locale-specific tailorings of the DUCET, before integrating a collection of
tailorings (based on CLDR data, but not necessarily on the same format, and not
necessarily by allowing a dynamic instantiation of any kind of tailoring using
the CLDR syntax for them.

Note that the collection of tailorings (there are many locales in the CLDR)
need not always be fully loaded into the browser Javascript: a server-side Ajax
request could as well provide the necessary data to the browser (most probably
in a JSON structure), for allowing tailored collators to be instantiated
rapidly without having to parse the CLDR syntax).

The DUCET table dataset (most probably large) could as well be loaded to the
browser in a delayed way as well through Ajax only on demand (and possibly only
a part of it, under the control of the CollatorFactory sollicitated by specific
collators that would just ask to the CollatorFactory to preload some segments
of it, to save page load time and volume, and only when the Javascript will
start running some collation function that requires this data to have been
initialized and loaded.

I'd like to start my own project for that, and integrate it to jQuery, in a
much better way than all what I've seen on the web (all the implementations
I've seen for support of collation in Javascript are simply bogous, or at least
very defective). Unfortunately, Javascript itself (or the most recent
ECMAScript specification), has completely forgotten to develop the subject of
collation, so it will take many years before we get correct browser-side
sorting becoming standard in browsers: there's not even any ongoing project for
that, or even just some preliminary specs, either at ECMA, or at W3C, Apache,
jQuery... and even at Oracle, Microsoft, Apple, Mozilla and Opera).

Such support on the opposite is already present in Adobe Flash, in Microsoft's
Silverlight (based on the .Net libray), and since many years in Java. This
means that ALL web applications that want correct browser-side collation still
need to run with browser plugins, and not with pure Javascript over the
HTML/CSS DOM API. Given the ongoing efforts to deprecate these plugins in favor
of HTML5, I don't understand why no such effort has ever been initiated.

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to