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-IDtask_id: Zugehörige Aufgabearticle_number: Artikelnummerlanguage_id:'2'(DE) oder'5'(FR)original_content: Original-HTMLbackup_timestamp: Zeitpunkt der Sicherungrestored:0(nicht wiederhergestellt) oder1(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_idarticle_numberlanguage_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):
- Aktuelle Produktbeschreibung wird aus Datenbank gelesen
- Als Backup in
content_backupsTabelle gespeichert - Promotion-Inhalt (Button/Text) wird hinzugefügt
- Geänderte Beschreibung zurück in Datenbank geschrieben
2. BEIM ENTFERNEN (Task-Ausführung bei End-Termin):
- Aktuelle Produktbeschreibung wird aus Datenbank gelesen
- Mit gespeichertem Backup verglichen
- Falls IDENTISCH: Backup wird wiederhergestellt (= Promotion wird entfernt)
- 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:
- GraphicAutomator versucht trotzdem, die Promotion-Inhalte zu entfernen
- Nutzt Pattern-Matching um hinzugefügte Buttons/Texte zu finden
- Falls erfolgreich: Nur Promotion wird entfernt, manuelle Änderungen bleiben
- 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 hatarticle_number: Für welchen Artikellanguage_id: Welche Sprache (2=DE,5=FR)original_content: Gespeicherte Original-Beschreibungbackup_timestamp: Wann das Backup erstellt wurderestored: 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': Deutschlanguage_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_descriptionfü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:
- Task Scheduler startet
execute_db_task.exeautomatisch execute_db_task.exeverbindet sich mittasks.db- Findet den entsprechenden Task
- Führt die Datenbank-Änderungen aus (Hinzufügen oder Entfernen)
- Loggt Erfolg oder Fehler
- 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.exearbeitet komplett "on demand"
Task Scheduler-Einträge ansehen
Du kannst die geplanten Tasks im Windows Task Scheduler sehen:
- Öffne Windows Task Scheduler:
-
Start → Suche "Aufgabenplanung" / "Task Scheduler"
-
Navigiere zu: Aufgabenplanungsbibliothek → GraphicAutomator
-
Du siehst alle geplanten Tasks mit Namen wie:
"GraphicAutomator_Task_123_Add"-
"GraphicAutomator_Task_123_Remove" -
Doppelklicke einen Eintrag für Details:
- Trigger: Wann der Task läuft
- Aktionen:
execute_db_task.exemittask_idParameter - Bedingungen: Computer muss nicht im Leerlauf sein
- 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?