Benutzer:Christian/Neue Benutzerrechte: Unterschied zwischen den Versionen

Aus ZUM-Unterrichten
KKeine Bearbeitungszusammenfassung
K (falscher Variablenname korrigiert)
 
(22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
= Wie migrieren wir zu dem neuen Benutzerschema =
= Wie migrieren wir zu dem neuen Benutzerschema? =
{{int:filedesc}} Christian
__TOC__
{{int:lang}} de
__TOC__ {{int:toc}} right


== Beachtenswert ==
== Beachtenswert ==
Zeile 22: Zeile 20:


{| class="wikitable"
{| class="wikitable"
!                          || anonym || angemeldet || angemeldet+lernpfadprofi || sysops + co || Anmerkung
!                          || anonym || angemeldet || sysops + co || Anmerkung
|-
|-
! Lesen bestimmter Seiten  || ✅      || ✅        || ✅                      || ✅          ||
! Lesen bestimmter Seiten   
| ✅      || ✅        || ✅          ||
|-
|-
! Lesen im Haupt-NS        || ✅      || ✅        || ✅                      || ✅          ||
! Lesen im Haupt-NS         
| ✅      || ✅        || ✅          ||
|-
|-
! Schreiben im Haupt-NS    || ❌      || ✅        || ✅                      || ✅          ||
! Schreiben im Haupt-NS     
| ❌      || ✅        || ✅          ||
|-
|-
! Diskussionseiten sehen  || ❌      || ✅        || ✅                      || ✅          || unklar ob das nur per UI gemacht ist
! Diskussionseiten sehen   
| ❌      || ✅        || ✅          || unklar ob das nur per UI gemacht ist
|-
|-
! Diskussionseiten bearbeiten || ❌  || ✅        || ✅                      || ✅          || unklar ob das nur per UI gemacht ist
! Diskussionseiten bearbeiten  
| ❌  || ✅        || ✅          || unklar ob das nur per UI gemacht ist
|-
|-
! Editier-Knopf sichtbar  || ❌      || ✅        || ✅                      || ✅          ||
! Editier-Knopf sichtbar   
| ❌      || ✅        || ✅          ||
|-
|-
! Replacetext nutzen      || ❌      || ✅        || ✅                      || ✅          || eigenartig, eigentlich sollten das nur SysOps dürfen
! Replacetext nutzen       
| ❌      || ✅        || ✅          || eigenartig, eigentlich sollten das nur SysOps dürfen
|-
|-
! Seiten Löschen          || ❌      || ✅        || ✅                      || ✅          ||
! Seiten Löschen           
| ❌      || ✅        || ✅          ||
|-
|-
! Schreiben im Vorlagen-NS || ❌      || ❌        || ✅                      || ✅          || via <code>$wgNamespaceProtection</code>
! Schreiben im Vorlagen-NS  
| ❌      || ✴️
<small>(Gruppe: lernpfadprofi)</small>
| ✅          || via <code>$wgNamespaceProtection</code>
|-
|-
! PageForms bearbeiten    || ❌      || ❌        || ❌                      || ✅          || unklar, wird eigentlich nicht verwendet  
! PageForms bearbeiten     
| ❌      || ❌        || ✅          || unklar, wird eigentlich nicht verwendet  
außer auf den Profilseiten, und dort macht es Probleme
außer auf den Profilseiten, und dort macht es Probleme
|-
|-
! Nutzer registrieren      || ❌      || ❌        || ❌                      || ✅          ||
! Nutzer registrieren       
| ❌      || ❌        || ✅          ||
|}
|}
{{Aufdecken
| Titel = Aktuelle Umsetzung
| Inhalt =
* 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>


 
Hinweise


# Anonyme Besucher
# Anonyme Besucher
Zeile 66: Zeile 83:
# Sysops und Co
# Sysops und Co
#* kann Template Namensraum editieren<pre>$wgGroupPermissions['sysop']['edit-template'] = true;</pre>
#* kann Template Namensraum editieren<pre>$wgGroupPermissions['sysop']['edit-template'] = true;</pre>
| TitelLevel = 3
}}


== Neues Schema ==
== Neues Schema ==
Zeile 82: Zeile 101:
!                              !! anonym !! angemeldet !! Helfer !! Autor !! sysops + co !! Anmerkung
!                              !! anonym !! angemeldet !! Helfer !! Autor !! sysops + co !! Anmerkung
|-
|-
! Lesen bestimmter Seiten      ||    ✅ ||        ✅ ||    ✅ ||    ✅ ||        ✅ ||
! Lesen bestimmter Seiten       
|    ✅ ||        ✅ ||    ✅ ||    ✅ ||        ✅ ||
|-
|-
! Lesen im Haupt-NS            ||    ✅ ||        ✅ ||    ✅ ||    ✅ ||        ✅ ||
! Lesen im Haupt-NS             
|    ✅ ||        ✅ ||    ✅ ||    ✅ ||        ✅ ||
|-
|-
! Lesen im Benutzer-NS          ||    ✅ ||        ✅ ||    ✅ ||    ✅ ||        ✅ ||
! Lesen im Benutzer-NS           
|    ✅ ||        ✅ ||    ✅ ||    ✅ ||        ✅ ||
|-
|-
! Kann Seitenbewerten lesen    ||    ✅ ||        ✅ ||    ✅ ||    ✅ ||        ✅ ||[https://www.mediawiki.org/wiki/Extension:VoteNY Extension:VoteNY]
! Kann Seitenbewertung lesen     
|    ✅ ||        ✅ ||    ✅ ||    ✅ ||        ✅ ||z.B. [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
evtl. via [https://www.mediawiki.org/wiki/Extension:UserPageEditProtection Extension:UserPageEditProtection]
evtl. via [https://www.mediawiki.org/wiki/Extension:UserPageEditProtection Extension:UserPageEditProtection]
|-
|-
! Diskussionseiten sehen        ||    ❌ ||        ✅ ||    ✅ ||    ✅ ||        ✅ ||
! Diskussionseiten sehen         
|    ❌ ||        ✅ ||    ✅ ||    ✅ ||        ✅ ||
|-
|-
! Diskussionseiten bearbeiten  ||    ❌ ||        ✅ ||    ✅ ||    ✅ ||        ✅ ||
! Diskussionseiten bearbeiten   
|    ❌ ||        ✅ ||    ✅ ||    ✅ ||        ✅ ||
|-
|-
! Kann Ideen lesen              ||    ❌ ||        ❌ ||    ✅ ||    ✅ ||        ✅ ||[https://m.mediawiki.org/wiki/Extension:InlineComments Extension:InlineComments][https://www.mediawiki.org/wiki/Extension:CommentStreams Extension:CommentStreams]
! Kann Ideen lesen               
|    ❌ ||        ❌ ||    ✅ ||    ✅ ||        ✅ ||z.B. [https://m.mediawiki.org/wiki/Extension:InlineComments Extension:InlineComments]
[https://www.mediawiki.org/wiki/Extension:CommentStreams Extension:CommentStreams]
|-
|-
! Kann Ideen posten            ||    ❌ ||        ❌ ||    ✅ ||    ✅ ||        ✅ ||[https://m.mediawiki.org/wiki/Extension:InlineComments Extension:InlineComments][https://www.mediawiki.org/wiki/Extension:CommentStreams Extension:CommentStreams]
! Kann Ideen posten             
|    ❌ ||        ❌ ||    ✅ ||    ✅ ||        ✅ ||z.B. [https://m.mediawiki.org/wiki/Extension:InlineComments Extension:InlineComments]
[https://www.mediawiki.org/wiki/Extension:CommentStreams Extension:CommentStreams]
|-
|-
! Kann Seitenbewertung abgeben  ||    ❌ ||        ❌ ||    ✅ ||    ✅ ||        ✅ ||[https://www.mediawiki.org/wiki/Extension:VoteNY Extension:VoteNY]
! Kann Seitenbewertung abgeben   
|    ❌ ||        ❌ ||    ✅ ||    ✅ ||        ✅ ||z.B. [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>
|-
|-
! Schreiben im Haupt-NS        ||    ❌ ||        ❌ ||    ❌ ||    ✅ ||        ✅ ||via <code>$wgNamespaceProtection</code>
! Schreiben im Haupt-NS         
|    ❌ ||        ❌ ||    ❌ ||    ✅ ||        ✅ ||via <code>$wgNamespaceProtection</code>
|-
|-
! Seiten Löschen                ||    ❌ ||        ❌ ||    ❌ ||    ✅ ||        ✅ ||
! Seiten Löschen                 
|    ❌ ||        ❌ ||    ❌ ||    ✅ ||        ✅ ||
|-
|-
! PageForms bearbeiten          ||    ❌ ||        ❌ ||    ❌ ||    ❌ ||        ✅ ||
! PageForms bearbeiten           
|    ❌ ||        ❌ ||    ❌ ||    ❌ ||        ✅ ||
|-
|-
! Nutzer registrieren          ||    ❌ ||        ❌ ||    ❌ ||    ❌ ||        ✅ ||
! Nutzer registrieren           
|    ❌ ||        ❌ ||    ❌ ||    ❌ ||        ✅ ||
|-
|-
! Editier-Knopf sichtbar        ||    ❌ ||        ❌ ||    ❌ ||    ❌ ||        ✅ ||
! Editier-Knopf sichtbar         
|    ❌ ||        ❌ ||    ❌ ||    ❌ ||        ✅ ||
|-
|-
! Replacetext nutzen            ||    ❌ ||        ❌ ||    ❌ ||    ❌ ||        ✅ ||
! Replacetext nutzen             
|    ❌ ||        ❌ ||    ❌ ||    ❌ ||        ✅ ||
|}
|}


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.
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 ==
== Mögliches Vorgehen ==
Das größte Hindernis ist, die Tatsache, dass standardmäßig nahezu alle Namensräume von der Gruppe <code>user</code> editierbar sind und jeder angemeldete Nutzer immer in der Gruppe <code>user</code> ist und auch nicht aus ihr entfernt werden kann. Ziel der Änderungen ist es daher, die meisten Namensräume mittels <code>$wgNamespaceProtect</code> mit neuen Rechten (<code>zum-permission-*</code>) zu schützen und diese neuen Rechte an neue Gruppen (<code>zum-group-*</code>) zu vergeben. Diese neuen Gruppen werden dann von den bisherigen Administratoren an die Nutzer vergeben die die jeweiligen Bedingungen erfüllen.
* Das neue Recht <code>zum-permission-verified</code>. ''wird eventuell nicht benötigt, je nachdem wie die Extensions für das Ideensystem und die Seitenbewertung funktionieren.''
** wird an die neue Gruppe <code>zum-group-helfer</code> und <code>zum-group-autor</code> verliehen, sowie an <code>sysop</code>.
** erlaubt den Zugang zu den Funktionen für das Ideensystem und Seitenbewertungssystem
** Vergabe erfolgt manuell durch bestehende ZUM-Unterrichten Administratoren
* Das neue Recht <code>zum-permission-autor</code>.
** wird an die neue Gruppe <code>zum-group-autor</code> verliehen, sowie an <code>sysop</code>.
** erlaubt den Editierzugriff auf Haupt- ''und Vorlagennamensraum '''(TBD)'''''
** Vergabe erfolgt manuell durch bestehende ZUM-Unterrichten Administratoren
** entspricht den Berechtigungen die im alten System der Gruppe <code>user</code> zustanden
*Zusätzlich wird E-Mail Bestätigung Pflicht bevor editierrechte ausgeübt werden können
*Zusätzlich werden Editierberechtigungen im Benutzernamensraum auf die eigene Benutzerseite beschränkt
*Absehbar ist, eine weitere Berechtigung für "ZUM-Superautoren" die dann auch andere Benutzerseiten ändern können und evtl. müssen wir das Vorlagenveränderungsrecht auch dort hinschieben.


# Einführung einer neuen Gruppe <code>zum-helfer</code>
=== Ablauf ===
# Einführung einer neuen Gruppe <code>zum-autor</code>
# Einführung einer neuen Gruppe <code>zum-group-helfer</code>
# alle existierende Nutzern in die Gruppe <code>zum-helfer</code> und <code>zum-autor</code> aufnehmen
# Einführung einer neuen Gruppe <code>zum-group-autor</code>
# alle existierende Nutzern in die Gruppe <code>zum-group-helfer</code> und <code>zum-group-autor</code> aufnehmen
#* per API
#* per API
# ⁉️ mittels <code>$wgNamespaceProtect</code> alle bestehenden Namensräume vor Änderungen schützen mit der Berechtigung ( <code><NS>-edit</code> )
# Bei der Installation muss an <code>zum-group-helfer</code> gedacht werden.<pre># Bei der Installation des Ideensystems und des Seitenbewertungssystems&#10;# die Berechtigungen beachten und nicht einfach der `user` Gruppe überlassen&#10;&#10;# Wenn die Extension an Gruppen geknüpft werden (weil sie eigene Rechte mitbringen) &#10;## -> die Rechte den zum-group-helfer, zum-group-autor und sysop Gruppen zuweisen und der Gruppe `user` entziehen&#10;&#10;# Wenn die Extension an Namensräume geknüpft werden&#10;## -> Namensräume mittels $wgNamespaceProtect durch die Berechtigung zum-permission-verified schützen&#10;## das kann keine Leserechte verhindern</pre>
# ⁉️ die neue <code><NS>-edit</code> den Gruppen <code>zum-autor</code>/<code>zum-helfer</code> zuweisen
# ⁉️ mittels <code>$wgNamespaceProtection</code> die Namensräume MAIN, TEMPLATE vor Änderungen schützen mit der Berechtigung ( <code>zum-permission-autor</code> )<pre>$wgNamespaceProtection[NS_MAIN][]='zum-permission-autor';&#10;$wgNamespaceProtection[NS_TEMPLATE][]='zum-permission-autor';</pre>
# ⁉️ die neue Berechtigung <code>zum-permission-verified</code> den Gruppen <code>zum-group-autor</code>/<code>zum-group-helfer</code> und <code>sysop</code> zuweisen.<pre>$wgGroupPermission['zum-group-helfer']['zum-permission-verified'] = true;&#10;$wgGroupPermission['zum-group-autor']['zum-permission-verified'] = true;&#10;$wgGroupPermission['sysop']['zum-permission-verified'] = true;</pre>
# ⁉️ die neue Berechtigung <code>zum-permission-autor</code> den Gruppen <code>zum-group-autor</code> und <code>sysop</code> zuweisen.<pre>$wgGroupPermission['zum-group-autor']['zum-permission-autor'] = true;&#10;$wgGroupPermission['sysop']['zum-permission-autor'] = true;</pre>
# [https://www.mediawiki.org/wiki/Extension:UserPageEditProtection Extension:UserPageEditProtection] installieren und einrichten
# Editieren nur mit bestätigter Email-Adresse <pre>$wgEmailConfirmToEdit = true;&#10;$wgEmailAuthentication = true;</pre>
# edit Berechtigung für <code>user</code> Gruppe entfernen<pre>$wgGroupPermissions['user']['edit'] = false;</pre>
#'''Meilenstein''' Jetzt können wir die Registrierung öffnen
#* Selbst registrierende Nutzer können nur auf eigener Benutzerseite arbeiten
#* bestehende Autoren können weiterhin überall arbeiten
# replacetext wieder auf sysop einschränken
# ❓PageForm aus UserProfile mechanismus entfernen
#
#

Aktuelle Version vom 14. August 2024, 19:53 Uhr

Wie migrieren wir zu dem neuen Benutzerschema?

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
  • Manche Rechte sind Fähigkeiten, z.B. autopatrol
  • $wgNamespaceProtection funktioniert 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 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


Aktuelle Umsetzung

  • Template Namensraum Editieren ist speziell geschützt
    $wgNamespaceProtection[NS_TEMPLATE] = array( 'edit-template' );

Hinweise

  1. 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'
       );
  2. 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;
      
  3. Lernpfadprofi
    • kann Template Namensraum editieren
      $wgGroupPermissions['lernpfadprofi']['edit-template'] = true;
  4. Sysops und Co
    • kann Template Namensraum editieren
      $wgGroupPermissions['sysop']['edit-template'] = true;


Neues Schema

  1. Anonyme Besucher
    • kann sich selber registrieren
  2. Angemeldete Nutzer + verifizierte E-Mail
    • kann nur eigene Benutzerseite bearbeiten
    • kann Diskussionsseiten bearbeiten
  3. ZUM-Unterrichten Helfer
    • Schüler sind ausgeschlossen
  4. ZUM-Unterrichten Autor
    • Autorencheck
anonym angemeldet Helfer Autor sysops + co Anmerkung
Lesen bestimmter Seiten
Lesen im Haupt-NS
Lesen im Benutzer-NS
Kann Seitenbewertung 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

Extension:CommentStreams

Kann Ideen posten z.B. Extension:InlineComments

Extension:CommentStreams

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

Das größte Hindernis ist, die Tatsache, dass standardmäßig nahezu alle Namensräume von der Gruppe user editierbar sind und jeder angemeldete Nutzer immer in der Gruppe user ist und auch nicht aus ihr entfernt werden kann. Ziel der Änderungen ist es daher, die meisten Namensräume mittels $wgNamespaceProtect mit neuen Rechten (zum-permission-*) zu schützen und diese neuen Rechte an neue Gruppen (zum-group-*) zu vergeben. Diese neuen Gruppen werden dann von den bisherigen Administratoren an die Nutzer vergeben die die jeweiligen Bedingungen erfüllen.

  • Das neue Recht zum-permission-verified. wird eventuell nicht benötigt, je nachdem wie die Extensions für das Ideensystem und die Seitenbewertung funktionieren.
    • wird an die neue Gruppe zum-group-helfer und zum-group-autor verliehen, sowie an sysop.
    • erlaubt den Zugang zu den Funktionen für das Ideensystem und Seitenbewertungssystem
    • Vergabe erfolgt manuell durch bestehende ZUM-Unterrichten Administratoren
  • Das neue Recht zum-permission-autor.
    • wird an die neue Gruppe zum-group-autor verliehen, sowie an sysop.
    • erlaubt den Editierzugriff auf Haupt- und Vorlagennamensraum (TBD)
    • Vergabe erfolgt manuell durch bestehende ZUM-Unterrichten Administratoren
    • entspricht den Berechtigungen die im alten System der Gruppe user zustanden
  • Zusätzlich wird E-Mail Bestätigung Pflicht bevor editierrechte ausgeübt werden können
  • Zusätzlich werden Editierberechtigungen im Benutzernamensraum auf die eigene Benutzerseite beschränkt
  • Absehbar ist, eine weitere Berechtigung für "ZUM-Superautoren" die dann auch andere Benutzerseiten ändern können und evtl. müssen wir das Vorlagenveränderungsrecht auch dort hinschieben.

Ablauf

  1. Einführung einer neuen Gruppe zum-group-helfer
  2. Einführung einer neuen Gruppe zum-group-autor
  3. alle existierende Nutzern in die Gruppe zum-group-helfer und zum-group-autor aufnehmen
    • per API
  4. Bei der Installation muss an zum-group-helfer gedacht werden.
    # Bei der Installation des Ideensystems und des Seitenbewertungssystems
    # die Berechtigungen beachten und nicht einfach der `user` Gruppe überlassen
    
    # Wenn die Extension an Gruppen geknüpft werden (weil sie eigene Rechte mitbringen) 
    ## -> die Rechte den zum-group-helfer, zum-group-autor und sysop Gruppen zuweisen und der Gruppe `user` entziehen
    
    # Wenn die Extension an Namensräume geknüpft werden
    ## -> Namensräume mittels $wgNamespaceProtect durch die Berechtigung zum-permission-verified schützen
    ## das kann keine Leserechte verhindern
  5. ⁉️ mittels $wgNamespaceProtection die Namensräume MAIN, TEMPLATE vor Änderungen schützen mit der Berechtigung ( zum-permission-autor )
    $wgNamespaceProtection[NS_MAIN][]='zum-permission-autor';
    $wgNamespaceProtection[NS_TEMPLATE][]='zum-permission-autor';
  6. ⁉️ die neue Berechtigung zum-permission-verified den Gruppen zum-group-autor/zum-group-helfer und sysop zuweisen.
    $wgGroupPermission['zum-group-helfer']['zum-permission-verified'] = true;
    $wgGroupPermission['zum-group-autor']['zum-permission-verified'] = true;
    $wgGroupPermission['sysop']['zum-permission-verified'] = true;
  7. ⁉️ die neue Berechtigung zum-permission-autor den Gruppen zum-group-autor und sysop zuweisen.
    $wgGroupPermission['zum-group-autor']['zum-permission-autor'] = true;
    $wgGroupPermission['sysop']['zum-permission-autor'] = true;
  8. Extension:UserPageEditProtection installieren und einrichten
  9. Editieren nur mit bestätigter Email-Adresse
    $wgEmailConfirmToEdit = true;
    $wgEmailAuthentication = true;
  10. edit Berechtigung für user Gruppe entfernen
    $wgGroupPermissions['user']['edit'] = false;
  11. Meilenstein Jetzt können wir die Registrierung öffnen
    • Selbst registrierende Nutzer können nur auf eigener Benutzerseite arbeiten
    • bestehende Autoren können weiterhin überall arbeiten
  12. replacetext wieder auf sysop einschränken
  13. ❓PageForm aus UserProfile mechanismus entfernen