Aktuelle Änderungen - Suchen:

PmWiki (deutsch)


Englisch:

PmWiki

Kategorien

Autoren (Grundlagen und Fortgeschritten) (deutsche Übersetzung der Seite PmWiki.Categories, Stand 2008-03-25)

Zweck von Kategorien

Kategorien ("tags") bieten die Möglichkeit, verwandte Seiten zu organisieren und zu finden. Kategorien sind standardmäßig in PmWiki 2 eingebaut. In den meisten Wikis erfordern sie keinen speziellen Code. Sie sind einfach eine nützliche Konvention. Die Idee ist, dass jede Seite, die in einen bestimmten Bereich fällt, einen Link zu einer gemeinsamen Seite haben sollte. Auf dieser Seite erhält man dann die Liste aller Seiten, die dorthin verweisen. Diese Seiten werden in der Category-Gruppe erstellt, darum werden diese Bereiche Kategorien (Category) genannt.

Kategorien verwenden

Kategorien werden in zwei Schritten erstellt: Der erste besteht darin, Links zur Kategorie hinzuzufügen. Die Kategorie Subject wird erstellt, indem auf einigen Seiten ein Link zu Category.Subject hinzugefügt wird. Wenn der Link einer Seite hinzugefügt wurde, kann sie als Teil der Kategorie Subjekt betrachtet werden.

Es gibt eine spezielle Auszeichnung für solche Links, die das Arbeiten mit Kategorien noch einfacher gestaltet: [[!Subject]] erstellt einen Link in Category.Subject. [[!Subject]] ist also eine Art Shortcut zur Seite Subject in der Category-Gruppe.

Wenn der Kategorie-Link dieser Seite angeklickt wird, wird man nun zuerst zur leeren Seite Category.Subject geleitet. Im zweiten Schritt wird das Verhalten der Seiten in der Kategorie Gruppe so geändert, dass sie eine Liste aller Seiten anzeigen, die Links zu Category.Subject enthalten. Das geht recht einfach:

  1. Die Seite Category.GroupFooter zum Bearbeiten öffnen
  2. Die Zeile (:pagelist link=Category.{$Name} list=normal:) hinzufügen
  3. Die Änderung speichern

Im Fußbereich jeder Seite der Category-Gruppe erscheint dann eine Liste von Links, die auf die jeweilige Seite verweist.

Diese Liste kann natürlich genausogut im Header erstellt werden, aber in der Regel wird man einen Beschreibung der jeweiligen Kategorie vor der Seitenliste einfügen wollen.

Da die normale PageList link-Auszeichnung verwendet wird, ist sie nicht nur in der Category-Gruppe zu verwenden. Sollen alle Seiten angezeigt werden, die der Kategorie Subjekt zugeordnet sind, kann auf jeder beliebigen Wiki-Seite (:pagelist link=Category.Subject list=normal:) verwendet werden.

Ebenso ist es nicht notwendig, dass eine "Category-Seite" sich in einer "Category-Gruppe" befinden muss - jede Seite kann eine Kategorie für Seiten definieren, die mit ihr in Verbindung stehen.

Der Administrator kann der Category-Gruppe auch einen anderen Namen zuordnen, indem er der Variable $CategoryGroup in der config.php einen anderen Gruppennamen zuweist.

Beispiel

Alle Seiten mit Filmkritiken erhalten einen Link [[!Filme]]. Auf der Seite Category.Filme werden diese Seiten automatisch aufgelistet.

Autoren (Fortgeschritten)

Verschachtelung von Kategorien

Kategorien haben noch größeres Potential, denn Category.*-Seiten können selbst in Kategorien enthalten sein! Hier ein hervorragendes Beispiel von John Rankin, gegeben seien drei Filme, die jeweils verschiedenen Genres und Jahren zugeordnet sind:

Film.ShaunOfTheDead   [[!Horror]] [[!Comedy]] [[!2003]]
Film.InMyFathersDen   [[!Drama]] [[!2004]]
Film.TheCorporation   [[!Documentary]] [[!2003]]

Jetzt können wir die Kategorien Category.Horror, Category.Comedy, Category.Drama, und Category.Documentary erstellen, und in jeder dieser Seiten verlinken wir nach [[!Genre]]. In Category.2003 und Category.2004 fügen wir einen Link zur Kategorie [[!Year]] ein.

