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

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

</author>

<othercredit role="translator"
><firstname
>Samuele</firstname
><surname
>Kaplun</surname
><affiliation
><address
><email
>kaplun@aliceposta.it</email
></address
></affiliation
><contrib
>Traduzione del documento</contrib
></othercredit
> 

</authorgroup>
</chapterinfo>

<title
>Funzionalità Avanzate</title>

<para
>Questo capitolo mette in evidenza le funzioni avanzate di &quantaplus; e come usarle. </para>

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

<para
>La release 3.2 di &quantaplus; è accompagnata da molti strumenti e funzionalità &XML;. Gli strumenti sono unici nella loro integrazione con &quantaplus;. Tutti questi strumenti utilizzano <application
>Kommander</application
> come interfaccia e <application
>libxml2</application
> e <application
>libxslt</application
> come back-end. La loro combinazione costituisce degli strumenti veloci, efficienti, produttivi e completi. </para>

<sect2 id="kde-db-3-2">
<title
>Strumenti di Documentazione di &kde;</title>

<para
>&quantaplus; supporta i due strumenti della documentazione di &kde;: <command
>meinproc</command
> e <command
>checkXML</command
>. </para>

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

<para
>Chiunque abbia lavorato con la documentazione di &kde; conosce <command
>meinproc</command
> e quanto è avanzato. Bene fate un salto di qualità con una grande interfaccia grafica! Non dovrete più passare ad una shell; basterà fare clic sull'icona che assomiglia ad un processore e sarete a cavallo! </para>

<variablelist>
<varlistentry>
<term
><guilabel
>Cartella attuale di lavoro</guilabel
></term>
<listitem>
<para
>Questa applicazione si aspetta che sia presente in una cartella un file <filename
>index.docbook</filename
>. Se <filename
>index.docbook</filename
> si trova nella cartella di lavoro corrente, allora lascia selezionato semplicemente <guilabel
>Cartella Attuale di Lavoro</guilabel
>. Altrimenti deseleziona <guilabel
>Cartella Attuale di Lavoro</guilabel
> ed inserisci la cartella che desideri processare nel campo <guilabel
>Altra Cartella</guilabel
>. </para>
</listitem>
</varlistentry>
</variablelist>

<note>
<para
>I file in output vengono messi nella stessa cartella dei file sorgenti. Tutti i file &HTML; sono rimossi ogni volta che viene lanciato <command
>meinproc</command
>. </para>
</note>

</sect3>

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

<para
>Di nuovo, chiunque abbia lavorato con la documentazione di &kde; conosce questa utile applicazione. Di nuovo, &quantaplus; fornisce una grande piccola interfaccia grafica a questa. </para>

<variablelist>
<varlistentry>
<term
><guilabel
>Cartella attuale di lavoro</guilabel
></term>
<listitem>
<para
>Se il file correntemente aperto è <filename
>index.docbook</filename
>, allora lascia semplicemente selezionato <guilabel
>Cartella Attuale di Lavoro</guilabel
>. Se no, deseleziona <guilabel
>Cartella Attuale di Lavoro</guilabel
> ed inserisci la cartella dove può essere trovato <filename
>index.docbook</filename
>. </para>
</listitem>
</varlistentry>
</variablelist>

<note>
<title
>Output</title>
<para
>Se c'è output , allora il tuo file non è valido. Per favore correggi gli errori segnalati e prova di nuovo. </para>
</note>
</sect3>
</sect2>

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

<para
>&quantaplus; ha una grandioso strumento di validazione &XML;, che usa come back-end <command
>xmllint</command
>. </para>

