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

4
5
## Running this code on your own machine
### Dependencies
6
7
8
9
10
11
12
13
14
15

    apt-get install python-markdown python-ldap python-psycopg2 python-xapian \
     python-django python-django-south python-django-housekeeping \
     python-debian python-debiancontributors

#### django-housekeeping

The ‘python-django-housekeeping’ package is not available in Debian
earlier than Debian Stretch. If you are deploying to a machine running
Debian earlier than Stretch, use the following procedure:
Enrico Zini's avatar
Enrico Zini committed
16

Enrico Zini's avatar
Enrico Zini committed
17
18
    # https://github.com/spanezz/django-housekeeping
    git clone https://github.com/spanezz/django-housekeeping
Enrico Zini's avatar
Enrico Zini committed
19
      (you can either build the package from it or symlink the module directory
Enrico Zini's avatar
Enrico Zini committed
20
      into the contributors.debian.org sources)
21

Gianfranco Costamagna's avatar
Gianfranco Costamagna committed
22
    # build the package
Enrico Zini's avatar
Enrico Zini committed
23
    fakeroot debian/rules clean binary
Gianfranco Costamagna's avatar
Gianfranco Costamagna committed
24
25

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

28
### Configuration
Enrico Zini's avatar
Enrico Zini committed
29

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

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

39
### Fill in data
40
Visit https://nm.debian.org/am/db-export to download nm-mock.json; for privacy,
Enrico Zini's avatar
Enrico Zini committed
41
42
43
44
45
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
46

47
    ./manage.py import nm-mock.json
Enrico Zini's avatar
Enrico Zini committed
48

49
50
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
51

52
53
### Sync keyrings
    rsync -az --progress keyring.debian.org::keyrings/keyrings/  ./data/keyrings/
54

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

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


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

68
    ./manage.py housekeeping
Enrico Zini's avatar
Enrico Zini committed
69
70


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