# Avancerede funktioner

Dette kapitel giver en oversigt over de avancerede funktioner i &quantaplus;, og hvordan de bruges.

## &XML;-værktøjer

Udgave 3.2 af &quantaplus; har mange nye XML-værktøjer og funktioner med sig. Værktøjerne er unikke i deres integration med &quantaplus;. Alle værktøjer bruger Kommander som grænseflade, med libxml og lixslt til baggrundsbehandling. Denne kombination giver hurtige, effektive, produktive og komplette værktøjer.

### &kde;-dokumentationsværktøj

&quantaplus; understøtter &kde;'s to hoved-dokumentationsværktøjer: `meinproc` og `checkXML`.

#### `meinproc`

Alle som har arbejdet med dokumentation af &kde; kender til `meinproc`, og hvor fantastisk den er. Nu bliver det yderligere en smule bedre, med en udmærket grafisk grænseflade. Du behøver ikke længere bruge en terminal, klik blot på ikonen som ser ud som en processor, så er du klar!

Nuværende arbejdsmappe

- Dette program forventer at en fil med navnet `index.docbook` findes i en mappe. Hvis `index.docbook` findes i denne arbejdsmappe, så lad Nuværende arbejdsmappe forblive markeret. Hvis den ikke gør det, så afmarkér Nuværende arbejdsmappe og indskriv mappen som du vil behandle i feltet Anden mappe.

Uddatafiler placeres i samme mappe som kildekodefilerne. Alle &HTML;-filer fjernes hver gang `meinproc` køres.

#### `checkXML`

Igen, alle som har arbejdet med dokumentation af &kde; kender til dette hjælpsomme program. &quantaplus; tilbyder også her en udmærket lille grafisk grænseflade.

Nuværende arbejdsmappe

- Hvis den åbne fil er `index.docbook`, så lad Nuværende arbejdsmappe forblive markeret. Hvis den ikke er det, så afmarkér Nuværende arbejdsmappe og indskriv mappen hvor `index.docbook` kan findes.

##### Uddata

Hvis der bliver nogen udskrift er din fil ugyldig. Ret de rapporterede fejl og forsøg igen.

### &XML;-validering

&quantaplus; har et udmærket &XML;-valideringsværktøj, som bruger baggrundsprogrammet `xmllint`.

Denne fil

- Hvis filen som skal valideres for har fokus øjeblikket &quantaplus;, så lad helt enkelt Nuværende fil være markeret. Hvis den ikke er det, afmarkér Nuværende fil og vælg filen som skal valideres i filvælgeren Anden fil.

Kontrol af velformateret

- Hvis du kun vil vide at en fil er velformateret, så markér afkrydsningsfeltet Kontrollér kun velformateret.

Definition &URI;

- Hvis du bruger en &DTD;, og den specificeres i &XML;-filen, vælg &DTD; (intern), standardvalget, ellers vælg &DTD; (ekstern) og find &DTD;'en med filvælgeren for definitionens internet-adresse. Både til validering af &W3C; &XML; schema og RelaxNG kræves ekstern definition via filvælgeren for Definitionens internet-adresse.

### Behandling af &XSL;

Ja, &quantaplus; har også et &XSL;-behandlingsværktøj! Det bruger værktøjet `xsltproc` som kommer med libxml2.

Denne fil

- Hvis filen som skal behandles for øjeblikket har fokus i &quantaplus;, lad så helt enkelt Nuværende fil være markeret. Hvis den ikke er det, afmarkér Nuværende fil og vælg filen som skal behandles i filvælgeren Anden fil.

Stilskabelon

- Vælg &XSL;-filen som du vil skal bruges.

Uddatafilnavn

- Indtast navnet som du ønsker at resultatfilen skal kaldes. Filen skrives normalt i din hjemmemappe.

Dette program mangler fleksibilitet. Desværre, vi skal forsøge at gøre det bedre næste gang.

## Brug af plugin

### Hvad er et plugin?

