[[PageOutline(0-7, Table of Contents, floated)]] So, you want to do some contribution for iPeer project. Just follow the following steps to make your own local development environment. == Setup == === For External Developers and Contributers === 1. Get a !GitHub Account from https://github.com. 2. Install Git on your local computer. * Mac: http://help.github.com/mac-set-up-git/ * Linux: http://help.github.com/linux-set-up-git/ * Windows: http://help.github.com/win-set-up-git/ 3. Fork the iPeer project (https://github.com/ubc/iPeer) into your account and clone the code from your forked repo: http://help.github.com/fork-a-repo/ 4. Additional steps to set up * Pull the Guard plugin. {{{ cd ipeer git submodule init git submodule update }}} 5. Setup [wiki:CodingStandard coding standard] 6. Starting developing~ 7. Once you finished, you can issue a pull request so that we can merge your changes to the iPeer repo. http://help.github.com/send-pull-requests/ === For Internal Developers and Contributers === 1. Follow steps 1 and 2 for External Developers and Contribuers above 2. Follow the steps in https://help.github.com/articles/generating-ssh-keys to generate a ssh key for your github account 3. Clone the code {{{ git clone git@github.com:ubc/iPeer.git }}} 4. Additional steps to set up. Pull the Guard plugin. {{{ cd ipeer git checkout cakephp1.3 git submodule init git submodule update }}} 5. (XAMPP) go to xampp/htdocs/app/plugins/guard/config, open guard.php. You will have to do something similar if you are using any other web server. * Make the following changes {{{ //$config['Guard.AuthModule.Name'] = 'Shibboleth'; // Using Shibboleth module $config['Guard.AuthModule.Name'] = 'Default'; // Using default (build-in) module }}} * Copy guard.php to xampp/htdocs/app/config See, that's not very hard. == Debugging == === For version 2.x === To turn on debug mode, change the line in file app/config/core.php from: {{{ define('DEBUG', 0); }}} to {{{ define('DEBUG', 2); }}} === For version 3.x === To turn on debug mode, change the line in file app/config/core.php from: {{{ Configure::write('debug', 0); }}} to {{{ Configure::write('debug', 2); }}} == Running Tests == In order to run tests, you will need [http://www.phing.info/ Phing] and [http://pecl.php.net/package/oauth OAuth] (required to run controller tests). You also need to set up a test database, named the same as your database in app/config/database.php with suffix "_test", e.g. ipeer_test. To run the tests, simply call the following commands at the root of the directory: {{{ phing test }}}