Benutzer:Christian/Neue Benutzerrechte: Unterschied zwischen den Versionen
Aus ZUM-Unterrichten
| KKeine Bearbeitungszusammenfassung | KKeine Bearbeitungszusammenfassung | ||
| Zeile 30: | Zeile 30: | ||
| ! Schreiben im Haupt-NS    || ❌      || ✅         || ✅                      || ✅          || | ! Schreiben im Haupt-NS    || ❌      || ✅         || ✅                      || ✅          || | ||
| |- | |- | ||
| ! Diskussionseiten sehen   || ❌      || ✅         || ✅                      || ✅          || unklar | ! Diskussionseiten sehen   || ❌      || ✅         || ✅                      || ✅          || unklar ob das nur per UI gemacht ist | ||
| |- | |- | ||
| ! Diskussionseiten bearbeiten || ❌   || ✅         || ✅                      || ✅          || unklar | ! Diskussionseiten bearbeiten || ❌   || ✅         || ✅                      || ✅          || unklar ob das nur per UI gemacht ist | ||
| |- | |- | ||
| ! Editier-Knopf sichtbar   || ❌      || ✅         || ✅                      || ✅          || | ! Editier-Knopf sichtbar   || ❌      || ✅         || ✅                      || ✅          || | ||
| |- | |- | ||
| ! Replacetext nutzen       || ❌      || ✅         || ✅                      || ✅          || eigenartig | ! Replacetext nutzen       || ❌      || ✅         || ✅                      || ✅          || eigenartig, eigentlich sollten das nur SysOps dürfen | ||
| |- | |- | ||
| ! Seiten Löschen           || ❌      || ✅         || ✅                      || ✅          || | ! Seiten Löschen           || ❌      || ✅         || ✅                      || ✅          || | ||
| Zeile 42: | Zeile 42: | ||
| ! Schreiben im Vorlagen-NS || ❌      || ❌         || ✅                      || ✅          || via <code>$wgNamespaceProtection</code> | ! Schreiben im Vorlagen-NS || ❌      || ❌         || ✅                      || ✅          || via <code>$wgNamespaceProtection</code> | ||
| |- | |- | ||
| ! PageForms bearbeiten     || ❌      || ❌         || ❌                      || ✅          || unklar | ! PageForms bearbeiten     || ❌      || ❌         || ❌                      || ✅          || unklar, wird eigentlich nicht verwendet   | ||
| außer auf den Profilseiten, und dort macht es Probleme | |||
| |- | |- | ||
| ! Nutzer registrieren      || ❌      || ❌         || ❌                      || ✅          || | ! Nutzer registrieren      || ❌      || ❌         || ❌                      || ✅          || | ||
| |} | |} | ||
| * Template Namensraum Editieren ist speziell geschützt<pre>$wgNamespaceProtection[NS_TEMPLATE] = array( 'edit-template' );</pre> | * Template Namensraum Editieren ist speziell geschützt<pre>$wgNamespaceProtection[NS_TEMPLATE] = array( 'edit-template' );</pre> | ||
| Zeile 90: | Zeile 88: | ||
| ! Lesen im Benutzer-NS          ||     ✅ ||         ✅ ||     ✅ ||    ✅ ||         ✅ || | ! Lesen im Benutzer-NS          ||     ✅ ||         ✅ ||     ✅ ||    ✅ ||         ✅ || | ||
| |- | |- | ||
| ! Kann Seitenbewerten lesen     ||     ✅ ||         ✅ ||     ✅ ||    ✅ ||         ✅ || | ! Kann Seitenbewerten lesen     ||     ✅ ||         ✅ ||     ✅ ||    ✅ ||         ✅ ||[https://www.mediawiki.org/wiki/Extension:VoteNY Extension:VoteNY] | ||
| |- | |- | ||
| ! Schreiben im Benutzer-NS      ||     ❌ ||         ✅ ||     ✅ ||    ✅ ||         ✅ || nur die '''eigene''' Benutzerseite | ! Schreiben im Benutzer-NS      ||     ❌ ||         ✅ ||     ✅ ||    ✅ ||         ✅ || nur die '''eigene''' Benutzerseite | ||
| Zeile 99: | Zeile 97: | ||
| ! Diskussionseiten bearbeiten   ||     ❌ ||         ✅ ||     ✅ ||    ✅ ||         ✅ || | ! Diskussionseiten bearbeiten   ||     ❌ ||         ✅ ||     ✅ ||    ✅ ||         ✅ || | ||
| |- | |- | ||
| ! Kann Ideen lesen              ||     ❌ ||         ❌ ||     ✅ ||    ✅ ||         ✅ || | ! Kann Ideen lesen              ||     ❌ ||         ❌ ||     ✅ ||    ✅ ||         ✅ ||[https://m.mediawiki.org/wiki/Extension:InlineComments Extension:InlineComments][https://www.mediawiki.org/wiki/Extension:CommentStreams Extension:CommentStreams] | ||
| |- | |- | ||
| ! Kann Ideen posten             ||     ❌ ||         ❌ ||     ✅ ||    ✅ ||         ✅ || | ! Kann Ideen posten             ||     ❌ ||         ❌ ||     ✅ ||    ✅ ||         ✅ ||[https://m.mediawiki.org/wiki/Extension:InlineComments Extension:InlineComments][https://www.mediawiki.org/wiki/Extension:CommentStreams Extension:CommentStreams] | ||
| |- | |- | ||
| ! Kann Seitenbewertung abgeben  ||     ❌ ||         ❌ ||     ✅ ||    ✅ ||         ✅ || | ! Kann Seitenbewertung abgeben  ||     ❌ ||         ❌ ||     ✅ ||    ✅ ||         ✅ ||[https://www.mediawiki.org/wiki/Extension:VoteNY Extension:VoteNY] | ||
| |- | |- | ||
| ! Schreiben im Vorlagen-NS      ||     ❌ ||         ❌ ||     ❌ ||    ✅ ||         ✅ || via <code>$wgNamespaceProtection</code> | ! Schreiben im Vorlagen-NS      ||     ❌ ||         ❌ ||     ❌ ||    ✅ ||         ✅ || via <code>$wgNamespaceProtection</code> | ||
| Zeile 120: | Zeile 118: | ||
| |} | |} | ||
| Problem: '''jeder''' Namensräume (auch durch Extensions neu hinzumkommende) müssen wir erstmal schützen mittels <code>$wgNamespaceProtect</code> und dann die Gruppen zum-helfer und zum-autor berechtigen darauf zuzugreifen. | |||
| == Mögliches Vorgehen == | |||
| # Einführung einer neuen Gruppe <code>zum-helfer</code> | |||
| # Einführung einer neuen Gruppe <code>zum-autor</code> | |||
| # alle existierende Nutzern in die Gruppe <code>zum-helfer</code> und <code>zum-autor</code> aufnehmen | |||
| #* per API | |||
| # ⁉️ mittels <code>$wgNamespaceProtect</code> alle bestehenden Namensräume vor Änderungen schützen mit der Berechtigung ( <code><NS>-edit</code> ) | |||
| # ⁉️ die neue <code><NS>-edit</code> den Gruppen <code>zum-autor</code>/<code>zum-helfer</code> zuweisen | |||
| # | |||
Version vom 5. Mai 2024, 12:24 Uhr
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 | ❌ | ❌ | ✅ | ✅ | 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 | ✅ | ✅ | ✅ | ✅ | ✅ | Extension:VoteNY | 
| Schreiben im Benutzer-NS | ❌ | ✅ | ✅ | ✅ | ✅ | nur die eigene Benutzerseite evtl. via Extension:UserPageEditProtection | 
| Diskussionseiten sehen | ❌ | ✅ | ✅ | ✅ | ✅ | |
| Diskussionseiten bearbeiten | ❌ | ✅ | ✅ | ✅ | ✅ | |
| Kann Ideen lesen | ❌ | ❌ | ✅ | ✅ | ✅ | Extension:InlineCommentsExtension:CommentStreams | 
| Kann Ideen posten | ❌ | ❌ | ✅ | ✅ | ✅ | Extension:InlineCommentsExtension:CommentStreams | 
| Kann Seitenbewertung abgeben | ❌ | ❌ | ✅ | ✅ | ✅ | 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

