# Erweiterte Funktionen

Diese Kapitel beschreibt die erweiterten Funktionen von &quantaplus; und wie sie zu verwenden sind.

## &XML;-Werkzeuge

Die Version 3.2 von &quantaplus; enthält viele neue &XML; Werkzeuge und Funktionen. Diese Werkzeuge sind einzigartig in ihrer Einbindung in &quantaplus;. Alle diese Werkzeuge verwenden Kommander als Oberfläche und libxml2 und libxslt als Unterlage. Die Kombination ergibt schnelle, effiziente, vollständige und produktive Werkzeuge.

### &kde;-Dokumentationswerkzeuge

&quantaplus; unterstützt &kde;s zwei Haupt-Dokumentationswerkzeuge: `meinproc` und `checkXML`.

#### `meinproc`

Jeder, der mit der &kde;-Dokumentation gearbeitet hat, kennt `meinproc` und wie überragend es ist. Heben wir es noch ein Stück, geben wir ihm eine grafische Oberfläche! Nicht mehr auf ein Terminal angewiesen; einfach das Symbol für den XML-Prozessor angeklickt und fertig!

Aktueller Arbeitsordner

- Diese Anwendung erwartet eine `index.docbook` im Ordner. Wenn `index.docbook` sich im gegewärtigen Arbeitsordner befindet, dann lassen Sie den aktuellen Arbeitsordner angehakt. Wenn nicht, dann entfernen sie die Auswahl aktueller Arbeitsordner und geben sie im Feld anderer Ordner den gewünschten Ordner an.

Ausgabedateien werden im selben Ordner abgelegt wie die Quelldateien. Alle vorherigen &HTML;-Dateien werden jedes Mal gelöscht, wenn `meinproc` gestartet wird.

#### `checkXML`

Wie schon gesagt, jeder der an der &kde;-Dokumentation schon gearbeitet hat, weiß, wie hilfreich diese Anwendung ist. Und mit &quantaplus; gibt es jetzt eine großartige grafische Oberfläche dafür.

Aktueller Arbeitsordner

- Wenn die gerade geöffnete Datei `index.docbook` ist, dann lassen sie einfach den aktuelle Arbeitsordner angewählt. Wenn nicht, dann wählen sie aktueller Arbeitsordner ab und geben sie den Ordner ein, wo `index.docbook` zu finden ist.

##### Ausgabe

Wenn es zu einer Ausgabe am Bildschirm kommt, ist ihre Datei fehlerhaft. Bitte prüfen sie die berichteten Fehler und versuchen sie es erneut.

### &XML;-Überprüfung

&quantaplus; verfügt über ein gutes &XML;-Überprüfungswerkzeug, dass `xmllint` als Unterlage verwendet.

Aktuelle Datei

- Ist die zu überprüfende Datei bereits markiert in &quantaplus;, dann lassen sie aktuelle Datei einfach angehakt. Wenn nicht, löschen sie bei aktuelle Datei das Häkchen und wählen sie die zu überprüfende Datei mittels andere Datei - Dateiauswahl.

Well-formed Überprüfung

- Wenn sie nur wissen wollen, ob die Datei well-formed ist, klicken sie die Well-formed Überprüfung Auswahl an.

Definitions-&URI;

- Zur Benützung einer &DTD;, die in der &XML;-Datei angegeben ist, wählen sie &DTD; (Internal) (default), ansonsten &DTD; (External) und geben sie den Ort der &DTD; mittels Definitions-&URI; Dateiauswahl an. Sowohl für das &W3C; &XML; Schema als auch für die RelaxNG Überprüfung ist die Angabe der Definitions-&URI; in der Dateiauswahl erforderlich.

### &XSL;-Verarbeitung

Jawohl, &quantaplus; hat auch ein &XSL;-Verarbeitungswerkzeug! Dieses benutzt das `xsltproc` Werkzeug aus der libxml2 Bibliothek.

Aktuelle Datei

- Sollte die zu verarbeitende Datei in &quantaplus; bereits markiert sein, dann lassen sie aktuelle Datei einfach angewählt. Wenn nicht, entfernen sie die Auswahl aktuelle Datei und wählen sie die zu verarbeitende Datei mittels der andere Datei Dateiauswahl.

Stylesheet

- Wählen sie die &XSL;-Datei, die sie verwenden wollen.

Ausgabedateiname

- Geben sie den Namen der Datei, wie das Ergebnis benannt haben soll, an. Die Datei wird normalerweise in ihrem Heimatordner gespeichert.

Diese Anwendung läßt Flexibilität vermissen. Tut uns leid, wir werden es in Zukunft besser machen.

## Die Verwendung von Plugins

### Was ist ein Plugin?

