Version 8 (modified by ibboard, 9 years ago) (diff)

--

New Developer Guide

The following is an introductory guide for new developers on the WarFoundry project. It will hopefully guide people new to the project through the process of getting involved as a developer.

Some useful links are:

How to get started

Instructions on how to get started with the source code are in our Getting Started guide.

Once you have the source code you can build and use WarFoundry, but can't commit changes back to the project. If you want to help out and make changes then please contact IBBoard (either through the forums or his website) to get your Trac account promoted to a "developer" account and a Subversion account created.

What can I help with?

There are lots of things that people can help with. The Get Involved page details the ways to get involved in a broad sense, but any contribution is welcomed.

I'm new to using source control - how do I use it?

It depends on what platform you're on. In Windows you'll need something like RapidSVN or TortoiseSVN. In Linux there is a wide variety of alternatives, including RapidSVN, QSvn and eSVN amongst others. MonoDevelop also has built-in support for Subversion repositories.

Once you've got a source control client, you need to "check out" the project, such as svn://svn.ibboard.co.uk/warfoundry/IBBoard.WarFoundry.GUI.GTK/trunk to get a copy of the trunk (latest development version) of the GTK# interface for WarFoundry. This can be done anonymously for all WarFoundry projects (you don't need to be a registered user) and takes a copy of the code and stores it on your machine to work with. To get the full application working you'll need to check out the appropriate projects and create a project from them.

If you want to make changes and share them back to the project then you can either make them locally, create a patch (MonoDevelop has a built-in feature to do this) and attach it to a ticket or you can ask for permission to "commit" to the Subversion repositories, which lets you submit your changes directly so that anyone else can check them out.

For more information, check out O'Reilly's free SVN book online.

I'm new to large projects - where do I start?

It depends where your interest is! WarFoundry isn't an overly large project, but it does come as a number of projects. If you're interested in usability and front-end work then check out the Qt#, GTK# or WinForms interfaces for Linux and Windows respectively. If you want to add back-end functionality then check out the main WarFoundry API project. If you want to help with other file formats then either check out the pre-existing project (e.g. Rollcall or ArmyBuilder) or start your own project from scratch to support another file format.

If you want a specific task to start working on, then there are always bugs and feature requests for you to investigate. The Papercut bugs are generally small bugs that can be picked up and fixed without much in-depth knowledge of WarFoundry. To accept a bug and work on it, sign up for an account, ask IBBoard to make you a "developer", get Subversion access, accept the bug and then commit the fix. Any work on bugs and features would be appreciated, but working on tickets tagged against earlier milestones first is better!

How does the ticketing system work and how does it help?

The ticketing system allows users to record problems and feature requests in an easily recordable and viewable way. It also makes the workflow easier by identifying new tickets, bugs/requests that have been checked and confirmed, tasks that are being worked on, and tasks that are fixed, as well as identifying who is working on or worked on a particular ticket and the changes it required.

Our ticketing system works the same as just about any other Trac system and most bug trackers, with a few special conventions. We've also got it hooked up to Subversion, so you can use commit messages to link commits to tickets and even to close the ticket automatically when you're done.