Zum Inhalt

10. Erweiterte Funktionen

10.1 Backup-System

Automatische Backups

Vor jeder Änderung wird automatisch ein Backup erstellt!

Was wird gesichert

  • Original-Produktbeschreibung
  • Für jede Sprache separat (DE/FR)
  • Für jeden betroffenen Artikel

Wo werden Backups gespeichert

Tabelle: content_backups in tasks.db

Backup-Informationen

  • id: Eindeutige Backup-ID
  • task_id: Zugehörige Aufgabe
  • article_number: Artikelnummer
  • language_id: '2' (DE) oder '5' (FR)
  • original_content: Original-HTML
  • backup_timestamp: Zeitpunkt der Sicherung
  • restored: 0 (nicht wiederhergestellt) oder 1 (wiederhergestellt)

Wann wird Backup erstellt

  • VOR dem Hinzufügen von Promotion
  • Nur EINMAL pro Task/Artikel/Sprache-Kombination
  • Bei erneutem Ausführen: Existierendes Backup wird verwendet

Wann wird Backup verwendet

  • Bei Entfernung der Promotion (Entfernungs-Task)
  • Wenn manuelle Bearbeitungen erkannt werden
  • Zur Wiederherstellung des Original-Zustands

Unique Constraint

Es gibt nur EIN Backup pro:

  • task_id
  • article_number
  • language_id

Verhindert versehentliche Duplikate.

10.2 Manuelle Bearbeitungen erkennen

GraphicAutomator verfügt über ein intelligentes Backup-System, das manuelle Bearbeitungen erkennt.

Wie es funktioniert

1. BEIM HINZUFÜGEN (Task-Ausführung bei Start-Termin):

  1. Aktuelle Produktbeschreibung wird aus Datenbank gelesen
  2. Als Backup in content_backups Tabelle gespeichert
  3. Promotion-Inhalt (Button/Text) wird hinzugefügt
  4. Geänderte Beschreibung zurück in Datenbank geschrieben

2. BEIM ENTFERNEN (Task-Ausführung bei End-Termin):

  1. Aktuelle Produktbeschreibung wird aus Datenbank gelesen
  2. Mit gespeichertem Backup verglichen
  3. Falls IDENTISCH: Backup wird wiederhergestellt (= Promotion wird entfernt)
  4. Falls VERSCHIEDEN: Es gab manuelle Änderungen

Erkennung manueller Änderungen

GraphicAutomator vergleicht den aktuellen Inhalt mit dem Backup. Falls unterschiedlich:

  • Jemand hat die Produktbeschreibung manuell im Shop-Backend bearbeitet
  • ODER: Ein anderer Task hat zusätzliche Änderungen vorgenommen
  • ODER: Datenbankfehler während der Hinzufügung

In diesem Fall:

  1. GraphicAutomator versucht trotzdem, die Promotion-Inhalte zu entfernen
  2. Nutzt Pattern-Matching um hinzugefügte Buttons/Texte zu finden
  3. Falls erfolgreich: Nur Promotion wird entfernt, manuelle Änderungen bleiben
  4. Falls nicht erfolgreich: Fehler wird geloggt, E-Mail wird gesendet

WICHTIG: Backup-Schutz

Schutz vor Datenverlust: Das Backup-System schützt vor versehentlichem Überschreiben manueller Änderungen. Manuelle Bearbeitungen bleiben erhalten, während nur die Promotion-Inhalte entfernt werden.

Content Backups Tabelle: Backups werden in der content_backups Tabelle gespeichert:

  • task_id: Welcher Task das Backup erstellt hat
  • article_number: Für welchen Artikel
  • language_id: Welche Sprache (2=DE, 5=FR)
  • original_content: Gespeicherte Original-Beschreibung
  • backup_timestamp: Wann das Backup erstellt wurde
  • restored: Ob das Backup wiederhergestellt wurde

10.3 Zweisprachigkeit (DE/FR)

GraphicAutomator unterstützt vollständige Zweisprachigkeit für Deutsch und Französisch.

Datenbank-Sprachen

In der Gambio-Datenbank werden Sprachen über language_id identifiziert:

  • language_id = '2': Deutsch
  • language_id = '5': Französisch

GraphicAutomator arbeitet immer mit BEIDEN Sprachen gleichzeitig.

Wie Zweisprachigkeit funktioniert

1. BEIM ERSTELLEN EINES SUBTASKS:

  • Du kannst deutschen Text (Text DE) eingeben
  • Du kannst französischen Text (Text FR) eingeben
  • Du kannst deutsche Links (Link URL DE) eingeben
  • Du kannst französische Links (Link URL FR) eingeben

