# Característiques avançades

Aquest capítol apunta les característiques avançades de &quantaplus; i com usar-les.

## Eines &XML;

La versió 3.2 de &quantaplus; ve amb moltes característiques i eines &XML; noves. Les eines són úniques en la seva integració amb &quantaplus;. Totes aquestes eines usen Kommander com a interfície i libxml2 i libxslt com a rerefons del programa. La combinació d'ambdós fa d'aquestes ràpides, eficients, productives i completes.

### Eines de documentació de &kde;

&quantaplus; suporta dues de les eines de documentació principals de &kde;: `meinproc` i `checkXML`.

#### `meinproc`

Qualsevol que hagi treballat amb la documentació de &kde; coneix `meinproc` i el superb que és. Bé, doncs doneu-li una oportunitat a una gran interfície gràfica. No cal tornar a un intèrpret de comandaments. Simplement feu clic sobre la icona que sembla un processador i ja està!

Carpeta de treball actual

- Aquesta aplicació espera que estigui present en la carpeta un fitxer `index.docbook`. Si `index.docbook` està en la carpeta de treball actual, simplement deixeu marcat Carpeta de treball actual. Si no ho està, desmarqueu Carpeta de treball actual i indiqueu la carpeta que voleu processar en el camp Altra carpeta.

Els fitxers de sortida són situats en la mateixa carpeta que els fitxers font. Tots els fitxers &HTML; seran eliminats cada vegada que s'executi `meinproc`.

#### `checkXML`

Altra vegada, qualsevol que hagi treballat amb la documentació de &kde; coneix aquesta útil aplicació. De nou, &quantaplus; proveeix una petita i alhora gran interfície gràfica.

Carpeta de treball actual

- Si el fitxer que està obert actualment és `index.docbook`, simplement deixeu marcat Carpeta de treball actual. Si no, desmarqueu Carpeta de treball actual i indiqueu la carpeta en la que es trobi `index.docbook`.

##### Sortida

Si hi ha sortida, llavores el vostre fitxer no és vàlid. Si us plau, corregiu els errors que informi i proveu-ho una altra vegada.

### Validació &XML;

&quantaplus; disposa d'una gran eina de validació &XML;, la qual usa com a programa de rerefons `xmllint`.

Fitxer actual

- Si el fitxer que es validarà te actualment el focus en &quantaplus;, simplement deixeu marcat Fitxer actual. Si no, desmarqueu Fitxer actual i escolliu el fitxer a validar des del selector de fitxers Un altra fitxer.

Comprovar si està ben format

- Si tan sols voleu saber si el fitxer està ben format, feu clic sobre la caixa de selecció Tan sols comprovar si estan ben formats.

&URI; de definició

- Si esteu usant una &DTD; i s'especifica en el fitxer &XML;, llavores seleccioneu la &DTD; (interna) (per omissió), d'altra manera seleccioneu la &DTD; (externa) i localitzeu la &DTD; amb el selector de fitxers de la &URI; de definició. Es necessiten tan l'esquema &W3C; &XML; com la validació RelaxNG per a ser definit externament mitjançant el selector de fitxers &URI; de definició.

### Processament &XSL;

Sí, &quantaplus; també disposa d'una eina de processament &XSL;! Aquesta usa l'eina `xsltproc` proveïda amb libxml2.

Fitxer actual

- Si el fitxer a processar te el focus en &quantaplus;, llavores simplement deixeu marcat Fitxer actual. Si no és així, desmarqueu Fitxer actual i escolliu el fitxer a processar des del selector Un altra fitxer.

Full d'estil

- Selecciona el fitxer &XSL; que usareu.

Nom del fitxer de sortida

- Indiqueu el nom de fitxer que voleu per al fitxer resultant. Per omissió, el fitxer de sortida es situa a la vostra carpeta inici.

Aquesta aplicació manca de flexibilitat. Ho sentim. Intentarem fer-ho millor la propera vegada.

## Usar els connectors

### Què és un connector?