<variablelist>
<varlistentry>
<term
><guilabel
>File attuale</guilabel
></term>
<listitem>
<para
>Se il file da validare è correntemente selezionato in &quantaplus;, allora lascia semplicemente selezionato <guilabel
>File Corrente</guilabel
>. Se no, deseleziona <guilabel
>File Corrente</guilabel
> e seleziona il file da validare dal selettore di file Altro File. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Controllo della buona definizione</guilabel
></term>
<listitem>
<para
>Se desideri solo conoscere se il file è ben-formato, fai clic sulla casella <guilabel
>Controllo della Buona Definizione</guilabel
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Definizione dell'&URI;</guilabel
></term>
<listitem>
<para
>Se stai usando una &DTD; che è specificata all'interno del file &XML; allora seleziona &DTD; (Interna) (impostazione predefinita), altrimenti seleziona &DTD; (Esterna) e localizza la &DTD; con il selettore file Definizione dell'&URI;. Entrambe le validazioni &W3C; &XML; Schema e RelaxNG devono essere definite esternamente attraverso il selettore file <guilabel
>Definizione dell'&URI;</guilabel
>. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

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

<para
>Si, &quantaplus; ha anche uno strumento di elaborazione &XSL;! Questo utilizza lo strumento <command
>xsltproc</command
> fornito con <application
>libxml2</application
>. </para>

<variablelist>
<varlistentry>
<term
><guilabel
>File attuale</guilabel
></term>
<listitem>
<para
>Se il file dal elaborare è correntemente aperto e selezionato in &quantaplus;, allora lascia semplicemente selezionato <guilabel
>File Corrente</guilabel
>. Se no, deseleziona <guilabel
>File Corrente</guilabel
> e seleziona il file da elaborare dal selettore <guilabel
>Altro File</guilabel
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Foglio di stile</term>
<listitem>
<para
>Seleziona il file &XSL; che desideri utilizzare. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Nome del file di output</guilabel
></term>
<listitem>
<para
>Inserisci il nome con cui vuoi chiamare il file del risultato. Il file viene creato in output nella tua cartella home per impostazione predefinita. </para>
</listitem>
</varlistentry>
</variablelist>

<note>
<para
>Questa applicazione manca di flessibilità. Ci dispiace, faremo meglio la prossima volta. </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
>Usare i Plugin</title>
<authorgroup>
<author
><firstname
>Mathieu</firstname
> <surname
>Kooiman</surname
> <affiliation
> <address
><email
>quanta@map-is.nl</email
></address>
</affiliation>
</author>

<othercredit role="translator"
><firstname
>Samuele</firstname
><surname
>Kaplun</surname
><affiliation
><address
><email
>kaplun@aliceposta.it</email
></address
></affiliation
><contrib
>Traduzione del documento</contrib
></othercredit
> 

</authorgroup>
</sect1info>

<title
>Usare i Plugin</title>

<sect2 id="what-is-a-plugin-3-2">
<title
>Cos'è un plugin?</title>

<para
>&quantaplus; è in grado di caricare plugin sotto forma di KPart. KPart è una delle infrastrutture molto potenti di &kde;. Un KPart è un contenitore di funzionalità relativamente piccolo e riutilizzabile. Permette agli sviluppatori di &kde; di costruire facilmente sul lavoro di altri programmatori. Un esempio è quello di &quantaplus; stesso. L'editor che utilizza &quantaplus; è il KPart &kate;. Il KPart &kate; aveva già un insieme di funzionalità di cui &quantaplus; aveva bisogno, come l'evidenziazione della sintassi. Integrarlo in &quantaplus; ha permesso ai suoi sviluppatori di concentrarsi su quello che &quantaplus; doveva essere in grado di fare, piuttosto che affrontare i tanti problemi che lo sviluppare da zero un nuovo editor componente/KPart avrebbe portato. </para>

<para
>I plugin che &quantaplus; carica potrebbero non avere nulla a che fare con &quantaplus; stesso. Ciò lo rende un sistema a plugin molto potente. Puoi beneficiare dalle funzionalità aggiuntive e non hai bisogno di aspettare che qualcuno le integri in &quantaplus;! I plugin possono essere caricati in diversi elementi &GUI;. Di più al riguardo qui sotto. </para>

</sect2>

<sect2 id="plugin-dialog-3-2">
<title
>Capire la Finestra di Dialogo Modifica i Plugin</title>

<para
>Per installare un Plugin o una KPart dovremo agire dal menu <menuchoice
><guimenu
>Plugin</guimenu
> <guimenuitem
>Modifica</guimenuitem
> </menuchoice
>. Si aprirà così la seguente finestra di dialogo: </para>

