Zusammengehörende Seiten sind in PmWiki in Gruppen organisiert. Dieses Feature wurde zu PmWiki hinzugefügt, um es Autoren zu ermöglichen, für sich selbst eigene Gruppen mit speziellem Inhalt zu erzeugen, ohne dazu auf den Wiki-Adminstrator angewiesen zu sein (oder selbst Administrator werden zu müssen). Siehe Pms Nachricht auf der Mailingliste pmwiki-users.
Einfache Verweise zeigen auf Wikiseiten innerhalb der selben Gruppe. Um einen Verweis auf eine zu einer anderen Gruppe gehörende Seite zu erzeugen, wird die Gruppe und der Seitenname mit einem Punkt oder Schrägstrich miteinander verbunden. Um z.B. auf die Seite "WikiSandbox" in der Gruppe "Main" zu verlinken:
*[[Main.WikiSandbox]] *[[Main/WikiSandbox]] *[[(Main.Wiki)Sandbox]] *[[Main.WikiSandbox | Beschreibung]] *[[Main.WikiSandbox | +]] |
Um auf die Standard-HomePage einer anderen Gruppe zu verweisen (siehe unten), kann der Seitenname weggelassen werden:
*[[Main.]] *[[Main/]] |
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 klickt anschließend auf das angezeigte '?' hinter dem Verweis. Standardmäßig müssen Gruppennamen mit einem Buchstaben beginnen (kann vom Administrator geändert werden, indem er
$GroupPattern = '[[:upper:]\\d][\\w]*(?:-\\w+)*';
zu config.php
hinzufügt).
Um beispielsweise die Standard-Gruppenseite einer neuen Gruppe "Foo" anzulegen, muss ein Verweise [[Foo/]] (oder [[Foo.]]) angelegt werden. Soll eine Seite Bar in der Gruppe Foo angelegt werden, muss der folgende Verweis lauten: [[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 enthält.
- Site: Enthält verschiedene von PmWiki verwendete Hilfs- und Konfigurationsseiten, u.a.:
SideBar, Search, Preferences, Templates
undAllRecentChanges
. - SiteAdmin: Enthält verschiedene passwort-geschützte von PmWiki verwendete Administrations- und Konfigurationseiten von PmWiki , u.a.:
ApprovedUrls
undBlocklist
.
Die Suche nach "fmt=group" zeigt alle Gruppen des Wikis an. Alle Seiten erhält man mit "GruppenName/".
Spezialseiten in einer Gruppe
Standardmäßig zeigt die Seite RecentChanges nur die zuletzt veränderten Seiten einer Gruppe an. Die Seite Site.AllRecentChanges zeigt alle Seitenänderungen in allen Gruppen an, gibt also einen Überblick aller Arbeiten am Wiki.
Weiterhin kann jede Gruppe eigene GroupHeader- und GroupFooter-Seiten besitzen, in denen sich Text und Formatierungsanweisungen definieren lassen, die automatisch am Beginn oder am Ende jeder Seite dieser Gruppe eingefügt werden. 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
Die Standardseite einer Gruppe ist die Seite,
- die den gleichen Namen wie die Gruppe hat (Foo/Foo) oder
- die den Namen HomePage hat (Foo/HomePage) oder
- die den Namen hat, den der Administrator mit der Variable {$DefaultName} in der Konfigurationsdatei festgelegt hat.
Für die vorliegende Installation von PmWiki hat {$DefaultName} den Wert HomePage und insofern ist die Standardseite einer Gruppe Foo/HomePage.
Wie oben erwähnt, können Autoren beim Verweisen auf die Standardseite einer Gruppe den Seitennamen weglassen und einfach den Gruppennamen gefolgt von einem Punkt ([[Foo.]]) oder einem Schrägstrich ([[Foo/]]) verwenden.
Du kannst die voreingestellte Suchreihenfolge für den eingegebenen Seitennamen mit der Variable
in der Datei $PagePathFmt
config.php
ändern, z.B.
$PagePathFmt = array('$Group.$1','$1.$DefaultName','$1.$1','$DefaultGroup.$1','Profiles.$1');
wobei "$1" der angeforderte (eingegebene) Seitenname ist.
Es ist zu beachten, dass der abschließende Punkt (oder Schrägstrich) erforderlich ist, damit der Verweis auch unzweifelhaft auf die angegebene Gruppe verweist. Wenn der Punkt (oder Schrägstrich) weggelassen wird, kann der Verweis auch als Verweis auf eine existierende (oder neue) Seite in der aktuellen Gruppe interpretiert werden (nämlich wenn die neue Gruppe oder ihre Standardseite nicht existieren). Diese Formatierungsanweisung (abschließender Punkt oder Schrägstrich) wurde in Version 2.1.7 eingeführt.
Untergruppen? Unterseiten?
Nein, es existieren keine Unterseiten. Den Grund dafür hat Pm in Hierarchische Gruppen? beschrieben; kurz gesagt: es gibt keine gute Verweissyntax für Unterseiten. Falls ein Verweis in der Form [[A.B.C]]
verwendet wird, so interpretiert dies PmWiki nicht als Seite "B.C" in der Gruppe "A", sondern als Seite "C" in der Gruppe "AB", die sich von einer Gruppe "A" unterscheidet. Wikiadministratoren finden in den Kochbuch-Rezepten Cookbook:SubgroupMarkup und Cookbook:IncludeWithEdit Hinweise für die Entwicklung von Untergruppen und Unterseiten (nur auf Englisch verfügbar).
Wie verhindert man das Anlegen neuer Gruppen?
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 soll, so legt sie einfach der Administrator mit seinem Passwort an und erlaubt in GroupAttributes das Editieren.
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.
Das funktioniert auch mit der Standardseite der Gruppe:
$rc = FmtPageName('$Group.$DefaultName', $pagename); if (!PageExists($rc)) $DefaultPasswords['edit'] = $DefaultPasswords['admin'];
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 vertikalem Strich angefügt.
<< Wiki-Struktur | Dokumentations-Index | Kopfbereich der Gruppe >>
Wir kann ich die Anzeige der "Main"-Gruppe in URLs vermeiden?
Siehe Cookbook:Get Rid Of Main.
Warum funktioniert [[St. Augustin]] nicht als Verweis?
Weil der Verweis einen Punkt enthält, der für die Trennung von Gruppe und Seitennamen reserviert ist. Verwende StAugustin als Seitennamen und die Anweisung (:title St. Augustin:), um den Seitentitel mit Punkt darzustellen.
Wir kann ich eine Wikigruppe oder auch nur Group.RecentChanges löschen?
Normalerweise kann das nur der Administrator, weil er die Datei mit dem Inhalt der "RecentChanges" Seite löschen muß. Mit Cookbook:RecentChanges Deletion geht es auch so.
Übersetzung von PmWiki.WikiGroup
Originalseite auf PmWikiDe.WikiGroup - Backlinks
Zuletzt geändert:
PmWikiDe.WikiGroup am 10.09.2011
PmWiki.WikiGroup am 20.12.2013