BlueSpice MediaWiki master
 All Classes Namespaces Files Functions Variables Groups Pages
How to contribute

There are different ways to make a contribution to Chameleon. A few guidelines are provided here to keep the workflow and review process most efficient.

Report bugs, ask for features

You may help by reporting bugs and feature requests. First check if an open bug already exists on the list of open bugs and if you have new information, comment on it. If the bug is not yet reported, open a new bug report.

When you report a bug, please include:

  • Exact steps to reproduce the bug
  • Expected result
  • Observed result
  • Versions of PHP, MediaWiki, Chameleon, Browsers, other relevant software (web server, MediaWiki extensions)
  • Other information that may be relevant, e.g. the used layout file, custom Less files, configuration settings, etc.
  • If available a web link, where this bug can be seen

If in doubt, don't worry. You will be asked for what is missing.

MediaWiki has some more advice on how to report a bug.

Improve the documentation

  • You would really help by creating, updating or amending the documentation of the skin in the /docs folder. Although the documentation is the main source of information for anybody who would want to use the skin it never gets the attention it deserves.
  • You may provide a screenshot of the Chameleon skin used on your wiki. If you customized the skin, add some descriptions what you did. And if you want, link back to your wiki.
  • Finally, you may help by providing translations via See their progress statistics to find out if there is still work to do for your language.

Provide patches

The Chameleon skin is hosted on GitHub. To provide patches you need to get an account.

A few points to ease the process:

  • Please ensure that patches are based on the current master.
  • Code should be easily readable and if necessary be put into separate components (or classes). Also, please follow the MediaWiki coding conventions.
  • Newly added features should not alter existing tests but instead provide additional test coverage to verify the expected new behaviour. For a description on how to write and run PHPUnit test, please consult the manual.
  • Finally, legal matters have to be taken care of. Please have a look at the legal stuff.