<mediaobject>
<imageobject>
<imagedata format="PNG" fileref="plugin-edit.png"/>
</imageobject>
<caption
><para
>La Finestra di dialogo Modifica Plugin.</para
></caption>
</mediaobject>

<para
>Questa finestra di dialogo permette di gestire tutti i plugin predefiniti e di aggiungerne altri. Descriveremo qui ogni elemento della &GUI;: <variablelist>
<varlistentry>
<term
><guilabel
>Percorso di ricerca</guilabel
></term>
<listitem>
<para
>Qui puoi impostare un percorso di ricerca. Quando aggiungi un plugin senza una <guilabel
>Posizione</guilabel
>, &quantaplus; lo cercherà attraverso questi percorsi. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Aggiungi</guilabel
></term>
<listitem>
<para
>Questo aprirà una finestra di dialogo che permette di aggiungere un nuovo plugin. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Configura</guilabel
></term>
<listitem>
<para
>Questo permette di cambiare le impostazioni di un particolare plugin. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Rimuovi</guilabel
></term>
<listitem>
<para
>Rimuove il plugin correntemente selezionato. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Aggiorna</guilabel
></term>
<listitem>
<para
>Aggiorna il contenuto della finestra di dialogo. </para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para
>Leggi <xref linkend="configure-plugins"/> per imparare di più riguardo ai plugin.</para>
</sect2>
</sect1>
<sect1 id="team-members">
  <title
>Sviluppo di squadra</title>
  <para
>È necessario, spesso, che più persone lavorino su di un progetto ed esiste una specie di relazione gerarchica tra loro. &quantaplus; supporta la nozione di membri di un gruppo ed è possibile configurarli nella finestra di dialogo <menuchoice
> <shortcut
> <keycombo action="simul"
>&Shift;<keycap
>F7</keycap
></keycombo
> </shortcut
> <guimenu
>Progetto</guimenu
> <guimenuitem
>Proprietà del progetto</guimenuitem
> </menuchoice
>. </para>
  <mediaobject>
    <imageobject>
      <imagedata format="PNG" fileref="team-editing.png"/>
    </imageobject>
    <caption
><para
>La finestra di dialogo configurazione gruppo</para
></caption>
  </mediaobject>
  <para
>Le voci <guilabel
>Nome</guilabel
> e <guilabel
>Posta elettronica</guilabel
> si spiegano da sé. </para>
  <para
><guilabel
>Ruolo</guilabel
> specifica il ruolo del membro del progetto e può essere uno dei seguenti: <itemizedlist>
<listitem
><para>
<guilabel
>Responsabile gruppo</guilabel>
</para
></listitem>
<listitem
><para>
<guilabel
>Responsabile sottoprogetto</guilabel>
</para
></listitem>
<listitem
><para>
<guilabel
>Responsabile attività</guilabel>
</para
></listitem>
<listitem
><para>
<guilabel
>Membro semplice</guilabel>
</para
></listitem>
</itemizedlist>
</para>
<para
><guilabel
>Attività</guilabel
> è una descrizione dell'attività assegnata a questo membro.</para>
<para
><guilabel
>Sottoprogetto:</guilabel
> puoi selezionare da una lista di sottoprogetti. I sottoprogetti possono essere configurati e creati premendo il pulsante <guilabel
>Modifica sottoprogetti</guilabel
>. Ogni sottoprogetto un nome visibile all'utente ed una posizione che specifica un percorso relativo verso una cartella all'interno della cartella del progetto. Ciò significa che un sottoprogetto è una cartella all'interno del progetto principale. Ad esempio il progetto principale può essere il sito web della tua compagnia, mentre un sottoprogetto può essere il sito web della intranet, posizionato nel progetto all'interno della cartella <filename path="intranet"
>intranet</filename
>.</para>
<para
>Un membro può avere più di un ruolo nel progetto, ad esempio come responsabile gruppo e come responsabile sottoprogetto.</para>
<para
>Al di là di tenere traccia della tuo gruppo, c'è un ulteriore vantaggio nell'impostare i membri del gruppo: puoi configurare un evento per informare i responsabili della squadra che è avvenuta qualche azione. Guarda <xref linkend="event-actions"/> per sapere come fare.</para>
</sect1>
<sect1 id="event-actions">
  <title
