FOR ARCHIVAL PURPOSES ONLY

The information in this wiki hasn't been maintained for a good while. Some of the projects described have since been deprecated.

In particular, the "Ushahidi Platform v3.x" section contains information that is often misleading. Many details about this version of Platform have changed since.

This website is an extraction of the original Ushahidi wiki into a static form. Because of that, functions like logging in, commenting or searching will not work.

For more documentation, please refer to https://docs.ushahidi.com

Skip to end of metadata
Go to start of metadata

On this page, you will find all the information necessary to setup your development environment in readiness for contributing to the Ushahidi codebase. For those that are already familiar with the basics of Git and Github, feel free to ignore this section...or stick around just incase you need a refresher course.

Required Software Packages

The list of required software packages is already specified here . In addition to these, you will also need to install:

  • Git - for version control. Git is available for the Windows, Mac OSX and Linux platforms.
    Installation on Windows
    Download the executable from the Git website
    Installation on OS X via MacPorts
    If you're on OS X Lion, there is no need for this step as it already comes bundled with Git. However, if you're on 10.6 or other earlier version:
    Installation on Debian/Ubuntu/Linux Mint
    Installation on Fedora/CentOS
  • PHPUnit for writing and running tests. See the Writing Unit and Functional Tests section for the installation instructions

Development Tools

Other nice-to-have tools that will make your development experience less of a pain are:

  • A good text editor such as Vim (for Linux enthusiasts), TextMate (for the Mac junkies), NotePad++ (for Windows slaves). These are just but a few of the common ones but feel free to use the editor of your choice.
  • A graphical MySQL administration tool for administering and maintaining your database schema, running queries and doing the cool database stuff. Some of the common tools are MySQL GUI tools (available for free from the MySQL website), SequelPro for Mac and phpMyAdmin
  • A graphical tool for Git just to help you visualize the commit history of the repository. By default Git comes bundled with, GitK for Linux, GitX for Mac OS X, Git GUI for all the platforms. These can be launched from the shell as follows:
    GitK
    GitX
    Git GUI
    For Mac OS X users, there is also GitHub for mac.

NOTE: The graphical tools are only useful when you're running your development environment in GUI mode and

Git Resources and Tutorials (Listed on git-scm.com)

NOTE: You can also consult the man pages for Git. These are bundled with your Git installation but are only available on Mac OS X and Linux platforms. Example: