Gadgets allow people to customize their site experience.
Gadgets must meet the following requirements:
- Not significantly degrade site performance;
- Not noticeably degrade perceived performance of the site, or the user's system;
- Not crash the user's browser;
- Not cause data loss, or corruption
- Contribute positively to the user's experience of the site
- Basic interoperability with other Gadgets (this is not to say that interoperability is a blocker. Interoperability issues need to be surfaced, and blocker-ness will be determined on a case-by-case basis).
To check that these requirements are met, be sure to test your new gadget on this WMF beta server for at least one week before deploying to production. This testing period is intended to catch any serious bugs before jeopardizing users on production.
What do I need to do to add a new gadget?
Here are some tips on how to prepare your Gadget.
Be brief, be descriptive, and if possible be fun, or at least don't talk like a robot.
Style : Use Title Case, don't use the word experiment, feature, or beta, gadget, or test in the name of your Gadget
Good = Bigger Pictures, Bad = Enlarged lightbox Image Experiment
Details : 30 characters max length, one line, no wrapping.
Tell users what your Gadget does, why they would want to turn it on, and any major issues they may encounter.
Details : 255 character limit
Project Page Link
Provide a link to the MediaWiki project page for the Gadget, this is a simple, straightforward page written in the user's language, it does not need be the same as the project page used internally for development but can be as long as there is a clear descriptive paragraph introducing the purpose of the gadget at the top of the page.
Talk Page Link
Note: We want to use Flow for discussion of Gadget. So before creating your wiki project page, contact DannyH_(WMF) and request configuration of its talk page as a Flow page. It is confusing for a talk page to change from a wiki page to a Flow discussion mid-conversation.
Create and pre-populate your Gadget talk page with three topics.
- What do you like about $GadgetName$?
- What would you change about $GadgetName$?
- What bugs or issues have you found when using $GadgetName$?
Browser, Platform, and Skin Compatibility List
Provide a list of browsers or platforms that the feature is incompatible with.
Provide error string if for some reason the default error string "This Gadget is not yet compatible with your browser"
Details : If providing alternate error text please keep it brief and non technical
- Make an extension
- Security review
- Performance review
- Make sure there is a wiki page on mw.org for it that is understandable to the general public
- Flowify the Talk page for the Gadget
- Make a bugzilla component for the Gadget
- Enable code on Beta Cluster at least a week before you want to go for production.
- Make gerrit change (do not merge) to the BF whitelist in mediawiki config