PaTT
Project and Teamorganisation Tool
Installation
Get the repository
####Go to the subfolder, where you want to create your new PaTT-Application (here ~/tmp) cd ~/tmp
Clone the repository
git clone https://git.mount-mockery.de/application/patt.git
Change to your repository and initialise it completely
cd patt
git submodule init
git submodule update
Create your virtual environment
Create python3 environment
virtualenv -p /usr/bin/python3 venv
Activate the environment
source activate
Upgrade all outdated packages
pip list -o --format freeze|cut -d '=' -f 1 | xargs pip install $1 --upgrade
Install PaTT Requirements
pip install -r requirements.txt
Configuration and Initialisation of PaTT
Create your config File
Copy the config example
cp config_example/config.py .
chmod 700 config.py
Set a secret key
Edit config.py and add a SECRET_KEY. Generate the secret e.g by executing the following command:
python manage.py
At the End of the error message you'll see a random secret:
KeyError: "You need to create a config.py file including at least a SECRET_KEY definition (e.g.: --> 'HERE IS THE RANDOM SECRET ;-)' <--)."
Create your initial database and first user for Patt
python manage.py migrate
python manage.py createsuperuser
Finalise Configuration
Now there are two ways to finalise your configuration. The first way is for a test or development system. The other is for a production System.
-
Test or development System: Edit config.py and set the Variable DEBUG to True.
-
Production System: Edit config.py and set the Variable ALLOWED_HOSTS. Execute "python manage.py collectstatic" to create a folder including all static files. Then add PaTT to your server configuration. See also Django Documnetation for further information.
Start the Test or development System
Go to the folder, where your PaTT-Application is locates (here ~/tmp/patt)
cd ~/tmp/patt
###Activate your Virtual Environment source activate
###Start the Server python manage.py runserver
Backup
Create Backup files
source venv/bin/activate
python manage.py dumpdata --natural-foreign --natural-primary -e contenttypes -e sessions -e auth.Permission -e sessions -e patt --indent 2 > dump_base.json
python manage.py dumpdata --natural-foreign --natural-primary -e contenttypes -e sessions -e auth.Permission -e sessions patt --indent 2 > dump_patt.json
tar -cvzf dump_media.tgz data/media
Restore Backup
source venv/bin/activate
If you are starting without a database, you need to create one
python manage.py migrate
Afterward add data step by step to the database.
python manage.py loaddata dump_base.json
python manage.py loaddata dump_patt.json
tar -xvzf dump_media.tgz