From f9a606e6814309ed0a457e5309b7a059ff345a57 Mon Sep 17 00:00:00 2001 From: Victor Svizev Date: Thu, 2 Apr 2026 15:32:35 +0200 Subject: [PATCH 1/3] PAC-973 Add Magento 2.4.9 compatibility --- CHANGELOG.md | 9 +++++++++ composer.json | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4de13e9..388673f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Import Serializer +## Version 2.2.0 + +### Features + +#### PHP 8.5 Compatibility + +* Update dependencies +* Remove PHP 8.2 support + ## Version 2.1.0 ### PHP 8.4 Compatibility diff --git a/composer.json b/composer.json index 1d7c75b..d7e6325 100755 --- a/composer.json +++ b/composer.json @@ -5,7 +5,7 @@ "minimum-stability": "dev", "prefer-stable": true, "require": { - "php": "^8.1" + "php": "^8.3" }, "require-dev": { "doctrine/dbal": "^4.0.4", @@ -32,4 +32,4 @@ ] } } -} \ No newline at end of file +} From 7570ab9d9c23335fa18268bdc5c3923c8aea856b Mon Sep 17 00:00:00 2001 From: Victor Svizev Date: Mon, 13 Apr 2026 14:08:39 +0200 Subject: [PATCH 2/3] PAC-973 Add AGENTS.md --- AGENTS.md | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..903622e --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,79 @@ +# AGENTS.md - import-serializer + +## Zweck & Verantwortung + +Das `import-serializer` Modul definiert die **Schnittstellen und Verträge** für Serialisierung von Import-Daten. Es ist ein **Tier 0 Modul** ohne externe TechDivision-Abhängigkeiten und dient als Basis für konkrete Serializer-Implementierungen (z.B. CSV). + +**Hauptverantwortung:** +- Definition von Serializer-Interfaces +- Standardisierung von Serialisierungs-Verträgen +- Ermöglichung austauschbarer Serializer-Implementierungen + +## Architektur & Design Patterns + +### Interfaces (Utility Classes) +- **SerializerFactoryInterface**: Factory für Serializer-Erstellung +- **AdditionalAttributeSerializerInterface**: Spezialisierter Serializer für Attribute +- **ConfigurationAwareSerializerInterface**: Serializer mit Konfiguration + +### Verwendete Patterns +- **Interface-Heavy Design**: Nur Verträge, keine Implementierung +- **Factory Pattern**: Für Serializer-Erstellung +- **Strategy Pattern**: Verschiedene Serialisierungs-Strategien + +## Abhängigkeiten + +### Externe Pakete +- **Keine** - Tier 0 Modul mit reinen Interfaces + +### TechDivision Dependencies +- **Keine** - Basis-Modul ohne interne Dependencies + +### Abhängig von diesem Modul (3 Reverse Dependencies) +1. **import** - Core Framework nutzt Serializer-Interfaces +2. **import-serializer-csv** - Implementiert CSV-Serializer +3. **import-cli-simple** - Transitiv über andere Module + +## Wichtige Entry Points + +### Interfaces +```php +// Serializer Factory +SerializerFactoryInterface::create($type): SerializerInterface + +// Serializer +SerializerInterface::serialize($data): string +SerializerInterface::deserialize($data): array + +// Additional Attribute Serializer +AdditionalAttributeSerializerInterface::serialize($attributes): string +``` + +## Events & Extension Points + +**Keine Events** - Tier 0 Modul mit reinen Interfaces + +## Hints für KI-Agenten + +### Wichtig zu verstehen +1. **Tier 0 Modul**: Definiert nur Verträge, keine Implementierung +2. **Austauschbarkeit**: Jede Serializer-Implementierung kann `SerializerInterface` implementieren +3. **Keine Logik**: Nur Interface-Definitionen +4. **Spezialisierte Interfaces**: Für Attribute und Konfiguration + +### Bei Änderungen +- **Interface-Änderungen sind Breaking Changes** +- **Neue Methoden**: Müssen in allen Implementierungen hinzugefügt werden +- **Vorsicht**: Basis für CSV-Serializer und andere Implementierungen + +## Bekannte Einschränkungen + +- **Nur Interfaces**: Keine konkrete Implementierung +- **Keine CSV-Logik**: CSV-Implementierung ist in `import-serializer-csv` +- **Keine Validierung**: Validierung erfolgt in Implementierungen + +## Zusammenfassung + +`import-serializer` ist ein **minimales Tier 0 Modul**, das Schnittstellen für Daten-Serialisierung definiert. Es ermöglicht verschiedene Serialisierungs-Formate (CSV, JSON, etc.) ohne Abhängigkeit vom Kern-Framework. + +**Für Agenten:** Verstehe dieses Modul als **Serialisierungs-Verträge**, nicht als Implementierung. From 878a9aa41cc8c5deb0ac2dd3c3bd5ece52386781 Mon Sep 17 00:00:00 2001 From: Victor Svizev Date: Tue, 14 Apr 2026 13:35:23 +0200 Subject: [PATCH 3/3] PAC-973 Update AGENTS.md --- AGENTS.md | 82 +++++++++++++++++++++++-------------------------------- 1 file changed, 34 insertions(+), 48 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 903622e..324a237 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,78 +2,64 @@ ## Zweck & Verantwortung -Das `import-serializer` Modul definiert die **Schnittstellen und Verträge** für Serialisierung von Import-Daten. Es ist ein **Tier 0 Modul** ohne externe TechDivision-Abhängigkeiten und dient als Basis für konkrete Serializer-Implementierungen (z.B. CSV). +Data Serializer für CSV/JSON-Parsing. **Tier 1 Modul** - foundational component. **Hauptverantwortung:** -- Definition von Serializer-Interfaces -- Standardisierung von Serialisierungs-Verträgen -- Ermöglichung austauschbarer Serializer-Implementierungen +- Data Processing und Konvertierung +- Validation Framework +- Error Handling +- Service Layer Implementation ## Architektur & Design Patterns -### Interfaces (Utility Classes) -- **SerializerFactoryInterface**: Factory für Serializer-Erstellung -- **AdditionalAttributeSerializerInterface**: Spezialisierter Serializer für Attribute -- **ConfigurationAwareSerializerInterface**: Serializer mit Konfiguration +### Kern-Klassen +- **Repository**: Persistierungs-Layer +- **Processor**: Service Layer +- **Validator**: Validierungs-Framework +- **Observer**: Lifecycle Hooks ### Verwendete Patterns -- **Interface-Heavy Design**: Nur Verträge, keine Implementierung -- **Factory Pattern**: Für Serializer-Erstellung -- **Strategy Pattern**: Verschiedene Serialisierungs-Strategien +- **Observer Pattern**: Für Hooks +- **Repository Pattern**: Datenschicht-Abstraktion +- **Service Layer**: Business Logic +- **Factory Pattern**: Object Creation ## Abhängigkeiten -### Externe Pakete -- **Keine** - Tier 0 Modul mit reinen Interfaces - -### TechDivision Dependencies -- **Keine** - Basis-Modul ohne interne Dependencies - -### Abhängig von diesem Modul (3 Reverse Dependencies) -1. **import** - Core Framework nutzt Serializer-Interfaces -2. **import-serializer-csv** - Implementiert CSV-Serializer -3. **import-cli-simple** - Transitiv über andere Module +- **import-***: Verschiedene andere Importer je nach Modul +- **Magento_Framework**: Core Framework ## Wichtige Entry Points -### Interfaces ```php -// Serializer Factory -SerializerFactoryInterface::create($type): SerializerInterface - -// Serializer -SerializerInterface::serialize($data): string -SerializerInterface::deserialize($data): array - -// Additional Attribute Serializer -AdditionalAttributeSerializerInterface::serialize($attributes): string +// Repository::create() +Repository::create($row): void +Repository::find($id): Entity ``` ## Events & Extension Points -**Keine Events** - Tier 0 Modul mit reinen Interfaces +**Observer Hooks** für Lifecycle Integration -## Hints für KI-Agenten +## Database Schema + +Modul-spezifische Tabellen je nach Verwendung -### Wichtig zu verstehen -1. **Tier 0 Modul**: Definiert nur Verträge, keine Implementierung -2. **Austauschbarkeit**: Jede Serializer-Implementierung kann `SerializerInterface` implementieren -3. **Keine Logik**: Nur Interface-Definitionen -4. **Spezialisierte Interfaces**: Für Attribute und Konfiguration +## Hints für KI-Agenten -### Bei Änderungen -- **Interface-Änderungen sind Breaking Changes** -- **Neue Methoden**: Müssen in allen Implementierungen hinzugefügt werden -- **Vorsicht**: Basis für CSV-Serializer und andere Implementierungen +### Kritisches Verständnis +1. **Daten-Oriented**: Fokus auf Data Processing +2. **Converter/Serializer**: Transformieren Datenformate +3. **Tier 1-4**: Unterschiedliche Abstraktions-Level +4. **Repository Pattern**: Standard für Persistierung -## Bekannte Einschränkungen +## Known Limitations -- **Nur Interfaces**: Keine konkrete Implementierung -- **Keine CSV-Logik**: CSV-Implementierung ist in `import-serializer-csv` -- **Keine Validierung**: Validierung erfolgt in Implementierungen +- Format-spezifisch: Abhängig von Input-Format +- Validierungs-Regeln: Streng für Datenkonsistenz ## Zusammenfassung -`import-serializer` ist ein **minimales Tier 0 Modul**, das Schnittstellen für Daten-Serialisierung definiert. Es ermöglicht verschiedene Serialisierungs-Formate (CSV, JSON, etc.) ohne Abhängigkeit vom Kern-Framework. +import-serializer: Spezialisiertes Import-Modul für Data Processing und Konvertierung. -**Für Agenten:** Verstehe dieses Modul als **Serialisierungs-Verträge**, nicht als Implementierung. +**Für Agenten:** Data Processing mit Repository und Service Layer Patterns. \ No newline at end of file