&quantaplus; pot carregar connectors, els quals són KParts. L'entorn de treball KPart és un altra dels potents entorns de &kde;. Una KPart és un contenidor de funcionalitat relativament petit i reutilitzable. Permet als desenvolupadors de &kde; basar-se en el treball d'altres programadors. Un exemple d'això és el mateix &quantaplus;. L'editor &quantaplus; usa la KPart de &kate;. La KPart de &kate; ja disposa de tota la funcionalitat que necessita &quantaplus;, com el ressaltat de la sintaxi. En integrar-la amb &quantaplus;, els desenvolupadors de &quantaplus; es poden permetre centrar la seva feina en el que podria fer &quantaplus;, en comptes de tenir que afrontar els molts problemes que duria l'escriptura des de cero d'una KPart/component editor.

Els connectors que carrega &quantaplus; poden no tenir res a veure amb el propi &quantaplus;. Això el fa un sistema de connectors molt potent. Podeu beneficiar-vos de funcionalitats extres i no heu d'esperar a que algú les integri en &quantaplus;! Els connectors es poden carregar dintre d'un nombre d'elements del &GUI;. Més endavant se'n parla.

### Comprendre el diàleg Edita connector

Per a instal·lar un connector o una KPart es fa des del menú Connectors Edita . Això farà aparèixer el següent diàleg:

El diàleg Edita connector.

Aquest diàleg us permet gestionar tots els connectors definits i afegir-n'hi de nous. Aquí es descriu cada element del &GUI;:

Rutes de recerca

- Aquí podeu completar una patró de recerca. En afegir un connector sense Localització, &quantaplus; cercarà en aquestes rutes per a trobar-lo.

Afegeix

- Farà aparèixer un diàleg que us permetrà afegir un connector nou.

Configura

- Us permet canviar les preferències d'un connector en particular.

Elimina

- Elimina el connector que estigui actualment seleccionat.

Refresca

- Refresca el contingut del diàleg.

Consulteu configure-plugins per a saber més quant als connectors.

## Equip de desenvolupament

Sovint hi ha més d'una persona treballant en el projecte, i hi ha algun tipus de relació jeràrquica entre els membres de l'equip. &quantaplus; admet la noció de membres de l'equip, i es pot configurar en el diàleg &Maj;F7 Projecte Propietats del projecte .

El diàleg d'edició de membres de l'equip

Les entrades Nom i Correu electrònic s'expliquen per si mateixes. Sobrenom és l'àlies de l'usuari i s'usa com a identificador únic.

Paper especifica el paper del membre en el projecte i pot ser un dels següents:

- Líder de l'equip

- Líder del subprojecte

- Líder de la tasca

- Membre

Tasca: És una descripció de la tasca assignada a aquest membre.

Subprojecte: Podeu seleccionar una llista de subprojectes. Els subprojectes es poden crear i configurar fent clic sobre el botó Edita els subprojectes. Cada subprojecte disposa d'un nom visible d'usuari i una entrada de localització, aquesta última indicant una ruta relativa cap a un directori en l'arbre del projecte. Això vol dir que un subprojecte és un directori sota el projecte principal. Per exemple, el projecte principal pot ser el lloc web de la vostra empresa, i un subprojecte podria ser el lloc web de la intranet, localitzat sota la carpeta `intranet` en el projecte.

Un membre pot tenir més d'un paper en el projecte, com per exemple líder de l'equip i líder del subprojecte.

L'usuari haurà de seleccionar-se a si mateix des de la llista de membres de l'equip. Es pot fer seleccionant un membre de l'equip des de la llista i prement el botó Estableix a mi mateix. El membre actualment seleccionat (la vostra identitat) apareixerà en negreta al darrera del text Vos sou:.

Els sobrenoms i la definició de la vostra pròpia identitat és important en relació a la missatgeria i les anotacions. Consulteu annotations per aprendre més a sobre de les anotacions.

A més de seguir la pista del vostre equip, hi ha un avantatge més si s'estableixen els membres de l'equip: Podeu configurar un esdeveniment per a informar als líders de l'equip que ha succeït quelcom. Hi ha més informació a sobre de com fer-ho en event-actions.

## Accions d'esdeveniments

Les accions d'esdeveniments es produeixen quan succeeix algun esdeveniment en el projecte. Un exemple seria registrar quan s'obre i es tanca el projecte, de manera que pugueu revisar amb posterioritat quan s'ha treballat en el projecte, o enviar un correu quan un fitxer sigui desat, o s'afegeixi un fitxer al CVS amb l'ajuda d'un script. I la llista continua.

En la pàgina Configuració dels esdeveniments del diàleg &Maj;F7 Projecte Propietats del projecte podeu crear, editar i eliminar accions d'esdeveniment.

El diàleg edició dels esdeveniments

Les entrades en el diàleg són:

Esdeveniment

- L'acció es porta a terme quan succeeix l'esdeveniment seleccionat de la llista. Els noms dels esdeveniments s'expliquen per si mateixos.

Acció

- El tipus d'acció que es porta a terme. Les opcions possibles són:

  Acció que no sigui d'script

- Una acció que no sigui un script definit per l'usuari . Podeu veure en user-actions algunes accions d'usuari.

  Nom de l'acció especifica l'acció a executar quan succeeixi l'esdeveniment.

Envia un correu electrònic

- Quan succeeix l'acció s'envia un correu-e al destinatari seleccionat en la llista Destinatari. El destinatari pot ser un equip o un líder del subprojecte. A team-members podeu veure com definir aquests líders.

Registra esdeveniment

- L'esdeveniment es registra en un fitxer. Els arguments per aquesta acció són:

  Fitxer de registre

- El nom de fitxer, amb la ruta completa.

Detall

- Quanta informació ha de contenir el registre.

Comportament

- Si crear o sobreescriure el fitxer de registre existent, o si afegir al que ja hi ha el nou esdeveniment que es registri.

Acció d'script

- Una acció d'script definida per l'usuari. Consulteu user-actions per a les accions d'usuari.

  Nom de l'acció especifica l'acció a executar quan succeeixi l'esdeveniment.

Les demés entrades depenen del tipus d'Acció tal i com s'ha descrit.

## Anotacions

Les anotacions són comentaris especials en els documents. Es diferencien dels comentaris normals en els següents aspectes:

- La informació la recopila Quanta i es mostra en la vista de l'eina Anotacions.

- La informació es pot dirigir a un membre de l'equip

Introduir anotacions és simple. Podeu usar l'entrada Anota des del menú de context de l'editor o introduir la clau @annotation en una àrea de comentaris, seguida del text de l'anotació.

### Exemple d'anotació en XML

    <!-- @annotation És possible que aquest codi sigui incorrecte. -->

    <!-- @annotation
     Anotació amb
     diverses línies.
    -->

### Exemple d'anotació en PHP

    /* @annotation
    Usar els comentaris de PHP quan l'anotació estigui en una àrea PHP.
    */

Les anotacions es poden dirigir a membres específics del vostre equipo. En aquest cas, la sintaxi serà @annotation(sobrenom) o @annotation(paper), a on sobrenom serà l'àlies del membre de l'equip, mentre que paper serà un rol del projecte d'entre els següents ítems:

- team leader (líder de l'equip)

- task leader (líder de la tasca)

- subproject leader (líder del subprojecte)

Els líders de les tasques i dels subprojectes hauran d'estar seguits pel corresponent nom de tasca o de subprojecte, com es mostra en els següents exemples.

### Crear una nota per a un integrant de l'equip amb el sobrenom pere

    <-- @annotation(pere) Pere, si us plau, fés una ullada a això. Jordi -->

### Informar al líder de l'equip

    <-- @annotation(team leader) Això és molt important per a l'equip. -->

### Informar al líder del subprojecte PHP

    // @annotation(subproject leader:PHP) Què us sembla això?

Els sobrenoms i els noms dels papers no són sensibles a majúscules, però els espais junt als parèntesis i els dos punts : fan que les anotacions no siguin vàlides.

Teniu més informació quant als membres dels equips, papers i sobrenoms en team-members

Les anotacions que es troben en el projecte es poden inspeccionar en la vista Anotacions. Consta de tres pestanyes:

Fitxer actual

- L'anotació que es troba en el fitxer actual.

Per a vos

- Anotacions del projecte dirigides a vos. Les entrades s'agrupen per fitxers.

Tots els fitxers

- Les anotacions que es troben a tots els fitxers del projectes, agrupades per fitxers.

Es realitza una recerca de les anotacions en carregar el projecte i el fitxer per a fer modificacions externes. D'aquesta manera, es poden reconèixer les anotacions que se fan des de fora de &quantaplus;. Atès que el procés de recerca pot dur algun temps, el diàleg amb la informació sobre les noves anotacions que es refereixin a vos poden aparèixer alguns segons després de carregar el projecte.
&debugging-quanta;