README.md 2.27 KB
Newer Older
1
2
Debian NM Front Desk web application
====================================
Enrico Zini's avatar
Enrico Zini committed
3

4
5
6
## Running this code on your own machine
### Dependencies
    
7
    apt-get install python-django python-ldap python-psycopg2 python-xapian \
Victor Seva's avatar
Victor Seva committed
8
     python-debian python-django-south python-markdown \
Enrico Zini's avatar
Enrico Zini committed
9
     python-debiancontributors
Enrico Zini's avatar
Enrico Zini committed
10

Enrico Zini's avatar
Enrico Zini committed
11
12
    # https://github.com/spanezz/django-housekeeping
    git clone https://github.com/spanezz/django-housekeeping
Enrico Zini's avatar
Enrico Zini committed
13
      (you can either build the package from it or symlink the module directory
Enrico Zini's avatar
Enrico Zini committed
14
      into the contributors.debian.org sources)
15

Gianfranco Costamagna's avatar
Gianfranco Costamagna committed
16
    # build the package
Enrico Zini's avatar
Enrico Zini committed
17
    fakeroot debian/rules clean binary
Gianfranco Costamagna's avatar
Gianfranco Costamagna committed
18
19

    # install the package
Enrico Zini's avatar
Enrico Zini committed
20
    dpkg -i  ../python-django-housekeeping_0.1-1_all.deb
Gianfranco Costamagna's avatar
Gianfranco Costamagna committed
21

22
23
24
25
26
27
28
29
    # https://github.com/jsocol/django-ratelimit
    git clone https://github.com/jsocol/django-ratelimit.git
      (you can either build the package from it or symlink the module directory
      into the nm.debian.org sources)
      Since I do not trust random stuff pulled via github, I performed a code
      review of commit d58c489797405db348b30dec6103dcfff73160ec and it looks
      safe to me (Enrico)

30
### Configuration
Enrico Zini's avatar
Enrico Zini committed
31

32
    mkdir data # required by default settings
33
    cd nm2
Enrico Zini's avatar
Enrico Zini committed
34
35
    ln -s local_settings.py.devel local_settings.py
    edit local_settings.py as needed
Enrico Zini's avatar
Enrico Zini committed
36

37
38
### First setup
    
Gianfranco Costamagna's avatar
Gianfranco Costamagna committed
39
    ./manage.py migrate
Enrico Zini's avatar
Enrico Zini committed
40

41
### Fill in data
42
Visit https://nm.debian.org/am/db-export to download nm-mock.json; for privacy,
Enrico Zini's avatar
Enrico Zini committed
43
44
45
46
47
sensitive information are replaced with mock strings.

If you cannot login to the site, you can ask any DD to download it for you.
There is nothing secret in the file, but I am afraid of giving out convenient
email databases to anyone.
Enrico Zini's avatar
Enrico Zini committed
48

49
    ./manage.py import nm-mock.json
Enrico Zini's avatar
Enrico Zini committed
50

51
52
If you are a Front Desk member or a DAM, you can use
https://nm.debian.org/am/db-export?full for a full database export.
Enrico Zini's avatar
Enrico Zini committed
53

54
55
### Sync keyrings
    rsync -az --progress keyring.debian.org::keyrings/keyrings/  ./data/keyrings/
56

57
58
### Run database maintenance
    
59
    ./manage.py housekeeping
Enrico Zini's avatar
Enrico Zini committed
60

61
62
63
### Run the web server
    
    ./manage.py runserver
Enrico Zini's avatar
Enrico Zini committed
64
65


66
## Periodic updates
Enrico Zini's avatar
Enrico Zini committed
67
68
69
You need to run periodic maintenance to check/regenerate the denormalised
fields:

70
    ./manage.py housekeeping
Enrico Zini's avatar
Enrico Zini committed
71
72


73
## Development
Enrico Zini's avatar
Enrico Zini committed
74
Development targets Django 1.7, although the codebase has been created with
Enrico Zini's avatar
Enrico Zini committed
75
Django 1.2 and it still shows in some places. Feel free to cleanup.