Categories

autores (intermedi)

El propòsit de les categories

Les categories (també conegudes com a "etiquetes" o en anglès "tags") serveixen per a organitzar i trobar pàgines relacionades. Les categories venen implementades per defecte amb PmWiki 2, i a la majoria de wikis no cal afegir cap codi o marques especials, només són una convenció útil. La idea és que tota pàgina que cau dintre d'un àrea temàtica particular hauria de tenir un enllaç a una pàgina compartida que conté enllaços a altres pàgines d'aquesta mateixa temàtica. Aquestes pàgines compartides es creen al grup Category, i per això aquestes àrees temàtiques s'anomenen "categories".

L'ús de les categories

Començar a usar categories només requereix d'un pas: afegir enllaços a cada categoria. Una categoria que s'anomeni Tema es crea afegint un enllaç a Category.Tema en qualsevol pàgina. Quan l'enllaç s'ha afegeit a una pàgina, podem dir que la pàgina és a la categoria "Tema".

Hi ha una marca especial per a crear aquestos enllaços de manera apropiada: [[!Tema]] crearà un enllaç a Category.Tema. Per tant es podria dir que [[!Tema]] és una especie de drecera a la pàgina Tema del grup Category.

Amb PmWiki s'inclou un fitxer Category.GroupFooter que conté la línia (:pagelist link={*$FullName} list=normal:) de manera que sempre que es mostri una pàgina de categoria, veurem una llista de les pàgines que la referèncien. Com qualsevol de les pàgines de wikilib.d, podeu modificar-la i no serà sobreescrita per les actualitzacions.

Fixeu-vos que la directiva per a llistar pàgines que s'usa a Category.GroupFooter, es pot afegir a Category.GroupHeader en el seu lloc, obtenint un resultat similar; podeu usar un o altre depenent de si voleu el llistat de pàgines a dalt o a baix dels continguts que afegiu a les pàgines de categoria individuals (editables com qualsevol altra).

Com que es fa servir la marca link= de la directiva Llistats de pàgines, podeu repetir la construcció on sigui necessari. Si voleu mostrar totes les pàgines que pertanyin a Tema, podeu usar arreu la sentència (:pagelist link=Category.Tema list=normal:).

Del mateix mode, no és necessari que una "pàgina de categoria" estigui al grup Category -- qualsevol pàgina pot definir una "categoria" de pàgines que l'enllacen.

Una administradora pot substituir el nom inicial del grup de categories "Category" per un altre, definint la variable $CategoryGroup al fitxer config.php. (Un canvi d'aquest estil s'hauria de fer durant la configuració inicial d'un wiki; fer el canvi a un wiki amb continguts pot donar problemes amb els llistats de pàgines a no ser que es torni a desar cada pàgina que està en una categoria.)

Una autora pot fer un enllaç a una categoria sense afegir-la a la categoria usant [[ {Category.Tema$PageUrl} | Tema ]]. Així es crearà un enllaç com el que es crearia amb [[!Tema]] sense que la pàgina sigue considerada part de la categoria Tema.

Recapitulació

Afegint l'enllaç [[!Tema]] a una pàgina, aquesta apareixerà llistada automàticament a Category.Tema (sempre que Category.GroupFooter mantingui la configuració per defecte). Així doncs, podeu crear una pàgina que crei automàticament un llistat en ordre alfabètic de totes les pel·lícules comentades al vostre wiki creant enllaços [[!Pel·lícules]] a cadascuna de les pàgines amb una pel·lícula; el llistat resultant es trobaria a Category.Pel·lícules .

autores (avançat)

Niuament de categories

Encara es pot traure més profit de les categories perquè les pròpies pàgines Category.* es poden col·locar a dintre de categories! Seguint un excel·lent exemple de John Rankin, suposem que tenim les següents pàgines de pel·lícules a les categories llistades a la part dreta:

Peli.DotzeHomesSensePietat [[!Drama]] [[!Crim]] [[!1957]]
Peli.ElSeteSegell   [[!Drama]] [[!Fantasia]] [[!1957]]
Peli.CapALaEternitat   [[!Documental]] [[!2010]]

Ara, podem crear Category.Drama, Category.Crim, Category.Fantasia, i Category.Documental, i a cadascuna d'aquestes pàgines posem [[!Gènere]]. A Category.1957 i Category.2010, hi possem [[!Any]].

Així, què veurem a la pàgina Category.Gènere? Enllaços a "Crim", "Drama", "Documental", i "Fantasia", perquè estan a la categoria Gènere. Quan cliquem en algun d'aquestos enllaços, veiem totes les pel·lícules d'una d'aquestes categories. Del mateix mode, si cliquem a Category.Any, veiem enllaços a "1957" i "2010", cadascun dels quals, al seu temps, mostra la llista de pel·lícules per a eixe any.

Per últim, a Category.Gènere i Category.Any podem ficar-hi [[!Categoria]], que les convertirà en les categories més altes a les quals hi podem arribar des de la pàgina Category.Categoria. Voila, com a resultat tenim una "jerarquia" instantània:

Category.Categoria
    Category.Gènere
        Category.Crim
            Peli.DotzeHomesSensePietat
        Category.Drama
            Peli.DotzeHomesSensePietat
            Peli.ElSeteSegell
        Category.Documental
            Peli.CapALaEternitat
        Category.Fantasia
            Peli.ElSeteSegell
    Category.Any
        Category.1957
            Peli.DotzeHomesSensePietat
            Peli.ElSeteSegell
        Category.2010
            Peli.CapALaEternitat

Tanmateix adoneu-vos-en que no és una jerarquia "estricta" --qualsevol pàgina o categoria pot aparèixer simultàniament a múltiples categories. Per exemple, Category.Documental podria pertànyer a Gènere i a la categoria de més alt nivell.

Cada pàgina de categoria pot tenir continguts abans del llistat de pàgines que hi pertanyen, per exemple, per a donar una descripció del que hi ha a la categoria. (O es pot deixar buid, que també va bé.) També pot contenir associacions amb pàgines relacionades (referències del tipus "vegeu també"). Per exemple, a un wiki sobre turisme, la categoria "mitja pensió" pot contenir una referència "vegeu també" a la categoria "amb menjars".

administradores (intermedi)

El funcionament intern de les categories

L'ús del grup Category com a magatzem per a totes les categories es determina definint la variable $CategoryGroup, i la marca especial [[!Tema]] s'activa cridant la funció Markup():

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

Trobar una bona estructura per a les categories

La part més complicada en l'ús de categories és triar un bon vocabulari. Les responsables del contingut poden seguir la Guia d'estil per al desenvolupament i establiment del thesauri monolingüe (ISO 2788-1986) i la Guia d'estil per al desenvolupament i establiment del thesauri multilingüe (ISO 5964-1985). Les qüestions que cal plantejar-se són:

  • si l'esquema existeix i es pot tornar a usar.
  • nombre de nivells als esquemes amb múltiples nivells (ni massa generals, ni amb massa profunditat -- p.ex. 3)
  • nombre de categories per pàgina (ni massa, ni massa poques -- p.ex. 3)
  • ús consistent del singular ([[Mercuri]] és un [[!planeta]]) o del plural ([[Mercuri]] és a la categoria [[!planetes]])
  • desambiguació i ús de frases ([[!instruments musicals]] i [[!instruments mèdics]]) o Cookbook:Subpage Markup ([[!Musicals*Instruments]] i [[!Mèdics*Instruments]])

O deixar que la gent usi aquells termes de categoria que li semblen més encertats. Amb el temps anirà apareixent un vocabulari (o "folksonomy").

Mostrar una llista de categories

Per a mostrar una llista de totes les categories es pot fer un llistat de les pàgines que hi ha al grup de categories. Per exemple la següent directiva mostrarà les pàgines que hi ha al grup Category, es convenient ficar-la a la pàgina Category.Category, o qualsevol altra pàgina:

(:pagelist group=Category list=normal fmt=#title:)

Però hi ha un problema: El fet d'afegir l'enllaç de categoria, tot i que si el seguim mostrarà el llistat corresponent, no crearà la pàgina amb la categoria!
Es pot afegir el següent codi al fitxer config.php per a que les pàgines de categoria es crein automàticament al grup 'Category':

$AutoCreate['/^Category\./'] = array('ctime' => $Now, 'text' => $page['text']);

Podeu canviar 'Category' amb el nom del vostre grup per a les categories. També podeu afegir més definicions per a més grups de categories, cosa que pot resultar útil si useu una recepta com Cookbook:Tagger que permet l'ús de diversos grups per a categories.

Vegeu també EditVariables#AutoCreate?



Traducció de PmWiki.Categories - Pàgina original a PmWikiCa.Categories - Retroenllaços