2. BEIM AUSFÜHREN DES TASKS:

  • GraphicAutomator ändert products_description für BEIDE Sprachen
  • Deutsche Beschreibung erhält deutschen Text + "Gültig bis: {end_date}"
  • Französische Beschreibung erhält französischen Text + "Valable jusqu'au: {end_date}"

Fehlende Sprachen

WICHTIG

Derzeit ist es möglich, nur eine Sprache auszufüllen:

SZENARIO 1: Nur Deutsch ausgefüllt

  • DE-Beschreibung: Erhält deutschen Text + Button + "Gültig bis" Datum
  • FR-Beschreibung: Erhält NUR "Valable jusqu'au: {end_date}" (KEIN Text/Button)

SZENARIO 2: Nur Französisch ausgefüllt

  • DE-Beschreibung: Erhält NUR "Gültig bis: {end_date}" (KEIN Text/Button)
  • FR-Beschreibung: Erhält französischen Text + Button + "Valable jusqu'au" Datum

SZENARIO 3: Beide ausgefüllt (EMPFOHLEN)

  • DE-Beschreibung: Erhält deutschen Text + Button + "Gültig bis" Datum
  • FR-Beschreibung: Erhält französischen Text + Button + "Valable jusqu'au" Datum

Empfehlung

Fülle IMMER beide Sprachen aus für vollständige Promotion in beiden Shop-Sprachen.

Eine zukünftige Version wird Validierung hinzufügen, die sicherstellt, dass mindestens eine Sprache ausgefüllt ist.

10.4 Task Scheduler Integration

GraphicAutomator nutzt den Windows Task Scheduler für zeitgesteuerte Ausführung.

Wie es funktioniert

1. BEIM VERÖFFENTLICHEN EINES TASKS:

  • GraphicAutomator erstellt ZWEI Windows Task Scheduler-Einträge
  • Eintrag 1: Hinzufügen-Task (triggert zu Start-Datum/Zeit)
  • Eintrag 2: Entfernen-Task (triggert zu End-Datum/Zeit)

2. ZU DEN GEPLANTEN ZEITEN:

  1. Task Scheduler startet execute_db_task.exe automatisch
  2. execute_db_task.exe verbindet sich mit tasks.db
  3. Findet den entsprechenden Task
  4. Führt die Datenbank-Änderungen aus (Hinzufügen oder Entfernen)
  5. Loggt Erfolg oder Fehler
  6. Sendet E-Mail-Benachrichtigung

3. KEINE REGELMÄSSIGE ÜBERPRÜFUNG:

  • Es gibt KEINEN wiederkehrenden Check (z.B. alle 5 Minuten)
  • Jeder Task Scheduler-Eintrag läuft GENAU EINMAL zu seiner geplanten Zeit
  • execute_db_task.exe arbeitet komplett "on demand"

Task Scheduler-Einträge ansehen

Du kannst die geplanten Tasks im Windows Task Scheduler sehen:

  1. Öffne Windows Task Scheduler:
  2. Start → Suche "Aufgabenplanung" / "Task Scheduler"

  3. Navigiere zu: Aufgabenplanungsbibliothek → GraphicAutomator

  4. Du siehst alle geplanten Tasks mit Namen wie:

  5. "GraphicAutomator_Task_123_Add"
  6. "GraphicAutomator_Task_123_Remove"

  7. Doppelklicke einen Eintrag für Details:

  8. Trigger: Wann der Task läuft
  9. Aktionen: execute_db_task.exe mit task_id Parameter
  10. Bedingungen: Computer muss nicht im Leerlauf sein
  11. Einstellungen: Aufgabe kann sofort gestartet werden falls verpasst

WICHTIG: Hinweise zum Task Scheduler

Zwei Einträge pro Task: Jeder veröffentlichte GraphicAutomator-Task erstellt ZWEI Task Scheduler-Einträge:

  • _Add: Führt Hinzufügen aus
  • _Remove: Führt Entfernen aus

Automatische Bereinigung: Wenn du einen Task in GraphicAutomator löschst, werden die Task Scheduler-Einträge automatisch gelöscht.

Computer muss laufen: Der Computer muss zu den geplanten Zeiten eingeschaltet und NICHT im Standby sein, damit die Tasks ausgeführt werden. Andernfalls wird der Task beim nächsten Start nachgeholt (je nach Task Scheduler-Einstellung).

Geht etwas schief?

Navigation