&quantaplus; ist in der Lage, Plugins, die KParts sind, zu laden. Das KPart-Gerüst ist eine weitere sehr mächtige Struktur von &kde;. Ein KPart ist ein vergleichsweise kleiner, wiederverwendbarer Baustein mit bestimmter Funktionalität. Es erlaubt &kde;-Entwicklern einfach auf der Arbeit anderer Entwickler aufzubauen. Ein Beispiel ist &quantaplus; selbst. Der Editor, den &quantaplus; nutzt, ist das &kate;-KPart. Das &kate;-KPart hatte schon eine Fülle der Funktionalität, die &quantaplus; brauchte, wie etwa Syntax-Highlighting. Die Integration in &quantaplus; erlaubte den &quantaplus;-Entwicklern, sich auf das zu konzentrieren, was &quantaplus; können sollte, statt die Probleme zu lösen, die die Entwicklung eines neuen Editors von Grund auf bringen würde.

Die Plugins, die &quantaplus; ladet, haben mit &quantaplus; selbst möglicherweise wenig zu tun. Dadurch wird das Plugin-System sehr mächtig. Sie können von der zusätzlichen Funktionalität sofort profitieren und müssen nicht warten, bis jemand das Gewünschte in &quantaplus; einbaut. Die Plugins können in einer großen Zahl von &GUI;-Elementen verwendet werden. Mehr darüber finden sie weiter unten.

### Den Plugin Dialog verstehen

Um ein Plugin oder ein KPart zu installieren, beginnen wir mit dem Menü Plugins Bearbeiten . Damit wird folgender Dialog geöffnet:

Der Plugin bearbeiten Dialog.

Dieser Dialog ermöglicht, alle enthaltenen Plugins zu verwalten und neue hinzuzufügen. Wir beschreiben jedes &GUI;-Element darin:

Suchpfade

- Hier kann man den Suchpfad eingeben. Beim Hinzufügen von Plugins ohne einen Speicherort verwendet &quantaplus; diesen Pfad zum Suchen des Plugins.

Hinzufügen

- Öffnet einen Dialog, in dem man neue Plugins hinzufügen kann.

Einstellungen

- Ermöglicht die Einstellungen eines einzelnen Plugins zu ändern.

Entfernen

- Entfernt das ausgewählte Plugin.

Aktualisierung

- Aktualisiert den Inhalt des Dialogs.

Lesen Sie configure-plugins um mehr über Plugins zu erfahren.

## Team Entwicklung

Oft arbeiten an einem Projekt mehrere Personen in einer Art hierarchischen Beziehung zueinander. &quantaplus; unterstützt die Angabe von Team-Mitgliedern und diese können mit &Shift;F7 Projekt Projekt-Eigenschaften-Dialog konfiguriert werden.

Der Dialog zur Bearbeitung der Teammitglieder

Die Name und Email Einträge sind selbsterklärend. Nickname ist der Spitzname des Benutzers und dient zur eindeutigen Identifizierung.

Rolle beschreibt die Rolle des Mitglieds im Projekt und kann eines der folgenden sein:

- Teamleiter

- Subprojekt-Leiter

- Verantwortlicher für eine Aufgabe

- einfaches Mitglied

Aufgabe ist eine Beschreibung der diesem Mitglied zugewiesenen Aufgabe.

Subprojekt: es kann eine Liste der Subprojekte ausgewählt werden. Subprojekte können durch Drücken der Schaltfläche Subprojekt bearbeiten erstellt und konfiguriert werden. Jedes Subprojekt hat einen für Benutzer sichtbaren Namen und einen Adresseintrag, der einen relativen Pfad zu einem Unterverzeichnis im Projektbaum benennt. So könnte das Hauptprojekt beispielsweise die Webseite ihres Unternehmens sein, während ein Subprojekt davon die Webseite im Intranet, im Verzeichnis `Intranet` des Projektes gelegen sein könnte.

Ein Mitglied kann mehrere Rollen im Projekt haben, wie etwa sowohl Teamleiter als auch Subprojekt-Leiter.

Der Benutzer kann selbst aus der Liste der Teammitglieder aussuchen, wer er ist. Dies geschieht, indem er das Teammitglied aus der Liste aussucht und die Schaltfläche Setze als drückt. Das aktuell ausgewählte Mitglied (ihre Identiät) erscheint fett nach dem Sie sind: Text.

Spitznamen und die Einstellung der eigenen Identität sind hinsichtlich Nachrichten und Anmerkungen wichtig. Siehe annotations für weiter Information zu Anmerkungen.

Neben dem Überblick über ihr Team gibt es einen weiteren Vorteil durch die Erfassung der Mitglieder des Teams: es kann ein Ereignis zur Information an die Teamleiter erstellt werden, wenn etwas bestimmtes geschieht. Siehe inevent-actions für weitergehende Information.

## Ereignis-Aktionen

Ereignis-Aktionen sind Aktionen, die ausgeführt werden, wenn etwas bestimmtes im Projekt geschieht. Ein Beispiel würde das Aufzeichnen des Öffnens und Schließens des Projektes sein, so dass später nachgesehen werden kann, wie viel jemand daran arbeitete, oder das Senden einer Nachricht, wenn eine Datei gesichert wird, oder ein Skript, das eine Datei ins CVS einspielt, sobald sie zum Projekt hinzugefügt wird &etc;