>Azioni ad eventi</title>
  <para
>La azioni ad eventi sono delle azioni eseguite quando accade qualche evento nel progetto. Un esempio potrebbe essere registrare quando il progetto viene aperto o chiuso, così che si possa, in un secondo tempo, controllare quanto uno vi abbia lavorato, o spedire una mail quando un file viene salvato, o aggiungere il file al CVS con l'aiuto di uno script quando il file viene aggiunto al progetto, e l'elenco potrebbe continuare.</para>
  <para
>Sulla pagina <guilabel
>Configurazione eventi</guilabel
> della finestra di dialogo <menuchoice
> <shortcut
> <keycombo action="simul"
>&Shift;<keycap
>F7</keycap
></keycombo
> </shortcut
> <guimenu
>Progetto</guimenu
> <guimenuitem
>Proprietà del progetto</guimenuitem
> </menuchoice
> puoi creare, modificare e cancellare le azioni ad eventi. </para>
<mediaobject>
  <imageobject>
    <imagedata format="PNG" fileref="event-editing.png"/>
  </imageobject>
  <caption
><para
>La finestra di dialogo Modifica evento</para
></caption>
</mediaobject>
<para
>Le voci nella finestra sono:</para>
<variablelist>
<varlistentry>
<term
><guilabel
>Evento</guilabel
></term>
<listitem
><para
>l'azione viene eseguita quando si presenta l'evento selezionato dalla lista. I nomi degli eventi si spiegano da soli.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Azione</guilabel
></term>
<listitem
><para
>il tipo di azione eseguita. Le possibili scelte sono </para>
<variablelist>
<varlistentry>
<term
><guilabel
>Azione non da script</guilabel
></term>
<listitem
><para
>un azione che non consiste in uno script definito dall'utente. Guarda <xref linkend="user-actions"/> per le azioni dell'utente. </para>
<para
><guilabel
>Nome dell'azione</guilabel
> specifica l'azione da eseguire quando si presenta l'evento.</para>
</listitem>
</varlistentry>
<varlistentry>
  <term
><guilabel
>Invia messaggio di posta elettronica</guilabel
></term>
  <listitem
><para
>viene spedito un messaggio di posta elettronica quando avviene l'azione verso l'indirizzo selezionato nella lista <guilabel
>Destinatario</guilabel
>. Il destinatario può essere un gruppo o il responsabile di un sottoprogetto. Guarda <xref linkend="team-members"/> per definire i responsabili. </para
>    
  </listitem>
</varlistentry>
<varlistentry>
  <term
><guilabel
>Registra evento</guilabel
></term>
  <listitem
><para
>l'evento viene registrato in un file. Gli argomenti per questa azione sono: </para>
    <variablelist>
	<varlistentry>
	<term
><guilabel
>File di log</guilabel
></term>
	<listitem
><para
>il nome del file con il percorso completo</para
></listitem>
	</varlistentry>
	<varlistentry>
	<term
>Dettaglio</term>
	<listitem
><para
>Quanta informazione deve contenere il log</para
></listitem>
	</varlistentry>
	<varlistentry>
	<term
><guilabel
>Comportamento</guilabel
></term>
	<listitem
><para
>Se creare/sovrascrivere il file di log esistente o aggiungere in coda il nuovo evento da registrare.</para
></listitem>
	</varlistentry>
     </variablelist>
  </listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Azione da script</guilabel
></term>
<listitem
><para
>un'azione da script definito dall'utente. Guarda <xref linkend="user-actions"/> per le azioni utente. </para>
  <para
><guilabel
>Nome dell'azione</guilabel
> specifica l'azione da eseguire quando si presenta l'evento.</para>
</listitem>
</varlistentry>

</variablelist>
</listitem>
</varlistentry>
</variablelist>
<para
>Le altre voci dipendono dal tipo di <guilabel
>Azione</guilabel
>, come è stato descritto. </para>
</sect1>
&debugging-quanta; </chapter>
