update readme
This commit is contained in:
117
README.rst
117
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 <https://www.fsmi.uni-karlsruhe.de/Fachschaft/Personen/ExtraPasswoerter.html>`_ 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 <https://github.com/pimutils/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 <https://www.fsmi.uni-karlsruhe.de/Fachschaft/Personen/ExtraPasswoerter.html>`_ 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
|
||||
|
||||
Reference in New Issue
Block a user