fix(cms): commit built administration assets so the new block is discoverable #22

Merged
csaeum merged 1 commit from fix/cms-block-admin-bundle-missing into main 2026-08-08 23:43:17 +00:00
Owner

Zusammenfassung

Der in PR #20 hinzugefügte CMS-Block „Unterkategorien-Spalten" (Issue #19) tauchte im Admin-Block-Picker gar nicht auf — auch nicht unter der neuen Kategorie „WSC AI-SEO". Ursache war kein Cache-Problem, sondern ein fehlendes Build-Artefakt im Repo.

Root Cause

.gitignore schloss /src/Resources/public/ komplett aus. Shopwares ViteFileAccessorDecorator (genutzt von InfoController::getBundles() für /api/_info/config, die Laufzeit-Quelle für die Plugin-Bundle-Liste im Admin) liest src/Resources/public/administration/.vite/entrypoints.json direkt aus dem Plugin-Verzeichnis — nicht aus dem Shop-weiten public/bundles/<plugin>/-Ordner. Der Admin-Build lief in der vorherigen Session zwar erfolgreich, aber jeder rsync --delete Quellcode→DDEV danach hat das Ergebnis wieder gelöscht, weil es nie versioniert war. Dadurch fehlte das Plugin komplett in der Bundle-Liste — ohne jede Fehlermeldung.

Fix

  • .gitignore-Eintrag /src/Resources/public/ entfernt
  • Admin-Build (bin/build-administration.sh) neu ausgeführt und das Ergebnis (src/Resources/public/administration/) committet — gleiche Konvention wie bei den anderen in diesem Shop installierten Plugins (FroshTools, SwagPayPal). Production-Shops können den mehrere-Plugins-umfassenden Vite-Admin-Build nicht selbst ausführen, das kompilierte Ergebnis muss deshalb mit dem Plugin ausgeliefert werden.

Verifikation (DDEV sw6-plugin, real durchgespielt)

  • Vor dem Fix: WSCSWPluginAiSeoTools fehlte in /api/_info/config → bundles (per Admin-API-Login geprüft), obwohl FroshTools und ein weiteres WSC-Plugin dort korrekt gelistet waren
  • Nach dem Fix: Bundle erscheint korrekt in der Liste, JS-Asset ist unter der erwarteten URL per HTTP erreichbar (200)
  • Kein Browser in dieser Session verfügbar — die Verifikation lief über direkte API-Calls statt visueller Prüfung im Backend. Bitte im Browser hart neu laden und den Block-Picker prüfen.

Closes #19 (Nachbesserung zu PR #20)

## Zusammenfassung Der in PR #20 hinzugefügte CMS-Block „Unterkategorien-Spalten" (Issue #19) tauchte im Admin-Block-Picker gar nicht auf — auch nicht unter der neuen Kategorie „WSC AI-SEO". Ursache war kein Cache-Problem, sondern ein fehlendes Build-Artefakt im Repo. ## Root Cause `.gitignore` schloss `/src/Resources/public/` komplett aus. Shopwares `ViteFileAccessorDecorator` (genutzt von `InfoController::getBundles()` für `/api/_info/config`, die Laufzeit-Quelle für die Plugin-Bundle-Liste im Admin) liest `src/Resources/public/administration/.vite/entrypoints.json` **direkt aus dem Plugin-Verzeichnis** — nicht aus dem Shop-weiten `public/bundles/<plugin>/`-Ordner. Der Admin-Build lief in der vorherigen Session zwar erfolgreich, aber jeder `rsync --delete` Quellcode→DDEV danach hat das Ergebnis wieder gelöscht, weil es nie versioniert war. Dadurch fehlte das Plugin komplett in der Bundle-Liste — ohne jede Fehlermeldung. ## Fix - `.gitignore`-Eintrag `/src/Resources/public/` entfernt - Admin-Build (`bin/build-administration.sh`) neu ausgeführt und das Ergebnis (`src/Resources/public/administration/`) committet — gleiche Konvention wie bei den anderen in diesem Shop installierten Plugins (FroshTools, SwagPayPal). Production-Shops können den mehrere-Plugins-umfassenden Vite-Admin-Build nicht selbst ausführen, das kompilierte Ergebnis muss deshalb mit dem Plugin ausgeliefert werden. ## Verifikation (DDEV `sw6-plugin`, real durchgespielt) - Vor dem Fix: `WSCSWPluginAiSeoTools` fehlte in `/api/_info/config` → `bundles` (per Admin-API-Login geprüft), obwohl FroshTools und ein weiteres WSC-Plugin dort korrekt gelistet waren - Nach dem Fix: Bundle erscheint korrekt in der Liste, JS-Asset ist unter der erwarteten URL per HTTP erreichbar (200) - Kein Browser in dieser Session verfügbar — die Verifikation lief über direkte API-Calls statt visueller Prüfung im Backend. Bitte im Browser hart neu laden und den Block-Picker prüfen. Closes #19 (Nachbesserung zu PR #20)
The "WSC AI-SEO" block category never appeared in the admin block picker
because src/Resources/public/ was gitignored. Shopware's admin bundle
discovery (ViteFileAccessorDecorator, used by InfoController::getBundles()
for /api/_info/config) reads src/Resources/public/administration/.vite/
entrypoints.json directly from the plugin's own directory - not from the
shop's shared public/bundles/ folder. Since that directory was never
tracked, every rsync of the source tree into the DDEV shop wiped out the
locally-built assets again, so the plugin was silently missing from the
bundle list entirely (verified via live /api/_info/config call).

Production shops can't run the multi-plugin Vite admin build themselves,
so the compiled output has to ship with the plugin - same convention
already used by the other installed plugins (FroshTools, SwagPayPal).

Verified after the fix: WSCSWPluginAiSeoTools now appears in
/api/_info/config bundles, and the JS bundle is reachable at its expected
public URL.
csaeum merged commit 5499135893 into main 2026-08-08 23:43:17 +00:00
csaeum deleted branch fix/cms-block-admin-bundle-missing 2026-08-08 23:43:17 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
SW-Plugins/wsc_swplugin_aiseotools!22
No description provided.