WMDE contract offers/Improve the Gadgets extension
From MediaWiki.org
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
- Allow gadgets to be assigned to any preference tab. mw:Extension_talk:Gadgets#Integrate_gadget_settings_into_standard_pref_sections
- Store all gadgets in one preference field, instead of using one field per gadget. Store only if different from default. Make the transition from the old system graceful.
[edit] Apply
See WMDE_contract_offers for how to apply for a contract.