Go to file
Siddharth VP bded600e36 Avoid validating gadget definition content multiple times on save
The validation appears to be occurring 4 times:
1. JsonContentHandler->preSaveTransform --> GadgetDefinitionContent->isValid
2. GadgetHooks::onEditFilterMergedContent --> GadgetDefinitionContent->validate
3. ContentHandler->validateSave --> GadgetDefinitionContent->isValid
4. RevisionStore->checkContent ---> GadgetDefinitionContent->isValid

Caching the validation result reduces it down to 2.

(Validation in GadgetHooks::onEditFilterMergedContent is to provide a more useful error message than what ContentHandler gives – which is just "Invalid content data".)

Change-Id: I026751b7e9b111b4f0bb9ab5fa0e9737a0385b07
2022-01-26 15:39:14 +05:30
.phan build: Upgrade mediawiki/mediawiki-phan-config from 0.5.0 to 0.6.0 2019-05-19 12:09:35 +00:00
i18n Localisation updates from https://translatewiki.net. 2022-01-13 08:27:02 +01:00
includes Avoid validating gadget definition content multiple times on save 2022-01-26 15:39:14 +05:30
tests/phpunit Allow specifying page actions in definitions 2022-01-01 00:41:08 +05:30
.eslintrc.json build: Updating mediawiki/mediawiki-codesniffer to 32.0.0 2020-10-29 13:34:25 +00:00
.gitignore Fix typos, update gitignore with OS tempfiles 2020-03-11 21:24:22 +05:30
.gitreview Whoops, track not trace 2016-10-24 17:02:35 -07:00
.phpcs.xml Add missing @var and improve documentation 2020-12-18 00:21:49 +01:00
CODE_OF_CONDUCT.md build: Updating mediawiki/phan-taint-check-plugin to 1.3.0 2018-08-19 12:48:57 +00:00
composer.json build: Updating mediawiki/mediawiki-codesniffer to 38.0.0 2021-10-24 04:01:25 +00:00
COPYING Add COPYING 2014-01-16 02:31:28 +00:00
extension.json Link entries on Gadget definition pages 2022-01-12 19:33:04 +05:30
Gadgets.alias.php Add PL special page alias for "GadgetUsage" 2021-04-03 17:08:13 +02:00
Gadgets.namespaces.php Add namespace localisations for Hindi (hi). 2021-11-01 10:36:47 +05:30
Gruntfile.js build: Updating dependencies 2021-01-29 13:35:14 +00:00
package-lock.json build: Updating ansi-regex to 5.0.1 2021-10-04 22:12:57 +00:00
package.json build: Updating npm dependencies 2021-05-10 07:23:45 +00:00
README.md Merge "Use wfLoadExtension in README.md" 2016-12-23 21:46:44 +00:00

Gadgets

The Gadgets extension provides a way for users to pick JavaScript or CSS based "gadgets" that other wiki users provide.

See https://www.mediawiki.org/wiki/Extension:Gadgets for more documentation.

The Gadgets extension was originally written by Daniel Kinzler in 2007 and is released under the GNU General Public Licence (GPL).

Prerequisites

This version of Gadgets requires MediaWiki 1.27 or later. To get a version compatible with an earlier MediaWiki release, visit ExtensionDistributor/Gadgets.

Installing

Copy the Gadgets directory into the extensions folder of your MediaWiki installation. Then add the following lines to your LocalSettings.php file (near the end):

wfLoadExtension( 'Gadgets' );

Usage

See https://www.mediawiki.org/wiki/Extension:Gadgets#Usage

Caveats

  • Gadgets do not apply to Special:Preferences, Special:UserLogin and Special:ResetPass so users can always disable any broken gadgets they may have enabled, and malicious gadgets will be unable to steal passwords.

Configuration

  • $wgGadgetsRepoClass: configures which GadgetRepo implementation will be used to source gadgets from. Currently, "MediaWikiGadgetsDefinitionRepo" is the recommended setting and default. The "GadgetDefinitionNamespaceRepo" is not ready for production usage yet.
  • $wgSpecialGadgetUsageActiveUsers: configures whether or not to show active user stats on Special:GadgetUsage. True by default.