Set up

redy edited this page Sep 17, 2011 · 18 revisions

#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

  source bin/activate```
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.<br/>

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```
<br/>
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.
<br/>
Remember to run a successful _python manage.py syncdb_ after your dependencies are all set.
<br/><br/>
TODO: Would love to get either instructions or a link to instructions on this wiki for these.

# Search
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|http://lucene.apache.org/solr/]]

There is some information regarding the installation on the [[django-haystack help page|http://docs.haystacksearch.org/dev/installing_search_engines.html]].


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/