GC (Garbage collection)
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) Betroffene Entities
|
dam-core | Dam/Collection | Löscht Uploads für Sammlungen älter als die definierte Lebenszeit (einstellbar in Uploadformulare) Betroffene Entities
|
dam-core | Ui/CollectionShare | Löscht maximal 50 Collections, die an der Root Collection hängen und älter als 1 Stunde sind. Betroffene Entities
|
dam-core | Ui/Dam | Löscht alle Upload Prozesse, die älter als die definierte Lebenszeit sind (Einstellbar in Betroffene Entities
|
print-core | PrintDocument/Render | Löscht Render Kontexte, die älter als eine 1h sind, in kein Print oder Seiten Kontext verwendet werden und als löschbar markiert sind (gc aktiv). Betroffene Entities
|
shop-core | Shop/Checkout | Löscht Sessions, die mit keinem User oder Warenkorbartikel verknüpft sind und älter als 2 Tage sind. Betroffene Entities
Löscht Bestellprozesse, die länger als 2 Tage nicht geändert wurden. Betroffene Entities
Löscht Warenkorbartikel, die länger als 2 Tage nicht geändert wurden und mit shopSessionArticleCallGc=1 definiert wurde. Betroffene Entities
|
shop-core | Shop/Delivery | Löscht Lieferresourcen, die sich länger als 14 Tage nicht geändert haben und keine Verknüpfungen haben Betroffene Entities
|
shop-core | Shop/Register | Löscht Registrierungsanfragen und dazugehörige Verifikationen und Verifikationstokens, die älter als 1 Tag sind. Betroffene Entities:
|
w2p-core | Editor/Base | Löscht Editor-Dokumente und dazugehörige Dateien (Strict, Nested, XLSX, H5e) ohne Warenkorb-Artikel-Referenz oder älter als 1 Jahr Betrifft Entities
Löscht alle leeren Ordner in Pfad |
w2p-core | Editor/H5e | Löscht temporäre H5e-Editor-Dokumente und dazugehörige Dateien aus dem Backend nach 1 Tag und wenn Betrifft Entities:
|
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 älter als ihre definierteLebenszeit sind (aktuell Vorschaudateien des verschachtelten Editors) Betrifft Entities:
|
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
Betrifft Entities:
|
cms-layout-shop | View/Data | Löscht Anfragen zur Änderung der E-Mail-Adresse, die älter als 3 Stunden sind Betrifft Entities:
|
shop-discount | Shop/DiscountPreset | Löscht angewendete Rabatte, die von den Rabattvorlagen angelegt wurden, wenn sie auf den Bestellprozess zeigen und älter als 2 Wochen sind. Betroffene Entities
|
shop-voucher | Shop/Voucher | Löscht Lieferresourcen, die sich länger als 14 Tage nicht geändert haben und keine Verknüpfungen haben. Betroffene Entities:
|
w2p-voucher | Input/CouponCode | Löscht unbenutzte und nicht aktive Wertgutscheine nach 3 Wochen. Betroffene Entities:
|
framework | Base/File | Löscht Thumbnails ohne Referenz zu einer Datei (mamFile)
Löscht lokale Kopien aus |
framework | Base/Folder | Löscht dynamische Upload-Verzeichnisse älter als die definierte Lebenszeit (einstellbar in Uploadformulare) Betroffene Entities:
|
framework | Base/Upload | Löscht maximal 50 temporäre Upload-Dateien aus temp/cache/framework/import/client-%/domain-%, die älter als ein Tag sind. Betrifft Entities:
|
framework | Brandbox/Session | Löscht Anwender vom Typ Anonymous, die älter als 1 Tag sind. Betroffene Entities:
|
framework | Brandbox/Cookie | Löscht Cookie Zustimmungen, die älter als X Monate sind (einstellbar in Cookie Konfiguration) Betrifft Entities:
|
framework | Brandbox/Log | Löscht Ereignisprotokolleinträge, die älter als 3 Monate sind. Betrifft Entities:
|
framework | Component/Notification | Löscht Notification anhand der konfigurierten Lebenszeit. Betroffene Entities:
|
framework | Component/Verification | Löscht Verifizierungs-Datensätze anhand der konfigurierten Lebenszeit Betrifft Entitites:
|
framework | Security/Csrf | Löscht CSRF-Tokens, die älter als 4 Stunden sind. Betrifft Entities:
|
framework | Security/IntrustionDetection | Löscht Datensätze aus Eindringlingserkennung (Log) älter als 1 Tag Betrifft Entities:
Löscht Datensätze aus Eindringlingserkennung (IP Blacklist) nach Ablauf der eingestellten Gültigkeitsdauer Betrifft Entities:
|
framework | Security/Password | Löscht Anfragen zur Änderung des Passworts, die älter als 3 Stunden sind und die dazugehörigen Verifikationen und Verifikationtokens Betrifft Entities:
|
framework | Security/Role | Löscht Token-Rollen anonymer Anwender älter als 1 Tag
Löscht Rollendatensätze von nicht existierenden Datensätzen und Rollendatensätze von nicht mehr verwendeten Rollen
|