Contributing

From Miraheze Meta, Miraheze's central coordination wiki


Love Miraheze?
Volunteer!
Miraheze is made up of volunteers, ordinary people just like you!


No matter your MediaWiki expertise, you can help! Below are many opportunities you can take to help volunteer on Miraheze.

Ways to help

Help local communities!  
One of the easiest ways that anyone can help Miraheze is by requesting a wiki and using it. Be active, develop your own community, bring people to Miraheze!

Don't want to create a wiki? Look for a wiki that already exists on your topics of interest! Miraheze hosts a variety of wikis, from computers to TV shows and games, you're sure to find a wiki that suits your needs! Check out WikiDiscover and the Gazetteer of wikis to find wikis you might be interested in.

Help on Meta (this wiki)!  
Another easy way of helping is by helping out on this wiki, Miraheze Meta. On Miraheze Meta, issues pertaining to the global community are discussed. You can help by answering any question you may know the answer to. Most questions on Miraheze Meta are asked on the noticeboards. There are currently 3 noticeboards where users can solicit help, each focuses on a different topic and is labelled accordingly:
  • Community noticeboard – Any general question is asked on here such as questions about ManageWiki, CSS, templates, etc. This noticeboard also serves to help start community discussion about topics that concern the global community. If you know the answer to anything, don't be afraid to reply!
  • Meta Administrators' noticeboard – Any issue regarding this wiki (Meta) is discussed on here, such as requesting a ban on a user, marking pages as translatable, asking for local permissions which can be granted at administrator discretion, among other local things. This noticeboard is not for global actions.
  • Stewards' noticeboard – Any question or issue that needs Steward intervention (like requesting a lock for a vandalism-only accounts, requesting a CheckUser, etc.) is asked on here. Sometimes, what users ask isn't necessarily something that requires a Steward's reply, it can be as simple as asking for help to change a logo. Even though it is the Stewards' noticeboard, that doesn't mean you can't help anyone on there yourself; don't be afraid to reply, move their post if needed, and guide them!

If you ever see a question that was asked on the wrong noticeboard (like a global lock requested on the Meta Administrators' noticeboard instead of the Stewards' noticeboard), be bold and move it to the appropriate noticeboard. Even if your edit is reverted, at least you gain experience and learn how to sort issues!

Help on Discord and IRC  
Not all questions are asked on Meta, many prefer to ask on Discord or IRC. Don't be afraid to stop by and help out over there. Most IRC channels relay to Discord, meaning that you can talk to people on IRC in real time while on Discord and vice-versa. For more info on connecting to Discord and IRC, have a look at their respective pages.
Help fight global vandalism!  
While fighting global vandalism may seem hard, especially because Miraheze hosts 5968 wikis, it actually isn't! Miraheze employs AbuseFilter which stops most vandalism before it can even occur. This, along with other suspicious activity, is reported on the #miraheze-cvt-feed connect IRC channel. You can monitor this feed for any possible vandalism or spam and report it on #miraheze-cvt connect. Note that both channels are relayed on Discord. A Steward or Global Sysop will review your report and action it accordingly. If an edit isn't stopped by AbuseFilter, you can also manually go into the wiki and revert it yourself. If you do, just make sure to include in the summary that you were reverting vandalism or else you may be erroneously labelled a vandal yourself!

Even if a vandalism-only account is stopped by AbuseFilter, you should still report it to the Stewards to prevent the account from trying to bypass the filter, succeeding and flooding a wiki. To report them, you can make a new section on the Stewards' noticeboard or you can report them on #miraheze-cvt connect.

 Note: Not all wikis are enrolled in the global anti-vandalism program, some have purposefully opted-out of Global Sysop intervention. Also note that private wikis are not reported on the CVT feed. For more info on this, see Counter Vandalism Team.

Help out on Phorge!  
Phorge is Miraheze's task tracking system. While most tasks on there require a system administrator, some don't. A user might need help enabling an extension or might have not been able to find a setting in ManageWiki. In these cases, if you know the answer, you're more than welcome to reply to the task. In some cases, if you are certain that the issue has been resolved, you can close the task. If you're new to Phorge, it is recommended that you wait and learn what types of tasks are closed when, to prevent you from accidentally closing a task that hasn't actually been resolved.

Even if a task involves something technical like importing a database dump, you can still help on the task by sorting the tags correctly for the task. For more information on tags, see Phorge.

Help out technically!  
While the previous ways to contribute were some that don't require technical expertise, the following do. If you know how to help out technically, you're more than welcome to!
Help on GitHub

Miraheze hosts all of its configurations in a GitHub config repo (see this page for additional info). Whenever a change needs to be done, these configuration files are updated. When these configurations are updated in any of the repositories hosted on GitHub, the changes are automatically deployed to the servers hosting Miraheze. Historically, feature changes were done by sending a request on the Request features page or by adding a GitHub merge request. This is no longer the case, you can do most configuration changes on ManageWiki. That doesn't mean you can't help out on GitHub, though, it's not rocket science!

Anyone with a GitHub account (available for free) can propose file changes.

Guidelines & Tips

Most of this section (except for a little at the end) is easy to understand. It uses nested arrays to apply settings to all wikis by default, or some wikis as coded.

The basic nesting layout is as follows:

  • Define namespace variables (close to the start, after includes)
    • wgConf (largest array)
    • Setting name (in the form of 'wgVariable' or 'wmgVariable')
      • Wiki's affected (in the form of 'dbname' or 'default' where dbname is the site's subdomain with "wiki" added to the end)
        • Setting value (the values to set. It can be a number, true/false, or an array, depending on the setting.)

 Note: Some extensions require additional setup to work. In that case, a system administrator will handle the change.

Installing a new extension or skin

Anyone can propose changes to the Miraheze/mediawiki repo. To install a new extension or skin not already installed (not enable one on a wiki), please see Adding a new extension.

Help out internally

Miraheze runs on Debian and uses a multitude of servers. Our server configuration is managed by Puppet, and we work with various kinds of technologies. We use MediaWiki with Apache, GDNSD, MariaDB, NGINX and Varnish to power the web stack. If you are familiar with one or more of the software mentioned above, we would love to hear about your experience! Extra help is always welcome, and even the smallest improvements (fixed bugs/performance, etc.) for you, can be a big improvement for us. Please get in touch with the Technical Team if you would like to contribute in this area or simply make a Phorge task for it.