Namespace-Wiki
Beschreibung
Erklärung und Anwendung für Namespaces.
Was ist ein Namespace
Ein Namespace ist ein "Raum" für Seiten, für den eigene Rechteregeln definiert werden können.
Beispiel
Für Bestellungen sind Zugangsdaten bei den Lieferanten nötig, die nicht öffentlich sind. Es wird eine Seite im Namespace "NS_LIEFERUNG" angelegt. Diese Seite kann dann nur von Benutzern der Gruppe "Bestellung" eingesehen werden.
Wie erkenne ich, in welchem Namespace eine Seite ist
Links oben unter dem Titel ist ein kleines Symbol (Seite mit Eselsohr), rechts daneben steht der Namespace. Normalerweise: "Seite"
Wie wird ein Namespace angelegt
Sie registrieren zusätzliche Namensräume, indem Sie sie der globalen Variable $wgExtraNamespaces in Ihrer Datei "LocalSettings.php" hinzufügen. Alle Namensräume benötigen einen eindeutigen numerischen Index in diesem Array. Als ein Beispiel einer einfachen Erstellung eines benutzerspezifischen Namensraums, füge folgende Zeilen in die "LocalSettings.php" Datei, die "Lieferung" als Namensraum 3000 definiert und den zugehörigen Namensraum "Lieferung_talk". Beachte bitte, dass ein Talk-Namensraum, der mit deinem benutzerdefinierten Namensraum verbunden ist, derzeit eine "feste" Anforderung ist.
- LocalSettings.php:
// Definiert Konstanten für einen zusätzlichen Namensraum. define("NS_LIEFERUNG", 3000); // Diese Zahl MUSS gerade sein. define("NS_LIEFERUNG_TALK", 3001); // Dies MUSS die darauffolgende Ganzzahl sein. // Füge Namensräume hinzu. $wgExtraNamespaces[NS_LIEFERUNG] = "NSLieferung"; $wgExtraNamespaces[NS_LIEFERUNG_TALK] = "NSLieferung_talk"; // Beachte die Unterstriche in den Namen der Namensräume.
Anlegen einer Seite in einem Namespace
Eine Seite wird einem Namespace zugeordnet, wenn die Seite so benannt ist:
<namespace-name>:<seitenname>
[[NSLieferung:Lieferanten]]
Wie werden die Rechte eines Namespaces verwaltet
Extension Lockdown
Es muss die Extension Lockdown installiert sein: https://www.mediawiki.org/wiki/Extension:Lockdown
wfLoadExtension( 'Lockdown' );
Neue Benutzergruppe anlegen
// Gruppe GBestellung definieren: $wgGroupPermissions['GBestellung'] = $wgGroupPermissions['user'];
Namespace für "normale Benutzer" sperren
$wgNamespacePermissionLockdown[NS_LIEFERUNG]['*'] = [ 'GBestellung' ]; $wgNonincludableNamespaces[] = NS_LIEFERUNG;