>Dette kapitel giver en oversigt over de avancerede funktioner i &quantaplus;, og hvordan de bruges. </para>
<sect1 id="xml-tools-3-2">
<title
>&XML;-værktøjer</title>
<para
>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 <application
>Kommander</application
> som grænseflade, med <application
>libxml</application
> og <application
>lixslt</application
> til baggrundsbehandling. Denne kombination giver hurtige, effektive, produktive og komplette værktøjer. </para>
<sect2 id="kde-db-3-2">
<title
>&kde;-dokumentationsværktøj</title>
<para
>&quantaplus; understøtter &kde;'s to hoved-dokumentationsværktøjer: <command
>meinproc</command
> og <command
>checkXML</command
>. </para>
<sect3 id="meinproc-3-2">
<title
><command
>meinproc</command
></title>
<para
>Alle som har arbejdet med dokumentation af &kde; kender til <command
>meinproc</command
>, 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! </para>
<variablelist>
<varlistentry>
<term
><guilabel
>Nuværende arbejdsmappe</guilabel
></term>
<listitem>
<para
>Dette program forventer at en fil med navnet <filename
>index.docbook</filename
> findes i en mappe. Hvis <filename
>index.docbook</filename
> findes i denne arbejdsmappe, så lad <guilabel
>Nuværende arbejdsmappe</guilabel
> forblive markeret. Hvis den ikke gør det, så afmarkér <guilabel
>Nuværende arbejdsmappe</guilabel
> og indskriv mappen som du vil behandle i feltet <guilabel
>Anden mappe</guilabel
>. </para>
</listitem>
</varlistentry>
</variablelist>
<note>
<para
>Uddatafiler placeres i samme mappe som kildekodefilerne. Alle &HTML;-filer fjernes hver gang <command
>meinproc</command
> køres. </para>
</note>
</sect3>
<sect3 id="checkxml-3-2">
<title
><command
>checkXML</command
></title>
<para
>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. </para>
<variablelist>
<varlistentry>
<term
><guilabel
>Nuværende arbejdsmappe</guilabel
></term>
<listitem>
<para
>Hvis den åbne fil er <filename
>index.docbook</filename
>, så lad <guilabel
>Nuværende arbejdsmappe</guilabel
> forblive markeret. Hvis den ikke er det, så afmarkér <guilabel
>Nuværende arbejdsmappe</guilabel
> og indskriv mappen hvor <filename
>index.docbook</filename
> kan findes. </para>
</listitem>
</varlistentry>
</variablelist>
<note>
<title
>Uddata</title>
<para
>Hvis der bliver nogen udskrift er din fil ugyldig. Ret de rapporterede fejl og forsøg igen. </para>
</note>
</sect3>
</sect2>
<sect2 id="xmlval-3-2">
<title
>&XML;-validering</title>
<para
>&quantaplus; har et udmærket &XML;-valideringsværktøj, som bruger baggrundsprogrammet <command
>xmllint</command
>. </para>
<variablelist>
<varlistentry>
<term
><guilabel
>Denne fil</guilabel
></term>
<listitem>
<para
>Hvis filen som skal valideres for har fokus øjeblikket &quantaplus;, så lad helt enkelt <guilabel
>Nuværende fil</guilabel
> være markeret. Hvis den ikke er det, afmarkér <guilabel
>Nuværende fil</guilabel
> og vælg filen som skal valideres i filvælgeren <guilabel
>Anden fil</guilabel
>. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Kontrol af velformateret</guilabel
></term>
<listitem>
<para
>Hvis du kun vil vide at en fil er velformateret, så markér afkrydsningsfeltet <guilabel
>Kontrollér kun velformateret</guilabel
>. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Definition &URI;</guilabel
></term>
<listitem>
<para
>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 <guilabel
>Definitionens internet-adresse</guilabel
>. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="xsltproc-3-2">
<title
>Behandling af &XSL;</title>
<para
>Ja, &quantaplus; har også et &XSL;-behandlingsværktøj! Det bruger værktøjet <command
>xsltproc</command
> som kommer med <application
>libxml2</application
>. </para>
<variablelist>
<varlistentry>
<term
><guilabel
>Denne fil</guilabel
></term>
<listitem>
<para
>Hvis filen som skal behandles for øjeblikket har fokus i &quantaplus;, lad så helt enkelt <guilabel
>Nuværende fil</guilabel
> være markeret. Hvis den ikke er det, afmarkér <guilabel
>Nuværende fil</guilabel
> og vælg filen som skal behandles i filvælgeren <guilabel
>Anden fil</guilabel
>. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>Stilskabelon</term>
<listitem>
<para
>Vælg &XSL;-filen som du vil skal bruges. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Uddatafilnavn</guilabel
></term>
<listitem>
<para
>Indtast navnet som du ønsker at resultatfilen skal kaldes. Filen skrives normalt i din hjemmemappe. </para>
</listitem>
</varlistentry>
</variablelist>
<note>
<para
>Dette program mangler fleksibilitet. Desværre, vi skal forsøge at gøre det bedre næste gang. </para>
>&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. </para>
<para
>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. </para>
</sect2>
<sect2 id="plugin-dialog-3-2">
<title
>Forstå dialogen til at redigere plugin</title>
<para
>For at installere et plugin eller et delprogram, bruges menuen <menuchoice
>Denne dialog lader dig håndtere alle de definerede plugin, og lader dig tilføje nye. Vi beskriver hvert element i grænsefladen her. <variablelist>
<varlistentry>
<term
><guilabel
>Søgestier</guilabel
></term>
<listitem>
<para
>Her kan du udfylde en søgesti. Når du tilføjer en plugin uden en <guilabel
>Plads</guilabel
>, søger &quantaplus; i denne søgesti for at finde dit plugin. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Tilføj</guilabel
></term>
<listitem>
<para
>Dette viser en dialog som lader dig tilføje et nyt plugin. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Indstil</guilabel
></term>
<listitem>
<para
>Dette lader dig ændre indstillinger for et bestemt plugin. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Fjern</guilabel
></term>
<listitem>
<para
>Fjerner det markerede plugin. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Opdatér</guilabel
></term>
<listitem>
<para
>Opdaterer dialogens indhold. </para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para
>Læs <xref linkend="configure-plugins"/> for at lære mere om plugin.</para>
</sect2>
</sect1>
<sect1 id="team-members">
<title
>Teamudvikling</title>
<para
>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 <menuchoice
> er brugerens alias og fungerer som en entydig identifikator. </para>
<para
><guilabel
>Rolle</guilabel
> angiver medlemmets rolle i projektet og kan være en af følgende: <itemizedlist>
<listitem
><para>
<guilabel
>Team-leder</guilabel>
</para
></listitem>
<listitem
><para>
<guilabel
>Delprojekt-leder</guilabel>
</para
></listitem>
<listitem
><para>
<guilabel
>Opgave-leder</guilabel>
</para
></listitem>
<listitem
><para>
<guilabel
>Almindeligt medlem</guilabel>
</para
></listitem>
</itemizedlist>
</para>
<para
><guilabel
>Opgave</guilabel
> er en beskrivelse af en opgave tildelt dette medlem.</para>
<para
><guilabel
>Del-projekt</guilabel
>: du kan vælge en liste af del-projekter. Del-projekter kan indstilles og oprettes ved at trykke på knappen <guilabel
>Redigér del-projekter</guilabel
>. 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 <filename path="intranet"
>intranet</filename
> i hovedprojektets mappe.</para>
<para
>Et medlem kan have mere end en rolle i projektet, som f.eks. både team-leder og del-projektleder.</para>
<para
>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 <guilabel
>Angiv som dig selv</guilabel
>. Medlemmet som for øjeblikket er markeret (din identitet) vises med fede typer efter teksten <guilabel
>Du er:</guilabel
>.</para>
<para
>Aliasser og at indstille dig selv er vigtigt angående meddelelser og noteringer. Se <xref linkend="annotations"/> for at lære dig mere om noteringer.</para>
<para
>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 <xref linkend="event-actions"/> hvordan man gør.</para>
</sect1>
<sect1 id="event-actions">
<title
>Begivenhedshandlinger</title>
<para
>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.</para>
<para
>På siden <guilabel
>Begivenheds-indstillinger</guilabel
> i <menuchoice
> <shortcut
> <keycombo action="simul"
>&Shift;<keycap
>F7</keycap
></keycombo
> </shortcut
> <guimenu
>Projekt</guimenu
> <guimenuitem
>Projektegenskaber</guimenuitem
> </menuchoice
>-dialogen, kan du oprette, redigere og slette begivenhedshandlinger. </para>
>en handling der ikke er en brugerdefineret scripthandling. Se <xref linkend="user-actions"/> for brugerhandling. </para>
<para
><guilabel
>Handlingsnavn</guilabel
> specificerer handlingen der skal udføres nå begivenheden sker.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Send e-mail</guilabel
></term>
<listitem
><para
>en e-mail bliver sendt til modtageren valgt i <guilabel
>Modtager</guilabel
>-listen, når handlingen sker. Modtageren kan være et team eller en del-projektleder. Se <xref linkend="team-members"/> for definering af sådanne ledere. </para
>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Log begivenhed</guilabel
></term>
<listitem
><para
>begivenheden gemmes i en fil. Argumenterne til denne handling er: </para>
<variablelist>
<varlistentry>
<term
><guilabel
>Logfil</guilabel
></term>
<listitem
><para
>filnavnet med den fulde sti</para
></listitem>
</varlistentry>
<varlistentry>
<term
>Detaljer</term>
<listitem
><para
>Hvor meget information loggen skal indeholde</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Opførsel</guilabel
></term>
<listitem
><para
>Om der i eksisterende filer skal oprettes/overskrives eller tilføjes en nye log-begivenhed.</para
></listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Script-handling</guilabel
></term>
<listitem
><para
>en brugerdefineret script-handling. Se <xref linkend="user-actions"/> for brugerhandling. </para>
<para
><guilabel
>Handlingsnavn</guilabel
> specificerer handlingen der skal udføres nå begivenheden sker.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
</variablelist>
<para
>De andre indgange afhænger af <guilabel
>Handling</guilabel
>stypen som beskrevet før. </para>
</sect1>
<sect1 id="annotations">
<title
>Noteringer</title>
<para
>Noteringer er specielle kommentarer i dokumenterne. De adskiller sig fra almindelige kommentarer i følgende henseender: <itemizedlist>
<listitem
><para
>informationen samles ind af Quanta og vises i værktøjsvisningen <guilabel
>Noteringer</guilabel
>. </para
></listitem>
<listitem
><para
>informationen kan adresseres til et gruppemedlem </para
></listitem>
</itemizedlist>
</para>
<para
>At indtaste noteringer er simpelt. Du kan enten bruge tilvalget <guilabel
>Notering</guilabel
> i editorens sammenhængsafhængige menu, eller skrive nøgleordet <emphasis
>@annotation</emphasis
> i et kommentarområde fulgt af noteringens tekst. <example
><title
>Noteringseksempel i XML</title
><screen
><!-- @annotation Det er muligt at denne koden er forkert. --></screen>
<screen
><!-- @annotation
Flerlinje
notering.
--></screen
></example>
<example
><title
>Noteringseksempel i PHP</title
><screen
>/* @annotation
Brug PHP-kommentarer ved noteringer i et PHP-område
*/</screen>
</example>
</para>
<para
>Noteringer kan adresseres til et særligt medlem i gruppen. Syntaksen i dette tilfælde er <emphasis
>@annotation(alias)</emphasis
> eller <emphasis
>@annotation(rolle)</emphasis
>, hvor <emphasis
>alias</emphasis
> er gruppemedlemmets alias, mens <emphasis
>rolle</emphasis
> er en projektrolle fra følgende liste: <itemizedlist
> <listitem
><para
> gruppeleder </para
></listitem
> <listitem
><para
> opgaveleder </para
></listitem
> <listitem
><para
> delprojektleder </para
></listitem
> </itemizedlist
> Opgave- og delprojektledere skal følges af tilsvarende opgave- eller delprojektnavn, som vist i eksemplet nedenfor. </para>
<para>
<example
><title
>Lav en note til et gruppemedlem med alias <emphasis
>erik</emphasis
></title>
<screen
><-- @annotation(eric) Erik, kig lige på dette. Andreas --></screen>
</example>
<example
><title
>Informér gruppelederen</title>
<screen
><-- @annotation(gruppeleder) Dette er meget vigtigt for gruppen --></screen>
</example>
<example
><title
>Informér <emphasis
>PHP</emphasis
>-delprojektlederen</title>
<screen
>// @annotation(delprojektleder:PHP) Hvad mener du om det?</screen>
</example>
</para>
<para
>Aliasser og rollenavne er ikke versalfølsomme, men mellemrum omkring parenteser og <emphasis
>:</emphasis
> gør noteringen ugyldig.</para>
<para
>Mere om gruppemedlemmer, roller og aliasser findes under <xref linkend="team-members"/>.</para>
<para
>Noteringerne som findes i projektet kan inspekteres i visningen <guilabel
>Noteringer</guilabel
>. Den består af tre fanebalde: <variablelist
> <varlistentry
> <term
><guilabel
>Nuværende fil</guilabel
></term
> <listitem
><para
> Noteringerne som findes i den nuværende fil.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Til dig</guilabel
></term
> <listitem
><para
> Noteringer i projektet adresserede til dig. Indgangene grupperes pr fil. </para
></listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Alle filer</guilabel
></term
> <listitem
><para
>Noteringerne som findes i alle projektfiler, grupperede ifølge fil. </para
></listitem
> </varlistentry
> </variablelist
> 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. </para>