0ae5de5b9a630c85ebc12960934834e9fe907803
[nm/nm2.git] / README.md
1 Debian NM Front Desk web application
2 ====================================
3
4 ## Running this code on your own machine
5 ### Dependencies
6     
7     apt-get install python-django python-ldap python-psycopg2 python-xapian \
8      python-debian python-django-south python-markdown python-debiancontributors
9
10     # https://github.com/spanezz/django-housekeeping
11     git clone https://github.com/spanezz/django-housekeeping
12       (you can either build the package from it or symlink the module directory
13       into the contributors.debian.org sources)
14
15     # https://github.com/jsocol/django-ratelimit
16     git clone https://github.com/jsocol/django-ratelimit.git
17       (you can either build the package from it or symlink the module directory
18       into the nm.debian.org sources)
19       Since I do not trust random stuff pulled via github, I performed a code
20       review of commit d58c489797405db348b30dec6103dcfff73160ec and it looks
21       safe to me (Enrico)
22
23 ### Configuration
24
25     mkdir data # required by default settings
26     ln -s local_settings.py.devel local_settings.py
27     edit local_settings.py as needed
28
29 ### First setup
30     
31     ./manage.py syncdb --migrate
32
33 ### Fill in data
34 Visit https://nm.debian.org/am/db-export to download nm-mock.json; for privacy,
35 sensitive information are replaced with mock strings.
36
37 If you cannot login to the site, you can ask any DD to download it for you.
38 There is nothing secret in the file, but I am afraid of giving out convenient
39 email databases to anyone.
40
41     ./manage.py import nm-mock.json
42
43 If you are a Front Desk member or a DAM, you can use
44 https://nm.debian.org/am/db-export?full for a full database export.
45
46 ### Sync keyrings
47     rsync -az --progress keyring.debian.org::keyrings/keyrings/  ./data/keyrings/
48
49 ### Run database maintenance
50     
51     ./manage.py housekeeping
52
53 ### Run the web server
54     
55     ./manage.py runserver
56
57
58 ## Periodic updates
59 You need to run periodic maintenance to check/regenerate the denormalised
60 fields:
61
62     ./manage.py housekeeping
63
64
65 ## Development
66 Development targets Django 1.5, although the codebase has been created with
67 Django 1.2 and it still shows in some places. Feel free to cleanup.