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
