Benutzer:Christian/Neue Benutzerrechte
Aus ZUM-Unterrichten
Wie migrieren wir zu dem neuen Benutzerschema
Beschreibung Christian ⧼lang⧽ de
Inhaltsverzeichnis right
Beachtenswert
- Die Nutzergruppe user gibt es nicht in echt
- Sie ist virtuell im Code von MediaWiki und wird jedem angemeldeten Benutzer zugewiesen.
 
 - Bestimmte Extensions verändern die Gruppenrechte, nachdem die LocalSettings.php bereits evaluiert wurde. Siehe 
$wgExtensionFunctions[] - Manche Namensräume sind durch spezielle Rechte geschützt, z.B. die Talk-Namensräume durch createtalk statt createpage
- Das erschwert das Nachdenken im Zusammenspiel mit 
$wgNamespaceProtection 
 - Das erschwert das Nachdenken im Zusammenspiel mit 
 - Manche Rechte sind Fähigkeiten, z.B. autopatrol
 $wgNamespaceProtectionfunktioniert auf folgende Weise:- Man kann damit Namespaces schützen, indem man vorgibt, dass ein Nutzer ein bestimmtes Recht erst haben muss, bevor er editieren kann.
 - Man kann Lese-Rechte damit nicht entziehen
 - Unklar: Vermutlich können Extension-spezifische Sonderrechte damit nicht per Namensraum entfernt werden
 
Aktuelles Schema
- Anmerkung
 - Diese Aufzählung ist nicht vollständig, sondern nur in Bezug auf das neue Schema bezogen.
 
| anonym | angemeldet | angemeldet+lernpfadprofi | sysops + co | Anmerkung | |
|---|---|---|---|---|---|
| Lesen bestimmter Seiten | ✅ | ✅ | ✅ | ✅ | |
| Lesen im Haupt-NS | ✅ | ✅ | ✅ | ✅ | |
| Schreiben im Haupt-NS | ❌ | ✅ | ✅ | ✅ | |
| Diskussionseiten sehen | ❌ | ✅ | ✅ | ✅ | unklar ob das nur per UI gemacht ist | 
| Diskussionseiten bearbeiten | ❌ | ✅ | ✅ | ✅ | unklar ob das nur per UI gemacht ist | 
| Editier-Knopf sichtbar | ❌ | ✅ | ✅ | ✅ | |
| Replacetext nutzen | ❌ | ✅ | ✅ | ✅ | eigenartig, eigentlich sollten das nur SysOps dürfen | 
| Seiten Löschen | ❌ | ✅ | ✅ | ✅ | |
| Schreiben im Vorlagen-NS | ❌ | ✴️ (Gruppe: lernpfadprofi) | ✅ | ✅ | via $wgNamespaceProtection
 | 
| PageForms bearbeiten | ❌ | ❌ | ❌ | ✅ | unklar, wird eigentlich nicht verwendet
 außer auf den Profilseiten, und dort macht es Probleme  | 
| Nutzer registrieren | ❌ | ❌ | ❌ | ✅ | 
- Template Namensraum Editieren ist speziell geschützt
$wgNamespaceProtection[NS_TEMPLATE] = array( 'edit-template' );
 
- Anonyme Besucher
- können NICHT schreiben
$wgGroupPermissions['*']['edit'] = false;
 - können NICHT registrieren
$wgGroupPermissions['*']['createaccount'] = false;
 - können NICHT den Editierenknopf sehen
$wgGroupPermissions['*']['viewedittab'] = false;
 - können lesen
$wgGroupPermissions['*']['read'] = true;
 - können ein paar spezielle Seiten anschauen
$wgWhitelistRead = array( $wgMetaNamespace.':Datenschutz', $wgMetaNamespace.':Über '.$wgSitename, $wgMetaNamespace.':Impressum' );
 
 - können NICHT schreiben
 - Angemeldete Benutzer
- können lesen _Christian: unklar warum das gebraucht wird; sollte ja durch 
['*']['read'] = true;bereits erledigt sein_$wgGroupPermissions['user']['read'] = rue;
 - können editieren _Christian: unklar warum das gebraucht wird. Ich vermute für VE_
