Problem
Installations- beziehungsweise Upgradecode schreibt als Fallback direkt in Core-Tabellen wie role_capabilities. Das umgeht Moodle-APIs und kann Cache-, Audit- und Kompatibilitätsprobleme verursachen.
Ursache
Capability-Zuweisungen werden zu einem Zeitpunkt ausgeführt, an dem die eigene Capabilityregistrierung als unsicher betrachtet wird; dies wird durch direkte SQL-Schreibzugriffe kompensiert.
Lösung
- Rollen ausschließlich über
create_role, set_role_contextlevels und assign_capability verwalten.
- Zuweisung in einen geeigneten Installations-/Upgrade-Schritt verschieben.
- Keine fest codierte
modifierid verwenden.
- Capability-Cache korrekt aktualisieren.
Manuelles Testverfahren
Testschritte
- Neuinstallation und Upgrade aus mehreren Vorversionen durchführen.
- Rollen, Capabilities und Caches prüfen.
Aktuelles Ist-Verhalten
Installations- beziehungsweise Upgradecode schreibt als Fallback direkt in Core-Tabellen wie role_capabilities. Das umgeht Moodle-APIs und kann Cache-, Audit- und Kompatibilitätsprobleme verursachen.
Erwartetes Soll-Verhalten
Keine direkte Mutation von Core-Rollentabellen.
Automatisierte Tests
- Install-/Upgrade-PHPUnit-Tests.
- Statischer Scan gegen Schreibzugriffe auf Core-Rollentabellen.
Akzeptanzkriterien
Problem
Installations- beziehungsweise Upgradecode schreibt als Fallback direkt in Core-Tabellen wie
role_capabilities. Das umgeht Moodle-APIs und kann Cache-, Audit- und Kompatibilitätsprobleme verursachen.Ursache
Capability-Zuweisungen werden zu einem Zeitpunkt ausgeführt, an dem die eigene Capabilityregistrierung als unsicher betrachtet wird; dies wird durch direkte SQL-Schreibzugriffe kompensiert.
Lösung
create_role,set_role_contextlevelsundassign_capabilityverwalten.modifieridverwenden.Manuelles Testverfahren
Testschritte
Aktuelles Ist-Verhalten
Installations- beziehungsweise Upgradecode schreibt als Fallback direkt in Core-Tabellen wie
role_capabilities. Das umgeht Moodle-APIs und kann Cache-, Audit- und Kompatibilitätsprobleme verursachen.Erwartetes Soll-Verhalten
Keine direkte Mutation von Core-Rollentabellen.
Automatisierte Tests
Akzeptanzkriterien