Was passiert, wenn wir die Kategorie Category.Genre anzeigen? Wir erhalten Links zu "Comedy", "Drama", "Documentary" und "Horror", Weil sie in der Kategorie "Genre" enthalten sind. Wenn wir einem dieser Links folgen, sehen wir alle Filme dieser Kategorie. Ebenso sehen wir Links zu "2003" und "2004", wenn wir Category.Year anklicken, und dort jeweils die Liste der Filme aus diesem Jahr.

Schließlich können wir in Category.Genre und Category.Year einen Link nach [[!Category]] einfügen, das sie zu "Top-Level" Kategorien macht, die von der Seite Category.Category erreichbar sind. Damit haben wir schon diese Hierarchie:

Category.Category
    Category.Genre
        Category.Comedy
            Film.ShaunOfTheDead
        Category.Drama
            Film.InMyFathersDen
        Category.Documentary
            Film.TheCorporation
        Category.Horror
            Film.ShaunOfTheDead
    Category.Year
        Category.2003
            Film.ShaunOfTheDead
            Film.TheCorporation
        Category.2004
            Film.InMyFathersDen

Beachte, daß das keine "zwingende" Hierarchie ist - jede Seite oder Kategorie kann zugleich in mehreren Kategorien erscheinen. Zum Beispiel kann Category.Documentary sowohl in der Genre- als auch der "Top-Level" Kategorie enthalten sein.

Auf jeder Kategorieseite kann vor der eigentlichen Liste ein beschreibender Text stehen. Dort ist vielleicht auch ein Verweis auf andere Seiten oder Kategorien sinnvoll ("siehe auch..."). Zum Beispiel könnte in einem Tourismus-Wiki in der ''bed and breakfast"-Kategorie ein Verweis auf die "Selbstverpflegung"-Kategorie stehen.

Administratoren

Die "Innereien" der Kategorie-Auszeichnung

Wie schon erwähnt, sind alle nötigen Voraussetzungen für das Kategorie-Markup in aktuellen PmWiki-Versionen enthalten. Hier die Funktionsweise für den Interessierten. Die Verwendung der Gruppe "Category" als Aufbewahrungsort für alle Kategorien ist durch die Variable $CategoryGroup vorgegeben, und die spezielle [[!Subject]] Auszeichnung wird durch einen Aufruf der folgenden Markup()-Funktion aktiviert:

SDV($CategoryGroup,'Category');
Markup('[[!','<links','/\[\[!([^\|\]] ?)\]\]/',
  "<span class='category'>[[$CategoryGroup/$1]]</span>");

Eine gute Einteilung

Der schwierige Teil bei der Verwendung von Kategorien ist die Auswahl treffender Bezeichnungen. Ein Verwalter möchte sich vielleicht nach den Normen DIN 1463-1 bzw. dem internationalen Äquivalent ISO 2788 für einsprachige oder ISO 5964 für mehrsprachige Thesauri richten.

Zu klärende Fragen sind beispielsweise:

  • Kann ein existierendes Schema wiederverwendet werden
  • Anzahl der Hierarchien (nicht zu flach / zu tief, z.B. 3)
  • Anzahl der Kategorien pro Seite (nicht zu viel / wenig - z.B. 3)
  • Durchgängige Verwendung von Einzahl- ([[Merkur]] ist ein [[!Planet]]) oder Mehrzahlformen ([[Merkur]] ist in der [[!Planeten]]-Kategorie)
  • Begriffsklärungen und Benutzung von Phrasen ([[!Musikinstrumente]] und [[!Medizinische Instrumente]]) oder Cookbook:Subpage Markup ([[!Instrumente*Musik]] und [[!Instrumente*Medizin]])

Oder Du kannst die Benutzer die Kategoriebezeichnungen verwenden lassen, die sie für aussagekräftig halten. Mit der Zeit wird sich von selbst eine Terminologie ("Folksonomy") bilden.

<< Passwörter | Dokumentationsindex | Seitenlisten >>

Bearbeiten - Versionen - Druckansicht - Aktuelle Änderungen - Suchen
Zuletzt geändert am 25.03.2008 21:44 Uhr