Daten sollten grundsätzlich vermieden werden. Das gilt besonders bei personenbezogenen Daten.
Brandbox bietet integrierte Mechanismen, um gesammelte Daten automatisiert zu löschen. Ein Garbage Collector kann in jedem Main-Controller (Engine) registriert werden. Das Package ist damit in der Lage, die Daten, die es erzeugt bzw. sammelt, selbstständig zu löschen. Der Garbage Collector wird in Form eines Cronjobs zur Verfügung gestellt. Dazu muss die Engine das Interface \Brandbox\Framework\Brandbox\GC\GarbageCollectorInterface
implementieren und eine Methode mit dem Namen runGarbageCollector
integrieren. Diese Methode erhält die Arguments.
Beispiel:
/** * @security( * classification="forbidden" * ) * * @param \Brandbox\Framework\Brandbox\GC\Logger $logger */ public function runGarbageCollector(\Brandbox\Framework\Brandbox\GC\Logger $logger): void { // Lösche Daten }
Ausführen des Garbage Collectors
Der GC wird über einen Cronjob wie folgt ausgeführt:
php /var/www/plugin/remote/brandbox/framework/src/entrypoint.php -endpoint=Cron -package=Brandbox/GC -host=HOST_DOMAIN
Liste der Garbage Collectors
App | Paket | Beschreibung |
---|---|---|
base-core | Base/Consent | Löscht unbeantwortete Anfragen nach 3 Tagen Betroffene Entities
|
base-core | Base/WebStorage | Löscht WebStorage Einträge mit dem Key Betroffene Entities
|
base-core | Base/EntityWizard | Löscht Wizard Kontexte, die sich in den letzten 14 Tagen nicht geändert haben. Betroffene Entities
|
base-core | Base/Wizard | Löscht temporäre Prozess Dateien aus /temp/cache/framework/wizard, die in den letzten 3 Stunden nicht geändert wurden. |
dam-core | Dam/Category | Löscht Uploads für Kategorien älter als die definierte Lebenszeit (einstellbar in Uploadformulare) |
dam-core | Dam/Collection | Löscht Uploads für Sammlungen älter als die definierte Lebenszeit (einstellbar in Uploadformulare) |
dam-core | Ui/CollectionShare | Löscht maximal 50 Collections, die an der Root Collection hängen und älter als 1 Stunde sind. |
dam-core | Ui/Dam | Löscht alle Upload Prozesse, die älter als die definierte Lebenszeit sind (Einstellbar in Betroffene Entities
|
dam-core | Ui/Dam | Löscht Upload-Prozesse älter als die definierte Lebenszeit (einstellbar i Uploadformulare) |
framework | Base/File | Löscht Thumbnails ohne Referenz zu einer Datei (mamFile) |
framework | Base/Folder | Löscht dynamische Upload-Verzeichnisse älter als die definierte Lebenszeit (einstellbar in Uploadformulare) |
framework | Base/Upload | Löscht temporäre Upload-Dateien aus temp/cache/framework/import/client-%/domain-% älter als 3 Stunden |
framework | Brandbox/Session | Löscht anonyme Anwender älter als 1 Tag |
framework | Component/Verification | Löscht Verifizierungs-Datensätze älter als 3 Stunden |
framework | Security/Csrf | Löscht CSRF-Tokens älter als 4 Stunden |
framework | Security/IntrustionDetection | Löscht Datensätze aus Eindringlingserkennung (Log) älter als 1 Tag |
framework | Security/Password | Löscht Anfragen zur Änderung des Passworts älter als 3 Stunden |
framework | Security/Role | Löscht Token-Rollen anonymer Anwender älter als 1 Tag |
shop-core | Shop/Checkout | Löscht Bestellprozess-Datensätze älter als 2 Tage |
shop-core | View/Data | Löscht Anfragen zur Änderung der E-Mail-Adresse älter als 3 Stunden |
shop-core | View/Register | Löscht Registrierungsanfragen älter als 1 Tag |
w2p-core | Editor/Base | Löscht Editor-Dokumente (Strict, Nested, XLSX, H5e) ohne Warenkorb-Artikel-Referenz oder älter als 1 Jahr |
w2p-core | Editor/H5e | Löscht temporäre H5e-Editor-Dokumente aus dem Backend nach 1 Tag |
w2p-core | Parse/H5e | Löscht temporäre PDFLib-Thumbnails unter temp/cache/w2p-core/pdflib-thumbs nach 1 Tag |
w2p-core | W2p/Temporary | Löscht temporäre Dateien, die im Packages W2p/Temporary registriert wurden (aktuell Vorschaudateien des verschachtelten Editors) |
w2p-voucher | Input/CouponCode | Löscht unbenutzte und nicht aktive Wertgutscheine nach 3 Wochen |
workflow-core (ab service+2022.03.30) | Workflow/Service | Löscht abgeschlossene oder abgebrochen Workflow Warteschlangen nach einer definierten Zeit (die in der Workflow-Konfiguration einstellbar ist) mit zugehörigen Logs und Historie |
shop-discount | Shop/DiscountPreset | Löscht angewendete Rabatte, die von den Rabattvorlagen angelegt wurden, wenn sie auf den sessionCheckout zeigen und älter als 2 Wochen sind. |