A quick start guide to contributing on Sahana

Welcome to the Sahana community! We have created this mini guide to help you get up to speed on Sahana and start contributing quickly and effectively in colloboration with the rest of the community. However it is completely open to feedback and if you have any thoughts on how to improve it just message it on the mailing lists.

Understand the Sahana vision

Before you start on the Sahana project, understand clearly what the project is about and what it strives to accomplish. You can find most of this in the Sahana Overview and objectives

Join the Community

Sahana is developed and guided by a large community of people from around the world, with diverse expertise. As everyone is in different timezones, the heart of this community is the mailing lists, so it is important for you to join it and actively participate in the discussion. The following mailing lists are a must:

  • Sahana-user - This mailing list is users/administrators of Sahana to submit queries on any specific aspect of using, administrating and deploying Sahana.
  • Humanitarian-ICT - This mailing list exists discuss the humanitarian and emergency management domain related requirements, problems and solutions. This list is for people who do not want to get involved with the technical details on humanitarian-ICT projects such as Sahana.
  • Sahana-maindev - All Sahana contrinution related discussions happen on this list, weather it be technical design, coding, QA, documentation, deployment and geeky discussions (even Sahana T-Shirts!). really represent the project team mailing list. This thus represents the main Sahana project team mainling list.

Please read our mailing list policy and also this recommended read on mailing list etiquette.

Install the system and try it out

We recommend for all community members to try and install the system on their machines at least once, so that they can get a better understanding of how the system runs and can work. This is good experience to enable you to give us more constructive feedback.

  • Installation guides for Sahana are provided for Windows XP,

Portable App (XP) . Linux and Max OS X .

Ways of contributing on Sahana

Development is not the only way to contribute on Sahana. Here are some other ways you can contribute your talents and become recognized for it in our community

  • XHTML/CSS web design - We need help designing styles for both the Sahana application and our homepage
  • QA and testing - The stability, usability of this codebase is high priority as it applies in a disaster scenario
  • Localization - Translation of Sahana into another language
  • Research - Looking into various technical areas (e.g. GIS) and informing the team of the best approach
  • Helping us with logistics (e.g. website, hosting, etc)
  • Writing user guides, demo and tutorials on using the Sahana system
  • Promoting or writing press articles on Sahana

Tracking non development contributions

Unlike code the only way to keep track of non development contributions is for you to submit them to our contributions tracker. These will be accepted as a contribution by the core team based on the significance, completeness and relevance of the contribution. For acceptance make sure you contributions are deliverable and accomplishment focused. Subsequently you will have an “official” record of what non-development work you have done.

Becoming a developer on Sahana

Only read beyond this point if you are interested in becoming a developer on Sahana.

Understand the Free and Open Source developer ethic

Join the developer mailing lists

Download the sourcecode

Once you are committed to contribute

Sahana is built on the LAMP stack and most of the development is done in PHP. I would recommend the following steps to understand the technology:

  • Review the documented design
  • Look at the code to validate parts of the design. Check out the skel module which is a base reference implementation you can build upon.
  • Register for a sourceforge ID if you have not done so already
  • Mail us your sourceforge ID and how you feel you can contribute to “sahana @ opensource.lk” and we will add your ID to the project
  • Check the bug tracker. If you are going to work on something new, you should still enter it into the tracker to keep everyone updated on what you are working on.
  • Send us your patch to the main-dev mailing list and we will review it before committing it to the codebase. If you send us enough good patches we will put you on the committer list so that you can submit them to the BZR directly.

Becoming a Committer

Only once you have established through continious contribution that you can contribute significantly to the Sahana project following all it's conventions and aspirations will we nominate you to become a committer on the Sahana project which will give you direct access to submit code to our BZR repository.

Once you become a committer you need to understand the following:

QR Code
QR Code dev:orientation_new_developer (generated for current page)