Hi Daniel,

This is obviously not the best forum for discussing changes to core MediaWiki - I would write to one of the MediaWiki lists about it, or talk to the developers on IRC.

As to whether jQuery UI should be included at all, that's actually a reasonable question - I'm just getting started learning about jQuery, but it seems that there are usually a bunch of plugins to accomplish any specific task, some of which use jQuery UI and some of which don't. So the answer may depend on which set of plugins gets chosen. One plugin that seems to stands unique in its category, and does use jQuery UI, is the jgGrid library, which creates an editable grid that could be great within forms:


(Click on "Row Editing > Input types" in the sidebar.)

One nice thing about jQuery UI is that its file lets you create your own version of the file, including only the components you need:


...so if it turns out that there are only a few parts that are necessary, it could end up being a rather small file.


On Wed, May 26, 2010 at 4:31 PM, Daniel Friesen <lists@nadir-seen-fire.com> wrote:
I think we should add a new $wgJQueryPath to 1.17a which would default
to the path set by $wgJQueryMinified and $wgJQueryVersion. Before 1.17
we should check for register_globals, if that is set or $wgJQueryPath is
undefined (we don't want a register globals vulnerability so
$wgJQueryPath override will only work if it is set after the extension
is loaded) we set $wgJQueryPath ourselves, if we find a 1.16 release we
attempt to use the default included jquery, if the MW install is before
1.16 we set that to the jquery from Google's AJAX APIs. It will still be
possible for a user to override the location jQuery is served from on an
older version by manually uploading jQuery and then setting
$wgJQueryPath themselves to the new path.
We can make this play well with other extensions by turning this into a
little shim used in all extensions that need jQuery before 1.17 is
ready. We can define MW_EXTENSION_JQUERY and make the shim skip itself
if that is defined (thus the shim will only run from one extension).

For jquery ui I believe we can use a similar shim but of course we may
have to leave it in place in 1.17 if it is not added.

I do have one nitpick though... What exactly are we actually planning on
using jquery ui for? When using big features like whole ui components
that can be abstracted away dependencies are good, but I get annoyed
when people include extra dependencies with extra overhead just for
small features that could be hand coded fairly easily with the
dependencies already included.

Trying not to reinvent the wheel is nice, but attaching a Hummer's tires
to a smart car when you could make simpler tires that fit the smart car
is ridiculous.

~Daniel Friesen (Dantman, Nadir-Seen-Fire) [http://daniel.friesen.name]

Markus Krötzsch wrote:
> I agree with the general rationale of including jQuery, and the two files are
> certainly not an issue for SMW, even if they were redundant in some cases. But
> I must insist on SMW being compatible with MW 1.16 and MW 1.15 since both
> version are used on productive SMW sites. We can always require MW1.16 users
> to upgrade to a more recent development version, but not to downgrade.
> As long as this compatibility issue is solved, even in the presence of other
> extensions that use MW's jQuery, I see no problems with the two extra files.
> Markus
> On Mittwoch, 26. Mai 2010, Yaron Koren wrote:
>> Hi,
>> As some of you know, I'm mentoring a project, with Sanyam Goyal doing the
>> main work, of transitioning Semantic MediaWiki and some of its spinoff
>> extensions to use jQuery, the Javascript library that is set to become the
>> standard for MediaWiki. To that end, we want to add jQuery into SMW itself,
>> so that there's a standard version and set of files that all the extensions
>> use, and so that wikis don't have to go out to the internet to get the code
>> (like they usually do with YUI at this point, for some extensions). This
>> would involve adding just two files to SMW's /libs directory: one for
>>  jQuery and one for jQuery UI, a very standard sister library for jQuery
>>  that provides a set of helpful effects and widgets, like autocompletion:
>> http://jqueryui.com/
>> Here are the two files that would need to be added (presumably the
>>  minimized form is better):
>> http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
>> http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js
>> ...and here are the two non-minimized files, if you're curious:
>> http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js
>> http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.js
>> I thought this would be a good time to add it, since SMW 1.5.1 is set to be
>> released fairly soon.
>> At some point, MediaWiki itself will include jQuery, so these files will
>> become increasingly unnecessary; but such a version hasn't been released
>> yet, and it'll be a long time before most people are using it.
>> Any thoughts/objections?
>> -Yaron
> ------------------------------------------------------------------------
> ------------------------------------------------------------------------------
> ------------------------------------------------------------------------
> _______________________________________________
> Semediawiki-devel mailing list
> Semediawiki-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> https://lists.sourceforge.net/lists/listinfo/semediawiki-devel

~Daniel Friesen (Dantman, Nadir-Seen-Fire) [http://daniel.friesen.name]


Semediawiki-devel mailing list

WikiWorks · MediaWiki Consulting · http://wikiworks.com