Wikigruppen
Autoren (Grundlagen) (deutsche Übersetzung der Seite PmWiki.WikiGroup, Stand 09.09.2005)
PmWiki ermöglicht es, miteinander in Beziehung stehende Seiten in Gruppen zu ordnen. Einfache Wikiwörter erzeugen Verweise auf Wikiseiten? innerhalb der selben Gruppe. Um einen Verweis auf eine zu einer anderen Gruppe gehörende WikiSeite? zu erzeugen, wird die Gruppe und der Seitenname mit einem Punkt oder Schrägstrich miteinander verbunden. Um z.B. nach auf die Seite "Homepage" in der Gruppe "Main" zu verlinken:
*[[Main.HomePage]] *[[Main/HomePage]] *[[Main(.HomePage)]] *[[Main.HomePage | Beschreibung]] |
Neue Gruppen anlegen
Eine neue Gruppe zu erzeugen ist genauso einfach wie das Anlegen neuer Seiten: Man Fügt einfach in einer schon bestehenden Seite einen Verweis auf eine (im Augenblick noch nicht existierende) Seite in der neu zu bildenden Gruppe hinzu und klicke anschließend auf das angezeigte '?' hinter dem Verweis. Standardmäßig müssen Gruppennamen mit einem Buchstaben beginnen (kann vom Administrator geändert werden).
Um beispielsweise eine Seite Bar in der Gruppe Foo anzulegen, wird der folgende Verweis benötigt: [[Foo/Bar]].
Standardgruppen der PmWiki-Distribution
- Main: Die Standardgruppe. In vielen Wikis enthalten sie die von den Autoren hinzugefügten Inhalte. Main.Homepage? und Main.WikiSandbox werden vorinstalliert.
- PmWiki: Eine schreibgeschützte Gruppe, die die PmWiki Dokumentation und Hilfeseiten enthält.
- Site: Enthält verschiedene von PmWiki verwendete Hilfs- und Konfigurationsseiten: SideBar, Search, Preferences, AllRecentChanges, ApprovedUrls und Blocklist.
Der Befehl (:pagelist fmt=group:)
zeigt alle Seiten einer Gruppe an.
Spezialseiten in einer Gruppe
Standardmäßig zeigt die Seite RecentChanges? nur die veränderten Seiten an, die zu einer Gruppe gehören. Die Seite Site.AllRecentChanges zeigt alle Seitenänderungen in allen Gruppen an, geben also einen Überblick aller Arbeiten am Wiki.
Weiterhin kann jede Gruppe eigene GroupHeader- und GroupFooter-Seiten besitzen, in denen sich Text definieren lässt, der automatisch am Beginn oder am Ende jeder Seite dieser Gruppe eingefügt wird. Mit der GroupAttributes-Seite können für alle Seiten der entsprechenden Gruppe gemeinsame Berechtigungen (Lese- und Schreibpasswörter) festgelegt werden.
Darüber hinaus kann jede Seite individuelle Lese- und Schreib-Passwörter besitzen, die Vorrang vor den Gruppenpasswörtern haben (siehe Passwörter).
Schließlich kann der Administrator des Wikis die lokalen Anpassungen auf der Basis von Gruppen vornehmen (siehe Anpassung für einzelne Gruppen?).
Standardseite in der Gruppe
Eine Seite die den gleichen Namen wie ihre Gruppe besitzt wird standardmäßig als Startseite für diese Gruppe betrachtet. Falls diese Seite nicht existiert, wird die in HomePage definierte Seite stattdessen für diese Gruppe verwendet.
Untergruppen? Unterseiten?
Nein, es existieren keine Unterseiten. Der Grund dafür ist in Hierarchische Gruppen? beschrieben, kurz gesagt: die damit verbundene schlechte Verweissyntax. Falls ein Verweis in der Form [[A.B.C]]
verwendet wird, so interpretiert dies PmWiki als Seite "C" in der Gruppe "AB", die sich von einer Gruppe "A" unterscheidet. Wikiadministratoren finden in den Cookbook:SubpageMarkup- und Cookbook:IncludeWithEdit-Rezepten Hinweise für die Entwicklung von Untergruppen und Unterseiten.
Wie verhindert man das Anlegen neuer Gruppen? (Cookbook:LimitWikiGroups)
Möglichkeit 1: Zuerst wird in /local/config.php
das Bearbeiten für das gesamte Wiki gesperrt:
$DefaultPasswords
['edit'] = crypt('daspasswort');
Danach wird auf der Seite GroupAttributes jeder Gruppe, in der Bearbeitung erlaubt sein soll, das Bearbeitenpasswort auf "nopass" (NO Passwort) gesetzt. Die Lösung erhöht ganz allgemein die Sicherheit im Wiki.
Falls später eine neue Gruppe erzeugt werden, so legt sie einfach der Administrator mit seinem Passwort an. Dies ist die bisher beste Lösung.
Möglichkeit 2: Es wird davon ausgegangen, dass alle Wikigruppen? auch eine Seite RecentChanges? besitzen. Wird:
$rc = FmtPageName('$Group.RecentChanges', $pagename); if (!PageExists($rc)) $DefaultPasswords['edit'] = $DefaultPasswords['admin'];
in der /local/config
eingetragen, so verlangt das anlegen einer neuen Seite entweder, dass die RecentChanges für die Gruppe schon existiert oder es wird nach dem Administratorpasswort gefragt.
Möglichkeit 3: Es wird die $GroupPattern
Variable von PmWiki verwendet. Um das Wiki auf die Gruppen "PmWiki", "Main", "Profiles" und "Beispiel" einzuschränken wird in /local/config.php
$GroupPattern
= '(?:PmWiki|Main|Profiles|Beispiel)';
eingetragen. Damit werden nur die erwähnten Gruppen als gültige Wikigruppen? betrachtet. Weitere Gruppennamen werden einfach mittels vertikalen Strich angefügt.
<< Gleichzeitige Bearbeitungen? | Dokumentationsindex | Kopfzeilen der Gruppe >>