Auf der Seite Ereigniskonfiguration des &Shift;F7 Projekt Projekteinstellungen Dialoges können Ereignisse erstellt, bearbeitet und gelöscht werden.

Der Ereignis bearbeiten Dialog

Im Dialog gibt es folgende Möglichkeiten:

Ereignis

- Diese Aktion wird ausgeführt, wenn das ausgewählte Ereignis stattfindet. Die Ereignisnamen sind selbsterklärend.

Aktion

- Der Typ der ausgeführten Aktion. Die Wahlmöglichkeiten sind

  Nicht-Skript Aktion

- Eine Aktion die nicht eine benutzerdefinierte Skript-Aktion ist. Siehe user-actions für Benutzeraktionen.

  Name der Aktion gibt den Namen der Aktion an, die beim Ereignis ausgeführt werden soll.

E-Mail senden

- Ein EMail wird an den in der Empfänger-Liste ausgewählten Adressaten gesendet. Der Adressat kann ein Team- oder Subprojekt-Leiter sein. Siehe in team-members, wei solche Leiter eingerichtet werden.

Log-Ereignis

- Dieses Ereignis wird in einer Log-Datei erfaßt. Die Argumente für diese Aktion sind:

  Logdatei

- Der Dateiname mit vollem Pfad

Einzelheiten

- Wie viele Informationen erfaßt werden

Verhalten

- Ob eine bestehende Logdatei erstellt/überschrieben wird oder die neue erfaßten Ereignisse daran angehängt werden.

Skript-Aktion

- Eine benutzerdefinierte Skript-Aktion. Siehe in user-actions für Benutzer-Aktionen.

  Name der Aktion gibt den Namen der Aktion an, die beim Ereignis ausgeführt werden soll.

Die anderen Einträge entsprechen dem jeweiligen Aktions typ, wie beschrieben.

## Anmerkungen

Anmerkungen sind spezielle Kommentare in den Dokumenten. Sie unterscheiden sich von normalen Kommentaren durch folgende Dinge:

- Die Information wird von Quanta gesammelt und in der Ansicht Anmerkungen angezeigt.

- Die Information kann an ein Teammitglied weitergeleitet werden

Anmerkungen einzugeben ist einfach. Es kann entweder der Anmerkung-Eintrag aus dem Editor-Kontextmenü gewählt oder das @annotation Schlüsselwort in einem Kommentarbereich gefolgt von Anmerkungstext eingegeben werden.

### Anmerkungsbeispiel in XML

    <!-- @annotation Es ist möglich, dass dieser Quelltext nicht funktioniert. -->

    <!-- @annotation
    Mehrzeilige
     Anmerkung.
    -->

### Anmerkungsbeispiel in PHP

    /* @annotation
    Benutze PHP Kommentare für Anmerkungen in einem PHP-Bereich
    */

Anmerkungen können ein ein bestimmbares Mitglied des Teams gesendet werden. In diesem Fall ist die Syntax @annotation(Spitzname) oder @annotation(Rolle), wobei Spitzname der eingestellte Spitzname des Teammitgliedes ist, Rolle ein Rolle im Projekt aus folgenden Möglichkeiten:

- Teamleiter

- Bereichsleiter

- Subprojekt-Leiter

Nach den Bereichs- und Subprojekt-Leitern sollten die entsprechenden Bereichs- oder Subprojektnamen angeführt werden, wie in den folgenden Beispielen unten.

### Erstelle eine Notiz für das Teammitglied mit Spitznamen Eric

    <-- @annotation(Eric) Eric, schau Dir das bitte an. Andras -->

### Den Teamleiter informieren

    <-- @annotation(Teamleiter) Das ist sehr wichtig für das Team -->

### Den PHP-Subprojekt-Leiter informieren

    // @annotation(Subprojekt-Leiter:PHP) Was hältst du davon?

Spitznamen and Rollen-Namen sind unabhängig von Groß- oder Kleinschreibung, aber Leerzeichen um die Klammern und der : machen die Anmerkung ungültig.

Mehr über Teammitglieder, Rollen und Spitznamen findet man in team-members.

Die Anmerkungen im Projekt können in der Ansicht Anmerkungen durchgesehen werden. Es besteht aus drei Reitern:

aktuelle Datei

- Die Anmerkung in der aktuellen Datei.

Für Sie

- Anmerkungen im Projekt, die für Sie bestimmt sind. Die Einträge sind nach Dateien gruppiert.

Alle Dateien

- Die Anmerkungen aller Dateien im Projekt, nach Dateien gruppiert

Die Anmerkungen werden beim Laden des Projektes oder der Datei auf externe Veränderung geprüft. So wird eine Veränderung der Anmerkung außerhalb von&quantaplus; bemerkt. Da die Überprüfung einige Zeit dauern kann, könnte die Anzeige von für sie bestimmten neuen Anmerkungen im Dialog erst einige Sekunden nach dem Laden des Projektes erscheinen.
&debugging-quanta;