&quantaplus; kan indlæse plugin, som er KParter. Mekanismen med KParter, er en meget kraftfuld funktion i &kde;. En KPart er et relativt lille, genbrugbar beholder for en funktion. Den gør det muligt for &kde;-udviklere at bygge videre på andre programmørers arbejde på en enkel måde. Et eksempel på dette er &quantaplus; selv. Editoren som &quantaplus; bruger er &kate;'s KPart. &kate;'s KPart har allerede en mængde funktioner som &quantaplus; behøver, såsom syntaksfremhævning. Ved at integrere den i &quantaplus;, blev det muligt for &quantaplus;' udviklere at fokusere på hvad &quantaplus; skulle kunne gøre, i stedet for at håndtere de mange problemer der ville opstå ved at udvikle en ny editorkomponent fra begyndelsen.

Plugin som &quantaplus; indlæser, har måske ikke noget overhovedet at gøre med &quantaplus; selv. Det gør det til et meget kraftfuldt system. Du kan drage nytte af ekstra funktioner, og behøver ikke vente på at nogen integrerer dem i &quantaplus;. Plugin kan indlæses til et antal forskellige grafiske elementer. Mere om dette nedenfor.

### Forstå dialogen til at redigere plugin

For at installere et plugin eller et delprogram, bruges menuen Plugin Redigér. Det får følgende dialog frem:

Dialogen til at redigere plugin.

Denne dialog lader dig håndtere alle de definerede plugin, og lader dig tilføje nye. Vi beskriver hvert element i grænsefladen her.

Søgestier

- Her kan du udfylde en søgesti. Når du tilføjer en plugin uden en Plads, søger &quantaplus; i denne søgesti for at finde dit plugin.

Tilføj

- Dette viser en dialog som lader dig tilføje et nyt plugin.

Indstil

- Dette lader dig ændre indstillinger for et bestemt plugin.

Fjern

- Fjerner det markerede plugin.

Opdatér

- Opdaterer dialogens indhold.

Læs configure-plugins for at lære mere om plugin.

## Teamudvikling

Ofte arbejder flere personer på et enkelt projekt og der er et eller andet hierakisk forhold mellem disse personer. &quantaplus; understøtter begrebet team-medlemmer og de kan indstilles i dialogen for &Shift;F7 Projekt Projektegenskaber .

Dialogen Team-medlem-editor

Indgangene Navn, E-mail er selvforklarende. Alias er brugerens alias og fungerer som en entydig identifikator.

Rolle angiver medlemmets rolle i projektet og kan være en af følgende:

- Team-leder

- Delprojekt-leder

- Opgave-leder

- Almindeligt medlem

Opgave er en beskrivelse af en opgave tildelt dette medlem.

Del-projekt: du kan vælge en liste af del-projekter. Del-projekter kan indstilles og oprettes ved at trykke på knappen Redigér del-projekter. Hvert del-projekt har et synligt brugernavn og placering. Placeringen er en relativ sti til mappen under projekt-træet. Det betyder at del-projektet er en mappe under hovedprojektet. F.eks. kan hovedprojektet være dit firmas websted, hvor et del-projekt kan være webstedet for firmaets intranet, placeret i mappen `intranet` i hovedprojektets mappe.

Et medlem kan have mere end en rolle i projektet, som f.eks. både team-leder og del-projektleder.

En bruger bør vælge hvem i listen med gruppemedlemmer han selv er. Dette er muligt ved at markere et gruppemedlem i listen og trykke på knappen Angiv som dig selv. Medlemmet som for øjeblikket er markeret (din identitet) vises med fede typer efter teksten Du er:.

Aliasser og at indstille dig selv er vigtigt angående meddelelser og noteringer. Se annotations for at lære dig mere om noteringer.

Udover at holde styr på dit team, er der flere fordele ved at indstille team-medlemmer: du kan sætte en begivenhed til at informere team-ledere om hvornår noget skal ske. Se i event-actions hvordan man gør.

## Begivenhedshandlinger

Begivenhedshandlinger er handlinger der udføres når der sker en eller anden begivenhed i projektet. Et eksempel kunne være at gemme oplysninger om hvornår projektet blev åbnet og lukket, så der senere kan foretages en granskning af hvor meget hvert medlem arbejdede på det, eller afsendelse af en e-mail når en fil bliver gemt eller tilføjet til CVS vha. et script når filen tilføjes projektet og denne liste kan fortsættes.

