Problem mit Inhaltstypen und PluginManager

N’abend

Gegeben: SW 5.6.8
Ein Plugin welches via „Resources/contenttypes.xml“ einen entsprechenden Inhaltstypen generiert.
Nach Installation und Aktivierung vom Plugin stehen die Inhaltstypen ohne Probleme zur Verfügung - so weit so gut  Wink

  1. Aktives Plugin „deinstallieren“ oder einfach nur „neu installieren“ im Pluginmanager führt zu einen Fehler.
  2. Aktives Plugin „deaktivieren“ geht noch, dann aber „deinstallieren“ führt wieder zum gleichen Fehler wie unter 1)

Was geht: Plugin „deaktivieren“, Backend neu laden und dann deinstalliern.
Danach kann das Plugin wieder installiert und aktiviert werden - auch eine neue Version.

Per contenttype.xml erstellte Inhaltstypen werden auch nicht durch Plugindeinstallation entfernt.

Und nun der Fehler, der bei gleich bei zwei Plugins erscheint, wenn ich das Plugin aktualisieren oder löschen möchte:
 

Error
Multiple non-persisted new entities were found through the given association graph: * A new entity was found through the relationship 'Shopware\Models\User\Privilege#resource' that was not configured to cascade persist operations for entity: Shopware\Models\User\Resource@000000001e2621ee000000005aef688a. To solve this issue: Either explicitly call EntityManager#persist() on this unknown entity or configure cascade persist this association in the mapping for example @ManyToOne(..,cascade={"persist"}). If you cannot find out which entity causes the problem implement 'Shopware\Models\User\Resource#__toString()' to get a clue. * A new entity was found through the relationship 'Shopware\Models\User\Privilege#resource' that was not configured to cascade persist operations for entity: Shopware\Models\User\Resource@000000001e262013000000005aef688a. To solve this issue: Either explicitly call EntityManager#persist() on this unknown entity or configure cascade persist this association in the mapping for example @ManyToOne(..,cascade={"persist"}). If you cannot find out which entity causes the problem implement 'Shopware\Models\User\Resource#__toString()' to get a clue.

@Shyim‍ eine Idee?

Edit: Ich vermute, dass das an den automatisch angelegten Menueinträgen liegt.

Ich glaube das ist ein Problem mit den Benutzer-Rechten. Hast du mal getestet, was passiert, wenn du die manuell nach der deinstallation löschst? Sollte ja direkt im Backend in der Benutzerverwaltung gehen.

Ich komme ja nicht bis “nach der Deinstallation”.

Wenn das Plugin nach dem “Installieren” “aktiviert” wird, wird auch das “Menü” neu geladen.
Das passiert beim “Deaktivieren” aber nicht!

Gerade getestet:
Gehe ich beim aktiviertem Plugin auf “Deinstallieren”, schmeisst mir das Backend obigen Fehler, die “Content Types” sind noch im Menü vorhanden, es bleibt weiter aktiviert und die Menü-Einträge sind noch da. Dann lade ich dass Backend komplett neu! Die Menüeinträge sind nun weg, das Plugin aber weiter “aktiviert”. Gehe ich nun erneut auf “deinstallieren”, wird es auch wirklich deaktiviert und deinstalliert.

Zu den Rechten: Keine Ahnung, was ich da jetzt genau löschen sollte, aber “nach dem Fehler” sind die Einträge für meine Contenttypes schon weg.

Zweiter Weg: Erst deaktivieren, Backend neu laden und dann deinstallieren.

Vermutlich muss beim Schritt “deaktivieren” das “Menu” neu erstellt und geladen werden. Ich meine, beim “Deaktivieren” gab es auch eine Änderung ???

Was ich zunächst noch testen werde: Geht ein “Update”, aber dafür muss ich ja permanent die Versionsnummer erhöhen  Undecided

Ist mir erst jetzt beim “Rumbasteln” aufgefallen. Ob das schon bei 5.6.6 oder früher war, weiß ich nicht.

Da wäre eh noch eine zweite Sache, für die ich dann nach Evaluierung ein neues Thema aufmachen müsste: Es scheint, dass ein anderes Plugin von mir bei Neuinstallation unter 5.6.8 Services nicht mehr dekoriert, was aber unter 5.6.4 noch ging, aber unter 5.6.4 installiert auch unter 5.6.8 noch läuft. Aber das wäre ein anderes Thema  Wearing-Sunglasses