So You Want To Be A Wiki Volunteer

From BTAWiki
Jump to navigation Jump to search

This page was put together to give people an idea of what working on the wiki actually entails, not because we want to discourage people but because folks frequently think it's just editing lines in boxes.

If only.

Introduction

BTA3062.com runs on virtual hardware supplied by Wulfbanes. It runs on MediaWiki, the most common and well-known wiki software - the same thing that Wikipedia runs on. That means frequently the text and tables you're seeing aren't in plaintext or even html, they're all written in wikitext which can get... arcane. There's a reason Markdown was invented and that reason is wikitext. If you're familiar with Markdown, you will regularly get confused between the two.

Where it gets complicated

The wiki relies on a lot of automation written by 2-going-on-3 separate developers. This automation makes use of the Cargo extension and the Lua templating language. Don't worry, unless you're interested in contributing to the development efforts, you don't need to worry about those. We have other ways of making your eyes glaze over. Go ahead and Google wikitext tables. (Googling "wikitext blah" is something you're going to be doing a lot. Amid did it three times to get to this part of the page)

What you will end up using are the outputs of those, namely Templates, which look like

<tabs>
<tab name="CDA-2A">
{{AutoInfoboxVariant|CDA-2A
|speed = 10/15/0
}}
===Description===
{{MechDetails|CDA-2A}}


===Bonuses===
{{QuirkEasyToPilot}}


{{AffinityZippy}}

and render out like

Template example

It looks pretty easy to use, and for the most part it is, but sometimes you're going to have to dig into how those templates work to fix things or make new ones. This will require some self-directed learning or being patient with your questions in chat as we work async.

Then there's the .json work - you're going to want a pretty heavy duty text editor - Notepad++, VSCode, Sublime, etc. This is because you're going to need to spend quite a lot of time looking up values in one .json file, discovering that its referencing a different file in a different folder, finding the .json file that it's referring to and then finding the value you need. Sometimes you may need to dig multiple references deep. If you don't have a means to navigate that easily, you're going to get lost. We recommend 2 monitors at the very least.

Then there's all the internal processes to make this work, i.e. making sure people aren't colliding in what they're editing. There is some rigidity and priority. You may just want to update the values of a weapon type (and you certainly can, don't let me stop you) but keep in mind you're frequently going to be going through all that .json to find out what's actually going on under the hood - which will eat time and effort which is why we have a prioritized backlog that we'd prefer you get through first. But we're not terribly strict on that.

Just understand that there will be direction and priority and so long as those get knocked off in good order you can generally pick up whatever other fixes you like (so long as they're accurate).

General work

We generally ask for 1-2 hours of work a week, in 1 hour blocks. Because cross-referencing information gets complicated and trying to do that in, like, 15m blocks for example gets frustrating even for Amid. You wanna build a flow.

What you'll generally be doing:

  • Primary responsibilities
    1. Mech entries on new release (which will go down as BD explores BTA:AU as we understand it).
    2. Mech entries in List of Mechs (once Amid has Visual Editor up)
  • Secondary Responsibilities
    1. Going through the backlog of new things to put in, i.e. gear, weapons, etc
    2. Updating backlog of out-of-date information in the above, including loadout pics
  • Tertiary Responsibilites
    1. Actioning #wiki-reporting stuff that you feel qualified to do


Development Work

or: So You Want To Be A Wiki Dev

Languages

One of:

  • C#
  • Golang
  • Lua
  • Python

No exceptions.

Other Experience

  • Mysql experience virtually required.
  • PHP a nice-to-have in case we need someone to figure out some obscure mediawiki backend nonsense.
    • You will not have to log into the server or perform server administration, it would just be nice to be able to talk to someone about weird-ass PHP conventions instead of endless Googling
  • Github Actions experience nice-to-have or other DevOps

Projects

  • Converting page automation from C# to Golang or Python
  • Extending Golang Cargo functionality
  • Writing new Python page automation
  • Inquire with Amid for further details