På siden Begivenheds-indstillinger i &Shift;F7 Projekt Projektegenskaber -dialogen, kan du oprette, redigere og slette begivenhedshandlinger.

Begivenhedseditor-dialogen

Indgangene i dialogen er:

Begivenhed

- handlingen udføres når begivenheden fra listen sker. Navnene er selvforklarende.

Handling

- den udførte handlings-type. Mulighederne er:

  Non-script-handling

- en handling der ikke er en brugerdefineret scripthandling. Se user-actions for brugerhandling.

  Handlingsnavn specificerer handlingen der skal udføres nå begivenheden sker.

Send e-mail

- en e-mail bliver sendt til modtageren valgt i Modtager-listen, når handlingen sker. Modtageren kan være et team eller en del-projektleder. Se team-members for definering af sådanne ledere.

Log begivenhed

- begivenheden gemmes i en fil. Argumenterne til denne handling er:

  Logfil

- filnavnet med den fulde sti

Detaljer

- Hvor meget information loggen skal indeholde

Opførsel

- Om der i eksisterende filer skal oprettes/overskrives eller tilføjes en nye log-begivenhed.

Script-handling

- en brugerdefineret script-handling. Se user-actions for brugerhandling.

  Handlingsnavn specificerer handlingen der skal udføres nå begivenheden sker.

De andre indgange afhænger af Handlingstypen som beskrevet før.

## Noteringer

Noteringer er specielle kommentarer i dokumenterne. De adskiller sig fra almindelige kommentarer i følgende henseender:

- informationen samles ind af Quanta og vises i værktøjsvisningen Noteringer.

- informationen kan adresseres til et gruppemedlem

At indtaste noteringer er simpelt. Du kan enten bruge tilvalget Notering i editorens sammenhængsafhængige menu, eller skrive nøgleordet @annotation i et kommentarområde fulgt af noteringens tekst.

### Noteringseksempel i XML

    <!-- @annotation Det er muligt at denne koden er forkert. -->

    <!-- @annotation
     Flerlinje
     notering.
    -->

### Noteringseksempel i PHP

    /* @annotation
    Brug PHP-kommentarer ved noteringer i et PHP-område
    */

Noteringer kan adresseres til et særligt medlem i gruppen. Syntaksen i dette tilfælde er @annotation(alias) eller @annotation(rolle), hvor alias er gruppemedlemmets alias, mens rolle er en projektrolle fra følgende liste:

- gruppeleder

- opgaveleder

- delprojektleder

Opgave- og delprojektledere skal følges af tilsvarende opgave- eller delprojektnavn, som vist i eksemplet nedenfor.

### Lav en note til et gruppemedlem med alias erik

    <-- @annotation(eric) Erik, kig lige på dette. Andreas -->

### Informér gruppelederen

    <-- @annotation(gruppeleder) Dette er meget vigtigt for gruppen -->

### Informér PHP-delprojektlederen

    // @annotation(delprojektleder:PHP) Hvad mener du om det?

Aliasser og rollenavne er ikke versalfølsomme, men mellemrum omkring parenteser og : gør noteringen ugyldig.

Mere om gruppemedlemmer, roller og aliasser findes under team-members.

Noteringerne som findes i projektet kan inspekteres i visningen Noteringer. Den består af tre fanebalde:

Nuværende fil

- Noteringerne som findes i den nuværende fil.

Til dig

- Noteringer i projektet adresserede til dig. Indgangene grupperes pr fil.

Alle filer

- Noteringerne som findes i alle projektfiler, grupperede ifølge fil.

Noteringerne gennemsøges efter eksterne ændringer ved indlæsning af projekt og filer. På den måde genkendes til og med en notering som nogen lægger til udenfor &quantaplus; . Eftersom søgningen kan tage en vis tid, kan informationsdialogen om nye noteringer adresserede til dig dukke op nogle sekunder efter at projektet er indlæst.
&debugging-quanta;