Datenlöschung (framework-data-erasure)
Löschmethoden
Es können eigene Löschmethoden integriert werden. Dazu muss ein Manager eines Pakets das Interface Brandbox\FrameworkDataErasure\Erasure\Job\Lib\Service\EraserServiceInterface
implementieren.
Automatisierung
Eine automatische Erstellung von Löschaufträgen ist mittels Cronjob möglich, der einmal täglich, vorzugsweise nachts, laufen sollte. Dieser muss wie folgt definiert sein:
-package=Erasure/Action -host=domain.brandbox.de
Die Abarbeitung der Löschungen erfolgt in Paketen zu 5000 Datensätzen über einen weiteren Cronjob, der alle 15 Minuten laufen sollte, jedoch aus Performancegründen nur zu Randzeiten:
-package=Erasure/Job -host=domain.brandbox.de
Versionshinweise
Bis Version 2.0 der App framework-data-erasure existiert nur der Cron-Job für Erasure/Job, der sowohl die Erstellung als auch die Abarbeitung der Löschaufträge behandelt.
Events
Erasure/Action
Event | Beschreibung |
---|---|
\Brandbox\FrameworkDataErasure\Erasure\Action\Lib\Event\OnExecuteCron | Das Event wird nach Ausführung des Cron Erasure/Action gefeuert. So können mit Cron-Ausführung eigene nachgelagerte Aktionen ausgeführt werden. Eigene Ergebnisse können in das Property $results geschrieben werden. |
Erasure/Job
Event | Beschreibung |
---|---|
\Brandbox\FrameworkDataErasure\Erasure\Job\Lib\Event\OnAfterCreateErasureJob | Das Event wird nach Anlage eines Löschauftrags gefeuert. Standard-Implementation ist das Speichern und Verknüpfen der Löschungen in Erasure/Job mit Priorität 1000. |
\Brandbox\FrameworkDataErasure\Erasure\Job\Lib\Event\OnAfterCreateErasureLog | Das Event wird nach Anlage einer Löschung gefeuert. |
\Brandbox\FrameworkDataErasure\Erasure\Job\Lib\Event\OnEraseEntity | Das Event wird zum Ausführen der Löschung pro gelöschtem Datensatz gefeuert. Standard-Implementation ist das Löschen der betroffenen Entity mit Priorität 1000. Da mit der Standardimplementation das Entity selbst gelöscht wird und damit die ID danach nicht mehr zur Verfügung steht, werden für nachträgliche Operationen die Properties |
\Brandbox\FrameworkDataErasure\Erasure\Job\Lib\Event\OnProcessErasureJob | Das Event wird beim Verarbeiten eines Löschauftrags gefeuert. Standard-Implementation ist die Löschung selbst in Erasure/Job mit Priorität 1000. |
\Brandbox\FrameworkDataErasure\Erasure\Job\Lib\Event\OnSendInformationMail | Das Event wird vor dem Versenden der Informations-Mails gefeuert und enthält im Property $builder den Mail-Builder, der angereichert oder verändert werden kann. |