Videreutvikling

Sette opp utviklingsmiljø

Installer GNU Make, Git, Python 3 og andre avhengigheter:

sudo apt install build-essential
sudo apt install git
sudo apt install python3 python3-pip python3-distutils python3-dev

Installer Pipenv:

pip3 install --user --upgrade pipenv

Pass på at pipenv ligger i $PATH:

export PATH="$HOME/.local/bin:$PATH"

Hent en kopi av repoet og initialiser Python-environmentet:

git clone git@github.com:imfdrift/discourseconnect
cd discourseconnect
mkdir .venv
pipenv sync

Konfigurere utviklingsmiljø

Django henter innstillinger fra fila .env i toppkatalogen.

Kopier eksempelfila env.example til .env og tilpass innholdet. Defaultinnstillingene er stort sett OK, men merk at DEBUG=True er nødvendig for at manage.py runserver skal fungere ordentlig (servere staticfiles).

Se Django settings for en fullstendig oversikt over aktuelle innstillinger samt defaultinnstillinger.

Bruk av utviklingsmiljø

For å aktivere Python-environmentet:

pipenv shell

Første gangs initialisering av databasen:

./manage.py migrate
./manage.py createsuperuser

Start testserver:

./manage.py runserver

Linting av koden:

make lint

Kjøre automatiserte tester:

make test

Deaktivere Python-environmentet:

exit

Oppgradering av Python-pakker

For å sjekke om noen av pakkene vi bruker inneholder rapporterte sikkerhetshull:

pipenv check

For å oppgradere til nyeste versjon av Python-pakkene, innenfor versjonsbegrensningene angitt i Pipfile:

pipenv update

pipenv update oppgraderer Python-environmentet, og skriver ut nye Pipenv og Pipenv.lock-filer. Commit så disse til repoet:

git add Pipenv Pipenv.lock
git commit

Bygge dokumentasjon

For å kompilere dokumentasjonen i docs/, kjør:

make docs

Dokumentasjonen havner i ../docs/, dvs. utenfor repoet. Denne katalogen må opprettes manuelt første gang.

Årsaken til dette er at katalogen repoet ligger i er nedlåst (kun wsgi-brukerkontoen har tilgang), mens dokumentasjonen må være tilgjengelig for brukerkontoen webserveren kjører under.