Ich habe neben "LF who was here" noch "Stats Permission", was ebenfalls betroffen ist. Da Udo bereits das Problem bei WWH entdeckt hat, musste ich das ja nicht mehr testen und habe stattdessen StatsPerm unter die Lupe genommen und folgendes festgestellt:
1. Das Migrator Tool
permission.remove ist definitiv
eine der
möglichen Ursachen. Es könnte also auch noch andere Migrator Tools betreffen, das ist aber aktuell nur eine Vermutung. Dazu habe ich folgenden Test gemacht und die Migration von StatsPerm temporär geändert:
Original:
Code: Alles auswählen
public function revert_data()
{
return([
['permission.remove', ['u_stats_permissions_show_stats']],
['permission.remove', ['u_stats_permissions_show_newest']],
]);
}
Test:
Der Code von "Test" ist natürlich sinnfrei, aber er hat das zutage gefördert, was ich wissen wollte, also ob alleine die Existenz von
revert_data() das Problem ist, oder eine oder mehrere Anweisungen (Migrator Tools) das Problem darstellen. Beim Original Code tritt exakt das auf, was Udo bereits geschildert hat: Nach der Installation verbleibt das ACP Modul als "Geister-Modul" in der DB. Ändere ich die Migration testweise ab wie oben gezeigt, dann wird das Modul wie es sein sollte entfernt.
Laut Stichproben in meinem lokalen Erweiterungen Ordner habe ich festgestellt - wie nicht anders erwartet - das davon etliche Entwickler und somit viele Erweiterungen betroffen sind, die in der Vergangenheit
permission.remove in der Migration eingebaut haben.
2. Seltsamerweise gibt es bei einer solchen Ext mit Modul Artefakt nach der Deinstallation keine Probleme, wenn man die Ext erneut installiert. Die Installation verläuft dann trotzdem ohne Fehlermeldung seitens des Migrators. Das irritiert mich im Moment sehr, denn in so einem Fall müsste der Migrator eigentlich einen Fehler melden, dass ein Modul mit diesem Namen schon vorhanden ist.
edit: Korrektur für Punkt 2: Das hängt laut Test von Udo offensichtlich von der Ext ab und ist nicht allgemeingültig.
edit2: Korrektur für Punkt 1, letzter Absatz: Nach aktuellen Kenntnisstand, betrifft das vermutlich eher wenige Erweiterungen.