Brion Vibber wrote:
>> I'm not a real MediaWiki developer, so it may be a silly question: How
>> hard it is to convert a gadget into an extension? If it's not too
>> hard, wouldn't it be better to redo useful gadgets as extensions?
>> Unless i miss something very basic, this will make them easier to
>> maintain, install, update and localize.
> 
> In principle, making an extension based on an existing Gadget should be
> pretty straightforward, especially with ResourceLoader taking care of more
> of the details of JS & CSS fetching.
> 
> Might be fun to whip up a how-to guide and post it on the tech blog...

That seems like a bit of a regression, though. The Gadgets extension was
implemented as a way for local admins to easily hook into
Special:Preferences so that typical users could enable certain pieces of
JavaScript without needing to edit any pages.

By creating separate extensions for individual JavaScript gadgets, you hit
some interesting benefits/detriments:

Benefits:
* extensions can easily be enabled globally
* extensions have great localization support
* extensions have sane review processes in place
* extensions can implement functionality when JavaScript isn't available

Detriments:
* extensions usually take one forever to get enabled (this is a huge point)
* extensions generally have an expectation that they will have non-JS
support in them (that's why you're presumably coding in PHP)
* extensions can't be updated as easily (static JavaScript pages in SVN,
etc.)

You're absolutely correct that the UI for adding Gadgets is bad. Ideally it
would use a Special page and some... actual UI to
add/remove/modify/duplicate individual gadgets, but then you run into the
problem of the storage backend. All the data is stored in MediaWiki pages,
so you end up with a front-end UI monster similar to Special:CentralNotice,
which probably adds more problems than it solves.

In the case of gadgets, I mostly agree with Tobias: better global support is
needed. Though instead of the interwiki transclusion/marking certain
pages/etc. hackery, I think global preferences (and by extension, global
gadgets) make much more sense. Centralize the "add a purge link" scripts at
Meta-Wiki and let everyone use the same code. That seems like a more sane
approach than creating Extension:AddAPurgeLink, even if it is easier now
with the implementation of ResourceLoader. :-)

MZMcBride



_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to