Namespace-Wiki

Aus Info-Theke
Version vom 4. Februar 2025, 21:26 Uhr von Hamatoma (Diskussion | Beiträge) (→‎Hierarchie)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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;