$wgGroupPermissions['user']['writeapi'] = true;
 - können replacetext verwenden _Christian: das scheint mir nicht so schlau_
$wgGroupPermissions['user']['replacetext'] = true;
 - kann Seiten löschen _Christian: eigenartig_
$wgGroupPermissions['user']['delete'] = true; $wgGroupPermissions['user']['import'] = true; $wgGroupPermissions['user']['importupload'] = true;
 
 - können lesen _Christian: unklar warum das gebraucht wird; sollte ja durch 
 - Lernpfadprofi
- kann Template Namensraum editieren
$wgGroupPermissions['lernpfadprofi']['edit-template'] = true;
 
 - kann Template Namensraum editieren
 - Sysops und Co
- kann Template Namensraum editieren
$wgGroupPermissions['sysop']['edit-template'] = true;
 
 - kann Template Namensraum editieren
 
Neues Schema
- Anonyme Besucher
- kann sich selber registrieren
 
 - Angemeldete Nutzer + verifizierte E-Mail
- kann nur eigene Benutzerseite bearbeiten
 - kann Diskussionsseiten bearbeiten
 
 - ZUM-Unterrichten Helfer
- Schüler sind ausgeschlossen
 
 - ZUM-Unterrichten Autor
- Autorencheck
 
 
| anonym | angemeldet | Helfer | Autor | sysops + co | Anmerkung | |
|---|---|---|---|---|---|---|
| Lesen bestimmter Seiten | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Lesen im Haupt-NS | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Lesen im Benutzer-NS | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Kann Seitenbewerten lesen | ✅ | ✅ | ✅ | ✅ | ✅ | z.B. Extension:VoteNY | 
| Schreiben im Benutzer-NS | ❌ | ✅ | ✅ | ✅ | ✅ | nur die eigene Benutzerseite
 evtl. via Extension:UserPageEditProtection  | 
| Diskussionseiten sehen | ❌ | ✅ | ✅ | ✅ | ✅ | |
| Diskussionseiten bearbeiten | ❌ | ✅ | ✅ | ✅ | ✅ | |
| Kann Ideen lesen | ❌ | ❌ | ✅ | ✅ | ✅ | z.B. Extension:InlineComments | 
| Kann Ideen posten | ❌ | ❌ | ✅ | ✅ | ✅ | z.B. Extension:InlineComments | 
| Kann Seitenbewertung abgeben | ❌ | ❌ | ✅ | ✅ | ✅ | z.B. Extension:VoteNY | 
| Schreiben im Vorlagen-NS | ❌ | ❌ | ❌ | ✅ | ✅ | via $wgNamespaceProtection
 | 
| Schreiben im Haupt-NS | ❌ | ❌ | ❌ | ✅ | ✅ | via $wgNamespaceProtection
 | 
| Seiten Löschen | ❌ | ❌ | ❌ | ✅ | ✅ | |
| PageForms bearbeiten | ❌ | ❌ | ❌ | ❌ | ✅ | |
| Nutzer registrieren | ❌ | ❌ | ❌ | ❌ | ✅ | |
| Editier-Knopf sichtbar | ❌ | ❌ | ❌ | ❌ | ✅ | |
| Replacetext nutzen | ❌ | ❌ | ❌ | ❌ | ✅ | 
Problem: jeder Namensräume (auch durch Extensions neu hinzumkommende) müssen wir erstmal schützen mittels $wgNamespaceProtect und dann die Gruppen zum-helfer und zum-autor berechtigen darauf zuzugreifen.
Mögliches Vorgehen
- Einführung einer neuen Gruppe 
zum-helfer - Einführung einer neuen Gruppe 
zum-autor - alle existierende Nutzern in die Gruppe 
zum-helferundzum-autoraufnehmen- per API
 
 - ⁉️ mittels 
$wgNamespaceProtectalle bestehenden Namensräume vor Änderungen schützen mit der Berechtigung (<NS>-edit) - ⁉️ die neue 
<NS>-editden Gruppenzum-autor/zum-helferzuweisen 
