Skip to content
Snippets Groups Projects
Commit 0b99e445 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Change some files in project home like COPYRIGHT, etc.

parent 21b5ced7
No related branches found
No related tags found
1 merge request!86Merge school-apps
# Releases/Änderungen
## 1.0-beta "Aebli"
_Veröffentlicht_
## 1.0 "Aebli"
Veröffentlicht unter [v1.0](https://github.com/Katharineum/school-apps/releases/tag/v1.0)
### Funktionen
- AUB (Antrag auf Unterrichtsbefreiung)
- Antragstellung mit anschließender Bearbeitungs- und Löschfunktion
- Genehmigen bzw. Ablehnen von Anträgen in zwei Runden
- Archivfunktion für alte Anträge
- Automatische Benachrichtigung bei Genehmigung bzw. Ablehnung per E-Mail an den Antragssteller
- Timetable (Stundenplan, basierend auf UNTIS 2020)
- Anzeige aller Studenpläne (Schüler, Lehrer, Räume) inkl. Mobilversion
- Anzeige des Vertretungsplans über Tabelle (Webapp) oder PDF
- Direkte Einbindung von Vertretungen in die Regelpläne ("SMART PLAN")
- Bereitstellung eines Tagesplanes für jeden Nutzer ("Mein Plan", SMART PLAN für einen Wochentag)
- Speisepläne
- Hochladen von Speiseplänen im PDF-Format für jeweils eine Kalenderwoche
- Bereitstellung einer PDF-URL, welche dynamisch den aktuellen Plan anzeigt
- Support
- REBUS: Fehlermeldeportal mit dreistufiger Kategoriesierungsmöglichkeit
- Feedback: Feedbackformular mit Sternewertung
- FAQ: Datenbankgestütztet FAQ-Anzeige inkl. Fragemöglichkeit
- Benachrichtigungen für REBUS, Feedback und FAQ via E-Mail
## 1.0.1 "Aebli"
Veröffentlicht unter [v1.0](https://github.com/Katharineum/school-apps/releases/tag/v1.0.1)
### Änderungen
Diverse Nachbesserungen des Releases 1.0 "Aebli"
* Umgestaltung des Menüs
* Umgestaltung des Footers
* Nächsten Tag im Vertretungsplan und Mein Plan bereits ab 15:35 Uhr des Vortages anzeigen
* Verbesserungen bei REBUS
* Anpassung für OTRS
* Kleine Designänderungen (Timetable, AUB, FAQ)
* Beheben von kleinen Bugs (Timetable, Speiseplan)
## 1.0.2 "Aebli"
### Änderungen
Weitere Nachbesserungen der Releases 1.0 sowie 1.0.1 "Aebli"
* Ferien/Feiertage werden nun angezeigt
* Icon für Nimbus im Footer hinzugefügt
* Vertretungsplantabelle mobil optimiert
* Sortierung der AUBs geändert
* Darstellung der REBUS-E-Mails verbessert
* Weitere Kategorien für "Fehler melden" hinzugefügt (Drucker, etc.)
* Designanpassungen im Vertretungsplan-PDF (u. a. Minimierung des Platzbedarfes)
* Entfernung des Hinweises "erste Version"
* SMART PLAN wird ab Freitag, 15:35 Uhr bereits für die nächste Woche angezeigt
* Umbenennung von class.pdf in aktuell.pdf
* Interne Optimierungen und Verbesserungen sowie Fehlerbehebungen
## 1.1 "Aebli"
### Änderungen
Weitere Verbesserungen der vorangegeangen Versionen dieses Releases.
* Überarbeitung des PDF-Vertretungsplans
+ Ausblenden der Stunden, die durch Veranstaltungen entfallen
+ Ausblenden der Änderungen an Verfügungsstunden
+ Ausblenden von nicht betroffenen Parallelkursen bei Vertretungen
+ Zusammenfassen von Stundenblöcken (statt zwei Einzelstunden wird eine Doppelstunde angezeigt)
+ Zusammenfassen der Seiten für mehrere Tage, sodass der zweite Tag bereits auf der Seite anfängt, auf der der erste Tag endet
* Behebung kleinerer Fehler
+ Support-Seiten waren auch ohne Anmeldung nutzbar
+ Pläne sind auf der Übersichtsseite sortiert
© 2018 by Jonathan Weth, Frank-Poetzsch-Heffter, Computer-AG, Katharineum zu Lübeck
© 2019 by Hangzhi Yu, Julian Leucker, Jonathan Weth, Frank Poetzsch-Heffter, Computer-AG, Katharineum zu Lübeck
\ No newline at end of file
## Installation
**Hinweis:** Es werden nur Linux-basierte Systeme unterstützt (in dieser Anleitung wird sich auf Debian-basierte Systeme wie Ubuntu oder Linux Mint bezogen). Außerdem werden Root-Rechte benötigt.
### Grundsystem
```
sudo apt install python3 python3-dev python3-pip git mariadb-server python3-venv libldap2-dev libsasl2-dev libmysqlclient-dev pandoc texlive texlive-fonts-extra texlive-lang-german texlive-latex-extra
```
### MySQL-Datenbank
1. Datenbanken `schoolapps` und `Untis` (`utf8_general_ci`) anlegen
2. Benutzer `www-data` anlegen
3. Benutzer `www-data` alle Rechte auf `schoolapps` geben
4. Benutzer `untis-read` anlegen
5. Benutzer `untis-read` Leserechte auf UNTIS-DB geben
```
mysql -u root -p
CREATE DATABASE schoolapps;
CREATE DATABASE Untis;
CREATE USER 'www-data'@'localhost' IDENTIFIED BY 'grummelPASS1531';
GRANT ALL PRIVILEGES ON schoolapps.* TO 'www-data'@'localhost';
CREATE USER 'untis-read'@'localhost' IDENTIFIED BY 'grummelPASS1531';
GRANT SELECT ON Untis.* TO 'untis-read'@'localhost';
```
Hinweis: In Testumgebungen kann untis-read auch entfallen und
stattdessen www-data auch für den Zugriff auf die Datenbank `Untis` verwendet werden:
```
GRANT SELECT ON Untis.* TO 'www-data'@'localhost';
```
### UNTIS-Beispieldaten importieren
Zum Testen kann die Datei `untiskath.sql` vom Forum in die Datenbank `Untis` importiert werden.
### SchoolApps clonen
```
git clone git@github.com:Katharineum/school-apps.git
```
### Django installieren
- Zum Installationsordner wechseln, dann:
```
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt
```
- `example_secure_settings.py` zu `secure_settings.py` kopieren und anpassen (hier müssen auch die passenden DB-Zugangsdaten eingetragen werden)
### Migrations durchführen/auflösen
Leider kommt es bei einer Erstinstallation von SchoolApps immer noch zu Problemen mit den Migrations. Sollte es Schwierigkeiten geben, @hansegucker kontaktieren.
Für die Migration folgende Befehle im aktivierten VirtualEnv ausführen:
```
python3 schoolapps/manage.py makemigrations
python3 schoolapps/manage.py migrate
```
### Testlauf
- Administratornutzer erstellen
```
python3 schoolapps/manage.py createsuperuser
```
- Django-Devserver starten
```
python3 schoolapps/manage.py runserver
```
- Einstellungen anpassen (http://127.0.0.1:8080/settings, siehe auch "Kanboard-Verbindung einrichten")
- SchoolApps benutzen 😃
### Mail-Verbindung einrichten (REBUS+Feedback)
1. Zu den [Einstellungen](localhost:8000/settings) navigieren (/settings)
2. Die richtigen E-Mailadressen eintragen
## LDAP (info.katharineum.de)
**WICHTIG:** LDAP funktioniert nur mit Nutzern, die folgende Gruppe haben: `info-admins`
#### Adresse lokal von info.katharineum.de
`localhost:389`
#### BIND-Nutzer
DN: `uid=readldap,ou=people,dc=skole,dc=skolelinux,dc=no`
PW: `grummelPASS1531`
#### Basis-DN
`dc=skole,dc=skolelinux,dc=no`
#### SSH-Tunnel herstellen
```sudo ssh -L 389:localhost:389 <user>@info.katharineum.de -N ```
(`<user>` durch Nutzer mit Gruppe `info-admins` ersetzen)
#### Verbindung testen
1. Tunnel erstellen (siehe Befehl)
2. Apache Active Directory (AD) zum Testen öffnen (Download unter http://directory.apache.org/studio/)
3. Verbindung in AD mit oben genannten Daten herstellen
![](https://user-images.githubusercontent.com/24552951/62492340-a02d9a80-b7ce-11e9-836d-f3846908641a.png)
## Apps
siehe Wiki
## Installation
**Hinweis:** Es werden nur Linux-basierte Systeme unterstützt (in dieser Anleitung wird sich auf Debian-basierte Systeme wie Ubuntu oder Linux Mint bezogen). Außerdem werden Root-Rechte benötigt.
### Grundsystem
```
sudo apt install python3 python3-dev python3-pip git mariadb-server python3-venv libldap2-dev libsasl2-dev libmysqlclient-dev pandoc texlive texlive-fonts-extra texlive-lang-german texlive-latex-extra
```
SchoolApps ist ein modulares System zum Bereitstellen von speziellen Anwendungen für den Schulalltag. Besonderer Fokus liegt dabei auf dem Stundenplansystem.
### MySQL-Datenbank
1. Datenbanken `schoolapps` und `Untis` (`utf8_general_ci`) anlegen
2. Benutzer `www-data` anlegen
3. Benutzer `www-data` alle Rechte auf `schoolapps` geben
4. Benutzer `untis-read` anlegen
5. Benutzer `untis-read` Leserechte auf UNTIS-DB geben
© 2018 by Jonathan Weth, Frank-Poetzsch-Heffter, Computer-AG, Katharineum zu Lübeck
```
mysql -u root -p
CREATE DATABASE schoolapps;
CREATE DATABASE Untis;
CREATE USER 'www-data'@'localhost' IDENTIFIED BY 'grummelPASS1531';
GRANT ALL PRIVILEGES ON schoolapps.* TO 'www-data'@'localhost';
CREATE USER 'untis-read'@'localhost' IDENTIFIED BY 'grummelPASS1531';
GRANT SELECT ON Untis.* TO 'untis-read'@'localhost';
```
Hinweis: In Testumgebungen kann untis-read auch entfallen und
stattdessen www-data auch für den Zugriff auf die Datenbank `Untis` verwendet werden:
```
GRANT SELECT ON Untis.* TO 'www-data'@'localhost';
```
### UNTIS-Beispieldaten importieren
Zum Testen kann die Datei `untiskath.sql` vom Forum in die Datenbank `Untis` importiert werden.
### SchoolApps clonen
```
git clone git@github.com:Katharineum/school-apps.git
```
### Django installieren
- Zum Installationsordner wechseln, dann:
```
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt
```
- `example_secure_settings.py` zu `secure_settings.py` kopieren und anpassen (hier müssen auch die passenden DB-Zugangsdaten eingetragen werden)
### Migrations durchführen/auflösen
Leider kommt es bei einer Erstinstallation von SchoolApps immer noch zu Problemen mit den Migrations. Sollte es Schwierigkeiten geben, @hansegucker kontaktieren.
Für die Migration folgende Befehle im aktivierten VirtualEnv ausführen:
```
python3 schoolapps/manage.py makemigrations
python3 schoolapps/manage.py migrate
```
### Testlauf
- Administratornutzer erstellen
```
python3 schoolapps/manage.py createsuperuser
```
- Django-Devserver starten
```
python3 schoolapps/manage.py runserver
```
- Einstellungen anpassen (http://127.0.0.1:8080/settings, siehe auch "Kanboard-Verbindung einrichten")
- SchoolApps benutzen 😃
### Mail-Verbindung einrichten (REBUS+Feedback)
1. Zu den [Einstellungen](localhost:8000/settings) navigieren (/settings)
2. Die richtigen E-Mailadressen eintragen
## LDAP (info.katharineum.de)
**WICHTIG:** LDAP funktioniert nur mit Nutzern, die folgende Gruppe haben: `info-admins`
#### Adresse lokal von info.katharineum.de
`localhost:389`
#### BIND-Nutzer
DN: `uid=readldap,ou=people,dc=skole,dc=skolelinux,dc=no`
PW: `grummelPASS1531`
#### Basis-DN
`dc=skole,dc=skolelinux,dc=no`
#### SSH-Tunnel herstellen
```sudo ssh -L 389:localhost:389 <user>@info.katharineum.de -N ```
(`<user>` durch Nutzer mit Gruppe `info-admins` ersetzen)
#### Verbindung testen
1. Tunnel erstellen (siehe Befehl)
2. Apache Active Directory (AD) zum Testen öffnen (Download unter http://directory.apache.org/studio/)
3. Verbindung in AD mit oben genannten Daten herstellen
© 2019 by Hangzhi Yu, Julian Leucker, Jonathan Weth, Frank Poetzsch-Heffter, Computer-AG, Katharineum zu Lübeck
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment