enhancement
major
major
major
#29907
Entwicklerkommandos und Skript-Rekorder außerhalb des Produktivmodus für alle Benutzer
Problem
Seit #29680 tragen die Entwicklerkommandos der klassischen Oberfläche die Ausführbarkeitsregel RootOnly. Während der Entwicklung ist das hinderlich: Skript-Tests müssen oft mit einem Konto ohne Administratorrechte aufgezeichnet werden (z. B. um Zugriffsrechte zu testen), was nicht mehr möglich ist, und ein Entwickler, der als Testbenutzer arbeitet, kann weder Ressourcen noch das Theme neu laden.
Im Skript-Rekorder ist die Schaltfläche "Ausführen in neuer Session" für Nicht-Administratoren deaktiviert, auch wenn der Rekorder selbst verfügbar ist.
Der Skript-Rekorder der React-Oberfläche steht jedem angemeldeten Benutzer zur Verfügung, auch in einer Produktivinstallation.
Erwartet
In den Betriebsmodi development und test kann jeder Benutzer die Entwicklerkommandos verwenden. Im Modus production bleibt die Einschränkung aus #29680 bestehen: Nur Administratoren dürfen sie verwenden. Klassische und React-Oberfläche öffnen den Skript-Rekorder unter denselben Bedingungen.
Lösung
- Neue Ausführbarkeitsregel RootOnlyInProduction (com.top_logic.tool.execution.RootOnlyInProduction): ausführbar für alle Benutzer, solange der Betriebsmodus nicht production ist, sonst nur für Administratoren.
- Die Kommandos openScriptRecorder (in com.top_logic und com.top_logic.doc), reloadI18N, reloadTheme, toggleAlwaysShowKeys, toggleShowAllCommands und exportLayout verwenden RootOnlyInProduction statt RootOnly. Die Regeln DebugOnly und IDEOnly an diesen Kommandos bleiben erhalten.
- Das Kommando exec ("Ausführen in neuer Session") des Skript-Rekorders (scripting/ScriptRecorder.xml) liegt wie die übrigen Rekorder-Kommandos in der Kommandogruppe System. Bisher fiel es auf die Gruppe Read zurück und erforderte eine Leserolle auf dem Sicherheits-Root.
- React-Oberfläche: Neue Ausführbarkeitsregel <root-only-in-production/> (com.top_logic.layout.view.login.RootOnlyInProduction), die dieselbe Entscheidung trifft wie die klassische Regel. Der Eintrag "Aufzeichnen" in dev-menu.view.xml trägt sie zusätzlich zu <authenticated-only/>.
- Das Popup "Entwickleroptionen" bleibt für die anonyme Sitzung ausgeblendet (#29680), so dass ein anonymer Besucher diese Kommandos weiterhin nicht erreicht.