WMDE contract offers/Improve the Gadgets extension

From MediaWiki.org

Jump to: navigation, search

Gadgets [1] is a MediaWiki-Extension that allows users to provide JavaScript and CSS-Snippets for use by others. This extension has been used for some time now on WIkipedia and other Wikimedia projects.

Contents

[edit] Improvement: "active per default"

There should be a way to specify that a gadget is to be active per default.

  • Specification of an appropriate syntax for use on MediaWiki:Gadget-definitions to express this.
  • Parse this syntax, save this information in the internal data structure for gadget definitions.
  • Automatically activate gadgets flagged as active per default, if there's no entry for this gadget in a user's preference record.

[edit] Improvement: "alternatives" (Radio-Button)

There should be a way to specify that a set of gadgets are mutually exclusive, i.e. that only one (or none) of them can be active at a time (for any one user).

  • Specification of an appropriate syntax for use on MediaWiki:Gadget-definitions to express this.
    • Perhaps allow a title or description for the group
    • maybe (ab)use the syntax for definition lists?
  • Parse this syntax, save this information in the internal data structure for gadget definitions.
  • User Interface for picking an alternative on the preference page, using radio-buttons.
  • Enforce the constraint of mutual exclusive activation:
    • when saving user preferences.
    • when applying gadget settings on page load.


[edit] Improvement: restriction based on group permissions

It should be possible to specify that a specific gadget shall only be visible/usable to users with some specific set of permissions. The idea is that if the use of a gadget requires the user to have special permissions, than it makes no sense to offer the gadget to people that do not have these permissions.

  • Specification of an appropriate syntax for use on MediaWiki:Gadget-definitions to express this.
  • Parse this syntax, save this information in the internal data structure for gadget definitions.
  • Only show gadgets on the preference page for which the user has sufficient permissions.
    • also, automatically disable any gadgets for with the user doesn't have sufficient permissions, when user preferences are saved.
  • When applying gadget settings on page load, ignore gadgets for which the user has insufficient permissions.
    • Make sure this done efficiently, it is done on every page load.
    • This is not absolutely required, since mediawiki will check for permission when the action is to be performed.


[edit] User Interface

Replacing the cryptic definition syntax with a powerful dynamic user interface for defining and managing gadgets would be ideal. Ideas for this are welcome. This is an optional addition to the project, though.

[edit] Further Ideas

[edit] Apply

See WMDE_contract_offers for how to apply for a contract.