Attribute
Attribute für Seiten
Zugriffreche und Passwörter (Seitenattribute)
Standardmäßig steuern Attribute in PmWiki, wer eine Seite lesen, bearbeiten oder verwalten darf.
- Attribut-Seite aufrufen: Hängen Sie ?action=attr an die URL der gewünschten Seite an
- z. B.: DeineSeite?action=attr
- Rechte vergeben: Sie können separate Passwörter für read (Lesen), edit (Bearbeiten), upload (Dateien hochladen) und attr (Attribute ändern) festlegen.
- Rechte löschen: Tippen Sie das Wort clear in das Passwortfeld ein, um ein bestehendes Passwort zu entfernen.
Seitenvariablen (Metadaten als Attribute)
Wenn Sie strukturierte Daten oder "Attribute" für eine Seite hinterlegen möchten, nutzt man in PmWiki sogenannte Seitenvariablen (Page Variables).
- Definition auf der Seite: Sie können Variablen direkt im Text im Format (:Variable:Wert:) definieren.
- Beispiel: (:Status:In Bearbeitung:) oder (:Prioritaet:Hoch:)
- Abfragen auf derselben Seite: Nutzen Sie das Format {$:Variable} .
- Beispiel: Status via Attribut auf "In Bearbeitung" setzen -->
--> Beispiel: Der aktuelle Status ist: In Bearbeitung.
- Beispiel: Status via Attribut auf "In Bearbeitung" setzen -->
- Abfragen von anderen Seiten: Nutzen Sie das Format {Gruppe.Seitename$:Variable} .
Bedingte Formatierung basierend auf Attributen
Sie können den Inhalt einer Seite dynamisch anpassen, je nachdem, welche Attribute oder Variablen gesetzt sind.
- Syntax: (:if NameVariable Wert:)
- Beispiel:
(:if equal {$:Status} "Abgeschlossen":) An dieser Seite muss nicht mehr gearbeitet werden. (:if:)
Seitenlisten nach Attributen filtern
Mit dem "(":pagelist:)-Befehl können Sie Seiten auflisten, die bestimmte Variablen-Attribute erfüllen.
- Syntax: "(":pagelist $:Variable=Wert:)
- Beispiel: "(":pagelist $:Storytyp=Gedicht:) zeigt alle Seiten an, bei denen das Attribut "Storytyp" auf "Gedicht" gesetzt ist.
- Beispielaufruf:
Seitenlisten nach Attributen über Teilstring filtern
- Beispiel 1
- Gesetztes Attribut --> (:keywords: projekt, pmwiki, attribute, anleitung:)
- Aufruf über --> (:pagelist $:keywords =*projekt* fmt=#title:)
- Ergebnis:
- Beispiel 2
- Gesetztes Attribut --> (:tags: Auto, Motorrad, Fahrrad:)
- Abfrage über --> (:pagelist $:tags=*Motorrad* fmt=#title:)
- Ergebnis:
- Beispiel Abfrage nach zwei Attributen:
- Gesetzte Attribute --> siehe oben Attribut keywords und Attribut tags
- Abfrage über --> (:pagelist $:keywords=*projekt* $:tags=*Motorrad* fmt=#title:)
- Ergebnis:
- Beispiel Ausschließen von Attributwerten (Negation):
- Wenn das keyword "pmwiki" aber das Attribut tags nicht "Luftschiff" sein soll, benutzt man das Minuszeichen "-"
- Gesetzte Attribute --> siehe oben Attribut keywords und Attribut tags
- Abfrage über --> (:pagelist $:keywords=*projekt* $:tags=-*Luftschiff* fmt=#title:)
- Ergebnis:
Attribute für Gruppen
In PmWiki können Berechtigungen (Attribute) sowohl für das gesamte Wiki, für einzelne Seiten als auch für ganze Wiki-Gruppen festgelegt werden. Wenn Sie Attribute für eine Gruppe definieren, gelten diese automatisch für alle Seiten innerhalb dieser Gruppe (sofern sie nicht auf einer einzelnen Seite überschrieben werden).
Um die Attribute für eine Gruppe zu bearbeiten, rufen Sie die spezielle Seite Gruppenname.GroupAttributes in Ihrem Browser auf (ersetzen Sie Gruppenname durch den tatsächlichen Namen Ihrer Gruppe).
Wichtige PmWiki-Attribute
Nach dem Aufrufen von GroupAttributes (und der Passworteingabe) können Sie folgende Kernberechtigungen festlegen:
- read: Bestimmt, wer die Seiten der Gruppe lesen darf.
- edit: Bestimmt, wer die Seiten der Gruppe bearbeiten darf.
- attr: Bestimmt, wer die Attribute der Gruppe (oder der Seiten darin) ändern darf.
- upload: Bestimmt, wer Dateien (Bilder, Dokumente) in dieser Gruppe hochladen darf.
Optionen für die Rechtevergabe
In die Felder der jeweiligen Attribute können Sie verschiedene Werte eintragen:
- Passwort: Ein klares Textpasswort vergeben (jeder mit diesem Passwort erhält Zugriff).
- id:Benutzername: Erlaubt den Zugriff für ein bestimmtes Mitglied (z. B. id:alice).
- @Gruppe: Erlaubt den Zugriff für eine über AuthUser definierte Benutzergruppe (z. B. @redakteure).
- nopass: Schaltet das Attribut komplett frei (jeder darf z. B. lesen oder editieren).
- clear: Löscht das Gruppenpasswort und vererbt stattdessen wieder das globale Wiki-Passwort.
Vererbungshierarchie in PmWiki
PmWiki prüft Rechte immer von der spezifischsten zur allgemeinsten Ebene:
- Einzelseite (Gruppe.SeitenName?action=attr) – Höchste Priorität.
- Wiki-Gruppe (Gruppe.GroupAttributes) – Gilt für die Gruppe, wenn auf der Einzelseite nichts definiert ist.
- Globale Konfiguration (local/config.php) – Gilt, wenn weder auf Seiten- noch auf Gruppenebene etwas definiert ist.