Skip to content

Admin-Ausführung: API-Integration und Progress-Tracking reparieren #10

@csaeum

Description

@csaeum

Beschreibung

Die Admin-Ausführungsfunktion ("Jetzt ausführen" Button) funktioniert derzeit noch nicht vollständig. Die grundlegende UI ist vorhanden, aber die API-Integration und das Progress-Tracking müssen überarbeitet werden.

Aktueller Status

Was funktioniert ✅

  • ✅ Admin-UI wird korrekt angezeigt unter "Einstellungen → Erweiterungen → Variant Updater"
  • ✅ Modus-Auswahl (Produktnummern / Alle Produkte)
  • ✅ Dry-Run Checkbox
  • ✅ Plugin-Konfiguration (Twig-Templates, Standard-Optionen)
  • ✅ CLI-Ausführung funktioniert einwandfrei (`--all-products`, `--product-numbers`)
  • ✅ Message Queue Backend (Handler, Entities, Services)

Was nicht funktioniert ❌

  • ❌ "Jetzt ausführen" Button im Admin führt nicht zur Ausführung
  • ❌ Progress-Bar erscheint nicht / zeigt keinen Fortschritt
  • ❌ Keine Erfolgs-/Fehlermeldungen nach Ausführung
  • ❌ API-Kommunikation zwischen Frontend und Backend fehlerhaft

Vermutete Probleme

Frontend (Vue.js)

  1. httpClient API-Calls:

    • Möglicherweise falsche URL-Pfade
    • Fehlende oder falsche Headers
    • Response-Handling könnte fehlerhaft sein
  2. Progress-Tracking:

    • Polling-Interval könnte nicht starten
    • API-Endpoint für Progress möglicherweise nicht erreichbar
    • Progress-Daten kommen nicht an
  3. Fehlerbehandlung:

    • Try-Catch Blöcke könnten Fehler verschlucken
    • Keine aussagekräftigen Fehlermeldungen in Browser-Konsole

Backend (PHP)

  1. API-Routes:

    • Möglicherweise werden Routes nicht korrekt registriert
    • CORS-Probleme möglich
    • Authentication/Authorization könnte fehlen
  2. Message Queue:

    • Worker läuft möglicherweise nicht
    • Messages werden nicht korrekt dispatched
    • Batch-Verarbeitung könnte fehlschlagen

Debugging-Ansätze

1. Browser Developer Tools

// In Browser-Konsole (F12):
// - Network-Tab: API-Requests überprüfen
// - Console-Tab: JavaScript-Fehler suchen

2. Shopware Logs

tail -f var/log/dev.log
tail -f var/log/prod.log

3. Message Queue Status

bin/console messenger:stats
bin/console messenger:failed:show

4. Route Debugging

bin/console router:dump | grep variant
bin/console debug:router api.action.wsc-variant-updater.update

Akzeptanzkriterien

  • "Jetzt ausführen" Button startet tatsächlich den Update-Prozess
  • Progress-Bar zeigt Echtzeit-Fortschritt an
  • Erfolgs-Meldung wird nach Abschluss angezeigt
  • Fehler werden aussagekräftig angezeigt
  • Browser-Konsole zeigt keine Fehler
  • API-Calls im Network-Tab sind erfolgreich (Status 200)
  • Message Queue Worker verarbeitet die Jobs

Nächste Schritte

  1. Systematisches Debugging:

    • Browser-Konsole auf Fehler prüfen
    • Network-Tab auf fehlgeschlagene API-Calls prüfen
    • Backend-Logs auf PHP-Fehler prüfen
  2. API-Endpunkte testen:

    • Mit cURL/Postman die API-Endpunkte manuell testen
    • Response-Format validieren
  3. Message Queue testen:

    • Worker manuell starten und Logs beobachten
    • Testweise ein Update über CLI triggern und Queue beobachten
  4. Frontend Fix:

    • httpClient-Calls korrigieren
    • Progress-Polling implementieren/fixen
    • Error-Handling verbessern

Abhängigkeiten

Technische Details

Betroffene Dateien:

  • Frontend: `src/Resources/app/administration/src/module/wsc-variant-updater/page/wsc-variant-updater-index/index.js`
  • Backend: `src/Controller/Administration/VariantUpdateController.php`
  • Routes: Möglicherweise `routes.xml` oder Route-Attributes

API-Endpunkte (sollten existieren):

  • `POST /api/_action/wsc-variant-updater/update`
  • `GET /api/_action/wsc-variant-updater/progress/{batchId}`

Priorität

Medium - CLI funktioniert bereits, aber Admin-UI sollte für bessere UX nachgebessert werden.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions