-
Notifications
You must be signed in to change notification settings - Fork 121
Closed
Labels
Description
Bei Kursen werden manchmal Essgewohnheiten (vegetarisch, vegan) im Bemerkungsfeld erfasst. Da es sich dabei um heiklere Benutzerdaten handeln könnte, sollen diese nur solange gespeichert werden, wie sie auch vom Küchenteam benötigt werden.
Als Ergänzung von #1060 soll deshalb die Bemerkung von Kursen, Lagern und Anlässen regelmässig gelöscht werden. Dies soll ebenfalls 3 Monate nach Durchführung des Kurses, Lagers oder Anlasses passieren.
Der Hilfetext für das Feld existiert bereits. Dort können wir informieren, dass die Daten nicht persistent sind:

Ergänzungen
- Es darf nur das letzte Datum für die Löschung berücksichtigt werden (Events können mehrere Daten haben).
- Es ist nicht nötig, die Daten im Backup zu löschen. Das Backup ist etwas träger im Vergessen. Das ist in diesem Fall ok so.
- Die Funktion soll wenn möglich im Core umgesetzt werden
- Dauer bis zur Löschung konfigurierbar
- Per Config aktivierbar
Tech-Spec
- Umsetzung im Core, aber standardmässig "deaktiviert" via eine extrem lange Frist
- Dauer via settings.yml setzbar
- Vorläufig scheint es den Aufwand nicht wert, eine extra Datumsspalte auf dem Event einzufügen, sodass der Event nur einmal verarbeitet wird. Daher iterieren wir einfach täglich über sämtliche alten Participations.
- Sollte vor dem produktiv schalten mal noch mit einem PBS-DB-Dump durchgetestet werden, um festzustellen ob das Aktualisieren derart vieler Participations in sinnvoller Zeit machbar ist
ToDo
- In settings.yml eine neue Einstellung
event.participations.delete_additional_information_after_months, default sehr hoch wählen, z.B. 1200 Monate - Im PBS Wagon diese Einstellung auf 3 Monate setzen
- Wieder im Core: Neuer täglich laufender Delayed::Job (Beispiel siehe hier)
- Job sucht nach Event::Participations, bei denen das letzte event_date des Events seit mehr als x Monaten beendet ist (wobei x die neue Einstellung aus settings.yml ist)
- Bei all diesen Participations die Spalte
additional_informationaufniloder leeren String setzen - Falls das Setzen in Rubyland passiert, unbedingt
find_in_batcheso.ä. verwenden. Falls ein direktes DB-Statement möglich ist, umso besser
- Mit einem PBS-DB-Dump testen, um herauszufinden wie lange der Job braucht und ob man trotzdem besser eine "erledigt_am" Spalte auf die Events-Tabelle machen würde
- Specs schreiben
- Mit angemessener Rolle "durchklicken"
- CHANGELOG-Eintrag unter "unreleased" unten hinzufügen