Register the "Gadget", "Gadget definition", and their respective talk
namespaces. It will not be possible to create any pages in the Gadget
and Gadget definition namespaces due to the "gadgets-edit" and "gadgets-
definition-edit" rights not being granted to any groups.
Depends on Iaf8b44d02adf9 in MediaWiki core.
Change-Id: Ia88c774cc0decc252a4a4277d14822048db95801
In the backend, allow:
* Adding dependencies on messages
* Marking gadgets as hidden so they don't show in preferences
These cannot be used by MediaWiki:Gadgets-definition gadgets, but will
be used by Gadgets 2.0 gadgets.
Change-Id: I55e97de9d631ae001ccc0164db172ba9c5689a34
The time has come to stop supporting legacy gadgets that haven't
migrated to ResourceLoader yet.
For many Gadgets, migrating to ResourceLoader will be as easy
as adding "[ResourceLoader]" to its definition on MediaWiki:Gadgets-definition.
However for older gadgets, they may need more maintenance. Though
similarly they may've already been malfunctioning silently.
The most common techniques used by legacy scripts, and what their
equivalents are in modern JavaScript, see:
<https://www.mediawiki.org/wiki/ResourceLoader/Migration_guide_(users)>
Ref T107399.
Change-Id: Ia5f7323a40a28541515ef3a3f5079f1cc940f392
GadgetRepo is an abstract class based off of the implementation in the
RL2 branch.
It is a singleton that provides basic methods to construct and interact
with Gadget objects.
The MediaWikiGadgetsDefinition class is an implementation of GadgetsRepo
that parses the "MediaWiki:Gadgets-definition" page for gadget
definitions.
Tests were left in place to demonstrate that no functional changes have
been made aside from relocation of code. Some tests should be moved to
separate files in the future.
Bug: T106176
Change-Id: I3e802889f6f495783f4dbac65c2a8cefa824a778
* APC will be used if around as a tier 1 cache
* This also makes it easier to have mixed zend/hhvm servers
Bug: T106743
Change-Id: Ie9f234753f78215441474dddc4eadedbd2b76ad7
The current method of setting private properties prevents the Gadget
object from being constructed by another class (like a GadgetRepo).
Instead, lets pass in arguments in an array.
Change-Id: I86853c72dfb323fb3e54be9ecff85973e30fe781
Follows-up 192d37b19a.
So we can turn them off in preparation of Gadgets 2.0, which
doesn't support them at all.
Change-Id: I98b4146579ccbbfcad8b83a51cc095da1fad673c
* Bumped the key version due to key wrapping
* Removed isValidList() gived the key versioning
* Follow up ba1311c323 by making APC viable;
previously, definition purges would not work
Bug: T93141
Change-Id: I6da3eede044bf4b840b3f9656a1ae8105941dc6b