<?xml version="1.0" encoding="UTF-8" ?>

<chapter id="advanced-quanta-3-2">
<chapterinfo>
<title
>Uitgebreide mogelijkheden</title>
<authorgroup>
<author
><firstname
>Christopher</firstname
> <surname
>Hornbaker</surname
> <affiliation
> <address
><email
>chrishornbaker@earthlink.net</email
></address>
</affiliation>

</author>

&Sander.Koning;&Tom.Albers; 

</authorgroup>
</chapterinfo>

<title
>Uitgebreide mogelijkheden</title>

<para
>Dit hoofdstuk beschrijft de uitgebreide mogelijkheden van &quantaplus; en hoe u deze kunt gebruiken. </para>

<sect1 id="xml-tools-3-2">
<title
>&XML;-hulpmiddelen</title>

<para
>Versie 3.2 van &quantaplus; bevat veel nieuwe &XML;-hulpmiddelen en -mogelijkheden. Deze hulpmiddelen zijn op een unieke manier geïntegreerd met &quantaplus;. Al deze hulpmiddelen gebruiken <application
>Kommander</application
> als frontend en <application
>libxml2</application
> en <application
>libxslt</application
> als backends. Deze combinatie zorgt voor snelle, efficiënte, productieve en complete hulpmiddelen. </para>

<sect2 id="kde-db-3-2">
<title
>Hulpmiddelen voor &kde;-documentatie</title>

<para
>&quantaplus; ondersteunt de twee belangrijkste documentatiehulpmiddelen van &kde;: <command
>meinproc</command
> en <command
>checkXML</command
>. </para>

<sect3 id="meinproc-3-2">
<title
><command
>meinproc</command
></title>

<para
>Iedereen die een keer met &kde;-documentatie gewerkt heeft, kent <command
>meinproc</command
> en weet hoe goed dit programma is. Het gebruik hiervan wordt met een grafische interface nog gemakkelijker! U hoeft niet langer een shell te gebruiken; klik op het processor-pictogram en u bent klaar! </para>

<variablelist>
<varlistentry>
<term
><guilabel
>Huidige werkmap</guilabel
></term>
<listitem>
<para
>Deze toepassing verwacht een bestand <filename
>index.docbook</filename
> in een map. Als <filename
>index.docbook</filename
> zich in de huidige werkmap bevindt, kunt u <guilabel
>Huidige werkmap</guilabel
> ingeschakeld laten. Als het zich daar niet bevindt, schakel dan<guilabel
>Huidige werkmap</guilabel
> uit, en vul bij <guilabel
>Andere werkmap</guilabel
> de map in die u wilt gebruiken. </para>
</listitem>
</varlistentry>
</variablelist>

<note>
<para
>Uitvoerbestanden worden in dezelfde map geplaatst als de bronbestanden. Elke keer dat <command
>meinproc</command
> uitgevoerd wordt, worden alle &HTML;-bestanden verwijderd. </para>
</note>

</sect3>

<sect3 id="checkxml-3-2">
<title
><command
>checkXML</command
></title>

<para
>Iedereen die een keer met &kde;-documentatie heeft gewerkt, kent deze nuttige toepassing. &quantaplus; biedt hier een goede grafische frontend voor. </para>

<variablelist>
<varlistentry>
<term
><guilabel
>Huidige werkmap</guilabel
></term>
<listitem>
<para
>Als <filename
>index.docbook</filename
> het huidig geopende bestand is, laat dan <guilabel
>Huidige werkmap</guilabel
> ingeschakeld. Als dit niet het geval is, schakel dan<guilabel
>Huidige werkmap</guilabel
> uit en voer de map in waar <filename
>index.docbook</filename
> gevonden kan worden. </para>
</listitem>
</varlistentry>
</variablelist>

<note>
<title
>Uitvoer</title>
<para
>Als er uitvoer is, is uw bestand ongeldig. Verbeter de aangegeven fouten en probeer het dan opnieuw. </para>
</note>
</sect3>
</sect2>

<sect2 id="xmlval-3-2">
<title
>&XML;-validatie</title>

<para
>&quantaplus; biedt een goede toepassing voor &XML;-validatie, die <command
>xmllint</command
> als backend gebruikt. </para>

<variablelist>
<varlistentry>
<term
><guilabel
>Huidig bestand</guilabel
></term>
<listitem>
<para
>Als het te valideren bestand op het moment actief is in &quantaplus;, laat dan <guilabel
>Huidig bestand</guilabel
> ingeschakeld. Als dat niet het geval is, schakel dan <guilabel
>Huidig bestand</guilabel
> uit en kies het te valideren bestand bij Ander bestand. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Correctheid testen</guilabel
></term>
<listitem>
<para
>Als u alleen wilt weten of het bestand correct is, schakel dan<guilabel
>Alleen correctheid testen</guilabel
> in. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Definitie-URI-adres</guilabel
></term>
<listitem>
<para
>Als u een &DTD; gebruikt die gespecificeerd is binnen het &XML;-bestand, kies dan &DTD; (intern) (standaard), kies anders &DTD; (extern) en geef de plaats van de &DTD; aan bij Definitie-&URI;-adres. Zowel&W3C; &XML; Schema en RelaxNG-validatie moeten extern gedefinieerd zijn bij <guilabel
>Definitie-&URI;-adres</guilabel
>. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="xsltproc-3-2">
<title
>&XSL;-verwerking</title>

<para
>&quantaplus; heeft ook een hulpmiddel voor &XSL;-verwerking! Hierbij wordt het <command
>xsltproc</command
>-hulpmiddel gebruikt dat meegeleverd wordt met <application
>libxml2</application
>. </para>

<variablelist>
<varlistentry>
<term
><guilabel
>Huidig bestand</guilabel
></term>
<listitem>
<para
>Als het te verwerken bestand op het moment actief is in &quantaplus;, laat dan <guilabel
>Huidig bestand</guilabel
> ingeschakeld. Als dat niet het geval is, schakel dan <guilabel
>Huidig bestand</guilabel
> uit en kies het te verwerken bestand bij <guilabel
>Ander bestand</guilabel
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Stylesheet</term>
<listitem>
<para
>Kies het &XSL;-bestand dat u wilt gebruiken. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Uitvoer-bestandsnaam</guilabel
></term>
<listitem>
<para
>Voer de naam in waaronder u het resulterende bestand wilt opslaan. Het bestand wordt standaard in uw persoonlijke map opgeslagen. </para>
</listitem>
</varlistentry>
</variablelist>

<note>
<para
>Deze toepassing is nog niet erg flexibel. Onze excuses hiervoor. </para>
</note>
</sect2>

</sect1>

<!-- <sect1 id="kfilereplace-3-2">
<title
>KFileReplace</title>

