# Avancerede funktioner

Christopher
Hornbaker

    chrishornbaker@earthlink.net

&erik.kjaer.pedersen.role;

# 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

Mathieu
Kooiman

    quanta@map-is.nl

&erik.kjaer.pedersen.role;

## 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 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 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 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 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 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 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 .

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;