Preparing to develop Elgg patches

Last updated by Steve Clay

Set up a localhost LAMP solution. XAMPP/MAMP are fine. I recommend placing a symlink to htdocs in your home dir. E.g. on OSX/XAMPP: cd ~; ln -s /Applications/XAMPP/xamppfiles/htdocs

Create a github account, set up git, and register your SSH key with github.

Fork the Elgg/Elgg repo into your account.

Create a separate Elgg install for each major Elgg branch you want to work on. This is because you can't downgrade an Elgg installation once installed/upgraded. Here's an example for 1.12:

cd ~/htdocs
git clone git://github.com/Elgg/Elgg.git elgg112
cd elgg112
git checkout 1.12
git remote add fork git@github.com:yourGithubUsername/Elgg.git 

The Elgg 1.12 codebase is now in ~/htdocs/elgg112. Continue to install Elgg as normal, giving it its own data directory and database for 1.12.

You should end up with a working Elgg 1.12 install at http://localhost/elgg112/

If you do git remote -v, you should see the following remotes:

fork   git@github.com:yourUsername/Elgg.git (push)
fork   git@github.com:yourUsername/Elgg.git (fetch)
origin   git@github.com:Elgg/Elgg.git (push)
origin   git@github.com:Elgg/Elgg.git (fetch)

Now you have all you need to start bug fixing!