diff --git a/README.rst b/README.rst index 9dd2b88..90cd0c0 100644 --- a/README.rst +++ b/README.rst @@ -1,84 +1,53 @@ FSR Generator ============= -Diese Sammlung an Skripten kann die meisten Dinge die man so für einen FSR braucht erzeugen. +Diese Sammlung an Skripten kann die meisten Dinge die man so für einen FSR braucht erzeugen. -How to configure ----------------- +Konfiguration +------------- -Die Hauptkonfiguration steht in `generator.conf`. Manche Werte sind für jeden Benutzer individuell, dafür gibt es die Datei `personal.conf` auf die in `generator.conf` verwiesen wird. Hier muss auf jeden Fall `email_redeleitung` gesetzt werden, sowie `top_inbox_maildir` wenn `read_topmails.py` verwendet werden soll und `ubmails_inbox_maildir` wenn `read_ubmails.py` verwendet werden soll. Falls die Mattermostintegration genutzt werden soll muss ausserdem die `mm_url` auf einen Mattermost-Hook gesetzt werdnen. +Die Hauptkonfigurationsdatei ist `generator.conf`. In diesem Git-Repo liegt eine `generator.conf` die mit den Werten für den FSR vorausgefüllt ist, idealerweise müsst ihr daran nichts ändern. Einige Dinge sind aber von Person zu Person unterschiedlich, dafür gibt es die `personal.conf`. Hier liegt eine `personal.conf.example` im Repo, die solltet ihr nach `personal.conf` kopieren und anpassen (vmtl. nur `email_redeleitung`, für weitere Optionen siehe Fortgeschrittene Nutzung). -Bestandteile ------------- +Ausserdem müsst ihr, falls ihr das Skript nicht auf einem FS-Rechner ausführt, SSH so konfiguriert haben dass bei Verbindungen nach `fsmi-login.fsmi.uni-karlsruhe.de` der richtige Nutzername verwendet wird (`.ssh/config`). Ausserdem bietet sich die Nutzung von SSH-Keys an da mehrere Verbindungen aufgebaut werden und man nicht jedes mal ein Passwort eingeben will. -`generate.py` +Ausserdem müsst ihr auf der Website ein Passwort für postgres `gesetzt `_ haben und die entsprechenden Rechte auf der Datenbank haben (sollten alle haben, sonst Mail an rechner@). + +Die mitgelieferten Konfigurationsdateien sind darauf ausgelegt auf FS-Rechnern ohne nicht hier beschriebene Konfiguration zu funktionieren. + +Nutzung +------- + +Zuerst solltet ihr die TOP-Mails für den aktuellen FSR raussuchen. Diese speichert ihr als mbox in `data/fsr_tops.mbox` ab. (Wie das geht hängt vom verwendeten E-Mailprogramm ab) + +Beim Generieren der Präsentation solltest du ausserdem noch die unbeantworteten Mails in `data/ubemails.txt` und die Termine in `data/termine.txt` schreiben. + +Jetzt kann man, je nachdem was man machen will, `./invite` zum Einladung verschicken (Achtung: verschickt ohne weitere Nachfrage die Einladungsmail), `./presentation` zum Präsentation generieren oder `./protocol` zum Protokollvorlage generieren ausführen. + +Fortgeschrittene Nutzung +------------------------ + +E-Mails automatisch aus Maildir lesen ++++++++++++++++++++++++++++++++++++++ + +TODO + +Einladung nicht automatisch versenden ++++++++++++++++++++++++++++++++++++++ + +Wenn du in deiner `personal.conf` die Option `inviteseq` auf `invite_mbox_nosend` setzt versendet `./invite` die Einladung nicht automatisch sondern gibt sie auf dem Terminal aus, von wo du sie in dein E-M̀ailprogramm kopieren kannst. + +Es gibt auch die Möglichkeit die Einladung in eine mbox-Datei zu schreiben die dein E-Mailprogramm öffen kann, dazu muss man in der `generator.conf` in der `sequencer`-Konfiguration die Option `--write-mbox` an `generate` anfügen, die Datei wird dann an den in `mbox_out` angegebenen Pfand geschrieben. + +Termine aus FS-Kalender lesen ++++++++++++++++++++++++++++++ + +Voraussetzung: `khal `_ + +TODO + +Override-File +++++++++++++ -Das Herzstück der Skriptsammlung. Liest Daten aus `generator.conf` sowie den darin angegebenen Dateien und erzeugt den Einladungstext (für E-Mail oder Mattermost), die LaTeX-Datei für die Präsentation und eine Protokollvorlage. +Es ist möglich einzelne Optionen der `generator.conf` in einer separaten Datei zu überschreiben. -Standardmäßig wird das Ergebnis nach STDOUT geschrieben, es gibt aber auch Optionen das Ganze in eine mbox-Datei zu speichern oder direkt mit sendmail zu verschicken. - -`read_db.sh` -++++++++++++ - -Dieses Skript verbindet sich mit der FSMI-Datenbank und liest die unveröffentlichen Protokolle aus um folgende Dinge zu extrahieren und in Dateien unter `data/` zu speichern: - -- Liste der unveröffentlichten Protokolle -- Datum des letzten FSRs (für `read_topmails.py`) -- nächste Redeleitung -- nächster Protokollant - -Um es zu nutzen ist es erforderlich dass du - -- ein Passwort für postgres `gesetzt `_ hast -- entweder das Skript auf einem FS-Rechner ausführst oder eine SSH-Config für `fsmi-login.fsmi.uni-karlsruhe.de` eingerichtet hast (Benutzername und SSH-Key) -- die passenden Rechte auf die DB hast (sollten alle haben) - -`read_ubmails.py` -+++++++++++++++++ - -Dieses Skript durchsucht ein Maildir nach der neusten E-Mail mit dem Betreff "Unbeantwortete Mails" und schreibt den Inhalt dieser in eine Datei. - -`read_topmails.py` -++++++++++++++++++ - -Dieses Skript liest alle E-Mails aus einem Maildir deren `List-Id` auf `top.fsmi.uni-karlsruhe.de` gesetzt ist und die nach dem letzten FSR (gelesen aus `data/last_date`) gesendet wurden. Geschrieben wird als mbox in das `top_mbox_file` aus `generator.conf`. - - -How to use ----------- - -Immer -+++++ - -Die aktuelle TOP-Mails raussuchen und in eine mbox schreiben deren Pfad in `generator.conf` angegeben ist. Alternativ `read_topmails.py` ausführen. - -Entweder die richtige Redeleitung und Protokollant raussuchen und in die `generator.conf` schreiben oder `read_db.sh` ausführen. - -Einladung -+++++++++ - -Wenn du die E-Mail manuell versenden (und evtl. signieren) möchtest: - -`./generate.py --invite --write-mbox` - -Die mbox im Mailclient öffnen, die neuste Nachricht auswählen, "als neu bearbeiten", absenden. - -Wenn du die E-Mail direkt versenden möchtest (und sendmail konfiguriert hast): - -`./generate.py --invite --send-mail` - -Präsentation -++++++++++++ - -Entweder manuell die letzte "Unbeantwortete Mails" E-Mail raussuchen und in die konfigurierte Datei schreiben oder `read_ubmails.py` ausführen. - -`./generate.py --presentation > whatever.tex` -`pdflatex whatever.tex` - -Alternativ gibt es `prepare_presentation.sh` welches die Hilfsskripte ausführt, die Präsentation erzeugt, kompiliert und einen Symlink zum PDF anlegt. - -Protokoll -+++++++++ - -Analog Präsentation, aber mit `--protocol` +TODO