Installation des Plugins
Das Plugin ist frei auf GitHub zum herunterladen verfügbar:
https://github.com/Leuchtfeuer/mautic-housekeeping-bundle
Folgende Schritt sind für die Installation nötig:
- Herunterladen der .zip Datei
- Transferieren der .zip Datei nach ../htdocs/plugins
- Entpacken
- Den entpackten Ordner in “LeuchtfeuerHousekeepingBundle” umbennen
- Cache clear
- Plugins neu laden
Konsolen-Kommandos
Nach der erfolgreichen Installation des Plugins ist folgendes neues Mautic Command verfügbar: bin/console leuchtfeuer:housekeeping.
Wenn dieses Command ohne weitere Parameter ausgeführt wird, werden alle lead_event_log campaign_lead_event_log, email_stats & email_stats_devices Einträge die älter als 365 Tage sind, gelöscht.
Wie eine granularere Löschung der Daten dank verschiedener Parameter funktioniert, erfährst du jetzt.
Parameter
Der Probelauf | --dry-run
Wenn man sich erstmal mit der Menge an Daten, die gelöscht werden würden, vertraut machen möchte, kann sein Löschkommando mit “--dry-run” oder auch “-r” versehen. Dank dieses Parameters werden die Daten vorerst nur gezählt und noch nicht gelöscht.
Zeitraum der Löschung | --days-old
Der Parameter “--days-old” oder in kurz auch “-d” ermöglicht die Definition eines Zeitraums für die Löschung der Daten. Dabei wird die Zeitspanne in Tagen angegeben und als ein “älter als X Tage” interpretiert.
Beispiel:
leuchtfeuer:housekeeping --days-old 100
Hier werden alle Daten aus den oben genannten Tabellen, die älter als 100 Tage sind, gelöscht.
Kampagnen-Aktivität von Leads | --campaign-lead
Die Tabelle “campaign_lead_event_log” sichert die Kampagnen-Aktivitäten von Kontakten. In der Historie eines Kontakts werden diese Aktivitäten durch die einzelnen Schritte repräsentiert:
Bei vielen Kontakten und Kampagnen mit wiederum mehreren Schritten, kann diese Tabelle schnell wachsen. Daher sollte auch diese Tabelle bereinigt werden.
Zu beachten ist dabei, dass der letzte bereits durchlaufene Schritt einer Kampagne immer bestehen bleibt, um zu verhindern, dass Kontakte ungewollt Kampagnen erneut durchlaufen.
Gelöscht wird hier mit dem Parameter “--campaign-lead” oder auch “-c”. Des Weiteren gibt es einen zusätzlichen Parameter “--cmp-id” oder auch “-i”. Dieser ermöglicht das löschen der Daten von einer einzelnen ausgewählten Kampagne.
Beispiel:
leuchtfeuer:housekeeping --campaign-lead -i 58
Hiermit werden alle Einträge der campaign_lead_event_log Tabelle, die durch die Kampagne mit der ID 58 produziert werden und älter als 365 Tage sind, gelöscht.
Sinnvoll ist eine solche kampagnenspezifische Löschung, wenn diese eine Kampagne eine große Datenlast erzeugt. Anfällig dafür sind z.B. Kampagnen die entweder viele Schritt verbaut haben oder auch Kampagnen, die grundsätzlich von allen Kontakten einfach oder auch mehrfach durchlaufen werden.
Aktivität von Leads | --lead
In der lead_event_log Tabelle werden Einträge wie z.B. das Beitreten/Verlassen von Segmenten sowie Kampagnen gespeichert, aber auch Änderungen der Kontaktinformationen, wie z.B. durch einen CSV-Import etc. Also eine ganze Bandbreite an verschiedenen Informationen - auch diese Tabelle kann daher exponentiell wachsen.
Gelöscht wird hier mit dem Parameter “--lead” oder auch “-l”, weitere Parameter gibt es für diesen Command nicht.
Beispiel:
leuchtfeuer:housekeeping --lead --days-old 100
Hier werden alle Einträge des Lead_event_logs, die älter als 100 Tage sind, gelöscht.
Email Statistiken | --email-stats
Es ist nicht ungewöhnlich, dass eine große Menge E-Mails aus Mautic heraus verschickt wird. Für jede versendete E-Mail wird dabei ein Eintrag in der Tabelle email_stats angelegt - was auf Dauer und Versandmenge gerechnet eine ganze Flut an Daten ist.
Zuerst einmal muss gesagt werden - nur weil ein Eintrag aus der email_stats Tabelle gelöscht wird, heißt es nicht, dass die E-Mail noch einmal versendet wird!
Es wird lediglich der Eintrag aus der Kontakthistorie entfernt. Außerdem werden in der Detailansicht einer E-Mail die Balken “Emails sent” & “Email read” nicht mehr angezeigt, die absoluten Zahlen verändern sich dadurch nicht.
Des Weiteren werden nach dem Löschen der email_stats für eine E-Mail keine Linkclicks mehr gezählt, auch wenn die E-Mail vom Lead noch einmal geöffnet werden sollte und Links geklickt werden sollten.
Gelöscht wird hier mit dem Parameter “--email-stats” oder auch “-m”.
Beispiel:
leuchtfeuer:housekeeping --email-stats --days-old 100
Hier werden alle email_stats Einträge älter als 100 Tage gelöscht. Komplementär dazu werden auch die verbundenen Einträge aus der email_stats_devices Tabelle gelöscht. Diese Tabelle speichert die Information, mit welchem Endgerät eine E-Mail geöffnet wurde. Da diese Information ohne einen dazu gehörigen email_stats Eintrag praktisch wertlos ist, werden die Einträge auch gelöscht.
Email Tokens | --email-stats-tokens
Sollte das Löschen ganzer email_stats Einträge zu schwergewichtig erscheinen, besteht die Möglichkeit, lediglich den Inhalt der Spalte tokens zu löschen, anstatt eines ganzen email_stats Eintrags.
Die Spalte tokens enthält dabei Informationen, die für die Browseransicht einer E-Mail relevant sind - genauer gesagt die Links für die Browserview. Sind die tokens für eine E-Mail gelöscht und diese wird nachträglich nochmal in der Browseransicht geöffnet, sind die Links nicht mehr funktional und führen zu einem 404-Error - im Email Client hingegen funktionieren sie problemlos.
Da die Tokens die größte Datenmenge eines email_stats Eintrags ist, lohnt es sich hier enorm vor Allem alte Tokens zu löschen, da diese viel Speicher für nur eine Nischennutzung verbrauchen.
Gelöscht wird hier mit dem Parameter “--email-stats-tokens” oder auch “-t”.
Beispiel:
leuchtfeuer:housekeeping --email-stats-tokens --days-old 14
Hier werden alle email_stats_tokens gelöscht, die älter als 14 Tage sind.