<para>
KFileReplace is a terrific new addition to &quantaplus;. It allows one to
quickly replace strings over multiple files in only a few clicks of the
mouse. Imagine you have converted all your GIF images to PNG images
(hasn't everyone done this already?), only the extension has changed, and
you have the &lt;img /> tag scattered throughout 50 XHTML files. Are you
going to do a Find &amp; Replace on every file? Surely not when you can do
them all at the same time! This is only one of the many situations where
you will find KFileReplace a seriously helpful tool. This section will show
you how to use this wonderful feature.
</para>

<sect2 id="using-kfr-3-2">
<title
>Using KFileReplace</title>

<para>
With all these wonderful features KFileReplace has, surely you are
incredibly interested in how to use it! Well, make sure your swim suit
is on tight, because we are about to dive in!
</para>

<sect3 id="start-kfr-3-2">
<title
>Starting KFileReplace</title>

<para>
You will find KFileReplace in two places: &quantaplus;' main toolbar and the
menubar (Plugins -> KFileReplace). It is represented by this icon:
<inlinemediaobject>
<imageobject>
<imagedata fileref="kfr-icon.png" format="PNG"/>
</imageobject>
</inlinemediaobject
>.
By executing it from either location, you will be presented with the New
Search &amp; Replace Project dialog.
</para>

<mediaobject>
<imageobject>
<imagedata fileref="kfr-new-dialog.png" format="PNG"/>
</imageobject>
<caption
><para
>KFileReplace's New Search &amp; Replace Project dialog.</para
></caption>
</mediaobject>

</sect3>

<sect3 id="replace-string-kfr-3-2">
<title
>Replacing Strings in Files Over Multiple Folders</title>


<para>
Your boss just gave word that:

<orderedlist numeration="arabic">
<listitem>
<para
>all image formats will be PNG from now on;</para>
</listitem>
<listitem>
<para
>all current images must be converted to PNG;</para>
</listitem>
<listitem>
<para
>and it all needs to be done in one hour.</para>
</listitem>
</orderedlist>

<quote
>One hour!?!?</quote
> you think to yourself. <quote
>It'll take at
least 45 minutes to convert the images!</quote
> Calm down. Convert
the images, load up your project, and fire up KFileReplace. Filter for
only the file types you want to change. Press the <inlinemediaobject>
<imageobject
><imagedata format="PNG" fileref=""/></imageobject>
</inlinemediaobject
> and for, say GIF images, .gif for the string to
replace and .png for the replacement string.
</para>

</sect3>
</sect2>
</sect1
> -->

<sect1 id="kparts-3-2">
<sect1info>
<title
>Plugins gebruiken</title>
<authorgroup>
<author
><firstname
>Mathieu</firstname
> <surname
>Kooiman</surname
> <affiliation
> <address
><email
>quanta@map-is.nl</email
></address>
</affiliation>
</author>

&Sander.Koning;&Tom.Albers; 

</authorgroup>
</sect1info>

<title
>Plugins gebruiken</title>

<sect2 id="what-is-a-plugin-3-2">
<title
>Wat is een plugin?</title>

<para
>&quantaplus; kan gebruik maken van KParts. Het KPart-raamwerk is een zeer krachtig raamwerk van &kde;. Een KPart is een relatief klein, herbruikbaar deel met een bepaalde functionaliteit. Het biedt &kde;-ontwikkelaars de mogelijkheid om eenvoudig gebruik te maken van het werk van andere programmeurs.&quantaplus; is hier zelf een voorbeeld van. &quantaplus; gebruikt het &kate;-KPart voor het bewerken van de tekst. Het &kate;-KPart bevatte reeds veel functies die voor &quantaplus; nodig waren, zoals accentuering. Het samenvoegen hiervan in &quantaplus; zorgde ervoor dat de &quantaplus;-ontwikkelaars zich konden toeleggen op wat &quantaplus; moest kunnen, in plaats op het oplossen van de vele problemen die zouden optreden als er een volledig nieuwe tekstverwerker-KPart geschreven had moeten worden. </para>

<para
>&quantaplus; kan KParts laden die niet per se voor &quantaplus; zelf benodigd zijn. Dat maakt &quantaplus; erg flexibel, want u kunt gebruik maken van extra functionaliteit en hoeft niet te wachten tot iemand het in &quantaplus; integreert. De KParts kunnen in een aantal &GUI;-elementen geladen worden. </para>

</sect2>

<sect2 id="plugin-dialog-3-2">
<title
>Het dialoogvenster Plugins bewerken</title>

<para
>U installeert een plugin (KPart) via het menu <menuchoice
> <guimenu
>Plugins</guimenu
> <guimenuitem
>Bewerken</guimenuitem
> </menuchoice
>. Het volgende dialoogvenster verschijnt dan: </para>

<mediaobject>
<imageobject>
<imagedata format="PNG" fileref="plugin-edit.png"/>
</imageobject>
<caption
><para
>Het dialoogvenster Plugins bewerken.</para
></caption>
</mediaobject>

<para
>In dit dialoogvenster kunt u alle reeds gedefinieerde plugins beheren en nieuwe toevoegen. Elk &GUI;-element wordt hieronder beschreven: <variablelist>
<varlistentry>
<term
><guilabel
>Paden zoeken</guilabel
></term>
<listitem>
<para
>Hier kunt u een zoekpad invullen. Als u een plugin zonder een <guilabel
>Locatie</guilabel
> toevoegt, zal &quantaplus; deze paden doorzoeken om de plugin te vinden. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Toevoegen</guilabel
></term>
<listitem>
<para
>Hiermee verschijnt een dialoogvenster waarmee u een nieuwe plugin kunt toevoegen. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Instellen</guilabel
></term>
<listitem>
<para
>Hiermee kunt u de instellingen van een plugin aanpassen. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Verwijderen</guilabel
></term>
<listitem>
<para
>Hiermee verwijdert u de huidige plugin. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Verversen</guilabel
></term>
<listitem>
<para
>Ververst het dialoogvenster. </para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para
>Lees <xref linkend="configure-plugins"/> voor meer informatie over plugins.</para>
</sect2>
</sect1>
<sect1 id="team-members">
  <title
>Teamontwikkeling</title>
  <para
>Vaak werken er meer dan één mensen aan een project en bestaat er een soort hiërarchische relatie tussen hen. &quantaplus; ondersteunt het begrip van teamleden en deze zijn instelbaar in het dialoogvenster <menuchoice
> <shortcut
> <keycombo action="simul"
>&Shift;<keycap
>F7</keycap
></keycombo
> </shortcut
> <guimenu
>Project</guimenu
> <guimenuitem
>Projecteigenschappen</guimenuitem
> </menuchoice
>. </para>
  <mediaobject>
    <imageobject>
      <imagedata format="PNG" fileref="team-editing.png"/>
    </imageobject>
    <caption
><para
>Het dialoogvenster "Teamleden bewerken"</para
></caption>
  </mediaobject>
  <para
>De items <guilabel
>naam</guilabel
> en <guilabel
>email</guilabel
> zijn zelfverklarend. </para>
  <para
><guilabel
>Rol</guilabel
> specificeert de rol van het projectlid en kan één van de volgende zijn: <itemizedlist>
<listitem
><para>
<guilabel
>Teamleider</guilabel>
</para
></listitem>
<listitem
><para>
<guilabel
>Subprojectleider</guilabel>
</para
></listitem>
<listitem
><para>
<guilabel
>Takenleider</guilabel>
</para
></listitem>
<listitem
><para>
<guilabel
>Eenvoudig lid</guilabel>
</para
></listitem>
</itemizedlist>
</para>
<para
><guilabel
>Taak</guilabel
> is een beschrijving van de taak die aan dit lid is toegewezen.</para>
<para
><guilabel
>Subproject</guilabel
>: u kunt een lijst van subprojecten selecteren. Subprojecten kunnen worden ingesteld en aangemaakt met de knop <guilabel
>Subprojecten bewerken</guilabel
>. Elk subproject heeft een voor de gebruiker zichtbare naam en een locatie-item, dit laatste specificeert een relatief pad naar een map onder de projectboom. Dit betekent dat een subproject een map onder uw hoofdproject is. Het hoofdproject kan bijvoorbeeld de website van uw bedrijf zijn, terwijl een subproject de website voor het intranet kan zijn, die zich in de map <filename path="intranet"
>intranet</filename
> in het project bevindt.</para>
<para
>Een lid kan meer dan één rol hebben in het project, bijvoorbeeld zowel teamleider en subprojectleider.</para>
<para
>Afgezien van het kunnen bijhouden van uw team, is er nog een voordeel aan het instellen van teamleden: u kunt een gebeurtenis instellen die de teamleiders informeert als er een bepaalde actie plaatsvindt. Zie <xref linkend="event-actions"/> voor hoe u dat doet.</para>
</sect1>
<sect1 id="event-actions">
  <title
>Gebeurtenisacties</title>
  <para
>Gebeurtenisacties zijn acties die worden uitgevoerd als er een gebeurtenis plaatsvindt in het project. Een voorbeeld is bijhouden wanneer het project geopend en gesloten is, zodat later bekeken kan worden hoe lang men eraan gewerkt heeft, of een e-mailbericht sturen als een bestand is opgeslagen, of het bestand aan CVS toevoegen met hulp van een script als het bestand aan het project is toegevoegd, en de lijst kan doorgaan.</para>
  <para
>Op de pagina <guilabel
>Gebeurtenissen instellen</guilabel
> van het dialoogvenster <menuchoice
> <shortcut
> <keycombo action="simul"
>&Shift;<keycap
>F7</keycap
></keycombo
> </shortcut
> <guimenu
>Project</guimenu
> <guimenuitem
>Projecteigenschappen</guimenuitem
> </menuchoice
> kunt u gebeurtenisacties aanmaken, bewerken en verwijderen. </para>
<mediaobject>
  <imageobject>
    <imagedata format="PNG" fileref="event-editing.png"/>
  </imageobject>
  <caption
><para
>Het dialoogvenster Gebeurtenissen bewerken.</para
></caption>
</mediaobject>
<para
>De items in het dialoogvenster zijn:</para>
<variablelist>
<varlistentry>
<term
><guilabel
>Gebeurtenis</guilabel
></term>
<listitem
><para
>de actie wordt uitgevoerd als de uit de lijst geselecteerde gebeurtenis plaatsvindt. De gebeurtenisnamen zijn zelfverklarend.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Actie</guilabel
></term>
<listitem
><para
>het soort uitgevoerde actie. De mogelijke keuzes zijn </para>
<variablelist>
<varlistentry>
<term
><guilabel
>Non-scriptactie</guilabel
></term>
<listitem
><para
>een actie die geen gebruikergedefinieerde scriptactie is. Zie <xref linkend="user-actions"/> voor gebruikersacties. </para>
<para
><guilabel
>Actienaam</guilabel
> specificieert de actie die uitgevoerd moet worden als de gebeurtenis optreedt.</para>
</listitem>
</varlistentry>
<varlistentry>
  <term
><guilabel
>E-mail sturen</guilabel
></term>
  <listitem
><para
>een e-mail wordt als de actie optreedt verstuurd naar de ontvanger die gekozen is in de lijst <guilabel
>Ontvanger</guilabel
>. De ontvanger kan een team- of subprojectleider zijn. Zie <xref linkend="team-members"/> voor het definiëren van zulke leiders. </para
>    
  </listitem>
</varlistentry>
<varlistentry>
  <term
><guilabel
>Gebeurtenis loggen</guilabel
></term>
  <listitem
><para
>de gebeurtenis wordt gelogd in een bestand. De argumenten voor deze actie zijn: </para>
    <variablelist>
	<varlistentry>
	<term
><guilabel
>Logbestand</guilabel
></term>
	<listitem
><para
>de bestandsnaam met volledig pad</para
></listitem>
	</varlistentry>
	<varlistentry>
	<term
>Detail</term>
	<listitem
><para
>Hoeveel informatie de log moet bevatten</para
></listitem>
	</varlistentry>
	<varlistentry>
	<term
><guilabel
>Gedrag</guilabel
></term>
	<listitem
><para
>Of een bestaand logbestand overschreven moet worden of dat de nieuwe gebeurtenis eraan toegevoegd moet worden.</para
></listitem>
	</varlistentry>
     </variablelist>
  </listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Scriptactie</guilabel
></term>
<listitem
><para
>een gebruikergedefinieerde scriptactie. Zie <xref linkend="user-actions"/> voor gebruikersacties. </para>
  <para
><guilabel
>Actienaam</guilabel
> specificieert de actie die uitgevoerd moet worden als de gebeurtenis optreedt.</para>
</listitem>
</varlistentry>

</variablelist>
</listitem>
</varlistentry>
</variablelist>
<para
>De andere items hangen af van het soort <guilabel
>Actie</guilabel
> zoals beschreven. </para>
</sect1>
&debugging-quanta; </chapter>
