Clone this wiki locally
Developer Environment Set up
Here are instructions for getting ScrumDo working on your development machine.
Install python 2.6 (if you don't have it) //WARNING: Don't use 2.7
You can run python --version to check:
mhughes$ python --version Python 2.6.1
Install mysql (Using 5.1.47 on public server)
Make sure to install server and client libs
Clone the repo
git clone https://github.com/ScrumDo-Dev-Group/ScrumDo.git
Set up your python virtual environment
go into repo/Pinax-0.7.3-bundle and run the pinax-boot script
> python scripts/pinax-boot.py ../pinax-env
This will download most of the neccessary pinax prerequisites, libraries, etc.
Start up your pinax dev environment
cd repo dir / pinax-env
This sets up some environmental variables to point to our virtual environment we set up above. You need to do this every time you want to develop.
Install the scrumdo pre-requisites
From the ScrumDo directory, run:
pip install -r requirements.txt
Sometimes, django 1.1.1 doesn't upgrade correctly using the above. You can manually do it with:
pip install -U django==1.1.1
Create a mysql database and user...
Create your backlog database.
create database backlog; grant all privileges on scrumdo.* to scrumaster identified by 'password'; //rename password accordingly
Feel free to pick a different password and set it in a local_settings.py file. Please do not submit password changes to settings.py. The public web server uses this method to specify an alternate PW.
Go into the repo/scrumdo-web dir and create your initial DB
python manage.py syncdb
At this point, you might have python dependency problems. Mainly the python mysql module, and the python imaging module. You and google are on your own for figuring them out. On the linux server, I was lucky enough to have pre-built binaries to install. On my mac, I remember having to do significantly more work in the past to make them work.
Remember to run a successful python manage.py syncdb after your dependencies are all set.
TODO: Would love to get either instructions or a link to instructions on this wiki for these.
We use django-haystack plus solr for searching & filtering. If you want the search/filter options to work, you'll need to manually install solr
There is some information regarding the installation on the django-haystack help page.
After installing solr, generate the solr xml schema file.
python manage.py build_solr_schema > PATH_TO_SOLR/solr/conf/schema.xml
Then, rebuild your initial index.
python manage.py rebuild_index
Then you should be good to start searching. django-haystack is set up to auto-update the index as changes are made, so you shouldn't have to rebuild the index regularly. Occasionally, if the search index schema changes (apps.projects.search_indexes.py) you'll have to re-run the schema and rebuild jobs.
Now, you can run the server.
python manage.py runserver
And lastly, point a browser to http://localhost:8000/