cb2e6b36a989e8c288d8668e9152370453d4c664
[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
9
10     # http://anonscm.debian.org/gitweb/?p=users/enrico/django_maintenance.git
11     git clone https://alioth.debian.org/anonscm/git/users/enrico/django_maintenance.git
12       (you can either build the package from it or symlink the module directory
13       into the nm.debian.org sources)
14
15     # http://anonscm.debian.org/gitweb/?p=nm/python-debiancontributors.git
16     git clone https://alioth.debian.org/anonscm/git/nm/python-debiancontributors.git
17       (you can either build the package from it or symlink the module directory
18       into the nm.debian.org sources)
19
20     # https://github.com/jsocol/django-ratelimit
21     git clone https://github.com/jsocol/django-ratelimit.git
22       (you can either build the package from it or symlink the module directory
23       into the nm.debian.org sources)
24       Since I do not trust random stuff pulled via github, I performed a code
25       review of commit d58c489797405db348b30dec6103dcfff73160ec and it looks
26       safe to me (Enrico)
27
28 ### Configuration
29
30     mkdir data # required by default settings
31     ln -s local_settings.py.devel local_settings.py
32     edit local_settings.py as needed
33
34 ### First setup
35     
36     ./manage.py syncdb
37
38 ### Fill in data
39 Visit https://nm.debian.org/am/db-export to download nm-mock.json; for privacy,
40 sensitive information are replaced with mock strings.
41
42 If you cannot login to the site, you can ask any DD to download it for you.
43 There is nothing secret in the file, but I am afraid of giving out convenient
44 email databases to anyone.
45
46     ./manage.py import nm-mock.json
47
48 If you are a Front Desk member or a DAM, you can use
49 https://nm.debian.org/am/db-export?full for a full database export.
50
51 ### Sync keyrings
52     rsync -az --progress keyring.debian.org::keyrings/keyrings/  ./data/keyrings/
53
54 ### Run database maintenance
55     
56     ./manage.py maintenance
57
58 ### Run the web server
59     
60     ./manage.py runserver
61
62
63 ## Periodic updates
64 You need to run periodic maintenance to check/regenerate the denormalised
65 fields:
66
67     ./manage.py maintenance
68
69
70 ## Development
71 Development targets Django 1.5, although the codebase has been created with
72 Django 1.2 and it still shows in some places. Feel free to cleanup.