This dialog lets you manage all defined plugins and lets you add new ones.
We will describe each &GUI; element in here:
<variablelist>
<varlistentry>
<term><guilabel>Search paths</guilabel></term>
<listitem>
<para>
Here you can fill in a search path. When adding a plugin without a
<guilabel>Location</guilabel>, &quantaplus; will search these paths to
find the plugin.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Add</guilabel></term>
<listitem>
<para>
This will bring up a dialog which allows you to add a new plugin.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Configure</guilabel></term>
<listitem>
<para>
This will allow you to change the settings of a particular plugin.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Remove</guilabel></term>
<listitem>
<para>
Removes the currently selected plugin.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Refresh</guilabel></term>
<listitem>
<para>
Refreshes the dialog's contents.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>Read <xref linkend="configure-plugins" /> to learn more about plugins.</para>
</sect2>
</sect1>
<sect1 id="team-members">
<title>Team Development</title>
<para>Often a project has more than one people working on it and there is some kind of hierarchical relationsship between them. &quantaplus; supports the notion of team members and they are configurable in the
<caption><para>The team member editor dialog</para></caption>
</mediaobject>
<para>
The <guilabel>Name</guilabel>, <guilabel>Email</guilabel> entries are self explaining. <guilabel>Nickname</guilabel> is the nick of the user and acts as an unique identifier.
</para>
<para><guilabel>Role</guilabel> specifies the role of the member in the project and can be one of the following:
<itemizedlist>
<listitem><para>
<guilabel>Team leader</guilabel>
</para></listitem>
<listitem><para>
<guilabel>Subproject Leader</guilabel>
</para></listitem>
<listitem><para>
<guilabel>Task Leader</guilabel>
</para></listitem>
<listitem><para>
<guilabel>Simple Member</guilabel>
</para></listitem>
</itemizedlist>
</para>
<para><guilabel>Task</guilabel> is a description of the task assigned to this member.</para>
<para><guilabel>Subproject</guilabel>: you can select a list of subproject. Subprojects can be configured and created by pressing the <guilabel>Edit subprojects</guilabel> button. Each subproject has a user visible name and a location entry, the later specifying a relative path to a directory under the project tree. This means that a subproject is a directory under the main project. For example the main project can be the website of your company, while a subproject can be the website for the intranet, located under the <filename path="intranet">intranet</filename> folder in the project.</para>
<para>One member can have more than one role in the project, like both team leader and subproject leader.</para>
<para>The user should select who is himself from the list of the team members. This is possible by selecting a team member from the list and pressing the <guilabel>Set to Yourself</guilabel> button. The currently selected member (your identity) appears in bold after the <guilabel>You are:</guilabel> text.</para>
<para>Nicknames and setting yourself is important regarding messaging and annotations. See <xref linkend="annotations"/> to learn more about annotations.</para>
<para>Aside of keeping track of your team, there is one more benefit of setting up the team members: you can configure an event to inform the team leaders when some action happens. See <xref linkend="event-actions"/> about how to do it.</para>
</sect1>
<sect1 id="event-actions">
<title>Event Actions</title>
<para>Event actions are actions executed when some event happens in the project. An example would be logging when the project was opened and closed, so it can be later reviewed how much one worked on it, or sending a mail when a file is saved, or adding the file to the CVS with the help of a script when the file is added to the project and the list could continue.</para>
<para>On the <guilabel>Event Configuration</guilabel> page of the
<listitem><para>an action that is not a user defined script action. See <xref linkend="user-actions" /> for user action.
</para>
<para><guilabel>Action name</guilabel> specifies the action to be executed when the event happens.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Send email</guilabel></term>
<listitem><para>an email is sent when the action happens to the recipient selected in the <guilabel>Receiver</guilabel> list. The recipient can be a team or subproject leader. See <xref linkend="team-members" /> for defining such leaders.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Log event</guilabel></term>
<listitem><para>the event is logged in a file. The arguments for this action are:
</para>
<variablelist>
<varlistentry>
<term><guilabel>Log file</guilabel></term>
<listitem><para>the filename with full path</para></listitem>
</varlistentry>
<varlistentry>
<term>Detail</term>
<listitem><para>How much information will the log contain</para></listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Behavior</guilabel></term>
<listitem><para>Whether to create/overwrite the existing log file or append the new logged event to it.</para></listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry
>
<varlistentry>
<term><guilabel>Script action</guilabel></term>
<listitem><para>an user defined script action. See <xref linkend="user-actions" /> for user action.
</para>
<para><guilabel>Action name</guilabel> specifies the action to be executed when the event happens.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
</variablelist>
<para>The other entries depend on the <guilabel>Action</guilabel> type as they were described.
</para>
</sect1>
<sect1 id="annotations">
<title>Annotations</title>
<para>Annotations are special comments in the documents. They differ from regular comments by the following things:
<itemizedlist>
<listitem><para>
the information is collected by Quanta and shown in the <guilabel>Annotations</guilabel> toolview.
</para></listitem>
<listitem><para>
the information can be addressed to a team member
</para></listitem>
</itemizedlist>
</para>
<para>Entering annotations is simple. You can either use the <guilabel>Annotate</guilabel> entry from the editor context menu or enter the <emphasis>@annotation</emphasis> keyword in a comment area followed by the annotation text.
<example><title>Annotation example in XML</title><screen>
<!-- @annotation It is possible that this code is wrong. --></screen>
<screen>
<!-- @annotation
Multiline
annotation.
--></screen></example>
<example><title>Annotation example in PHP</title><screen>
/* @annotation
Use PHP comments when annotating a PHP area
*/</screen>
</example>
</para>
<para>Annotations can be addressed for a specific member of your team. The syntax in this case is <emphasis>@annotation(nickname)</emphasis> or <emphasis>@annotation(role)</emphasis>, where <emphasis>nickname</emphasis> is the nickname of a team member, while <emphasis>role</emphasis> is a project role from the following items:
<itemizedlist>
<listitem><para>
team leader
</para></listitem>
<listitem><para>
task leader
</para></listitem>
<listitem><para>
subproject leader
</para></listitem>
</itemizedlist>
The task and subproject leaders should be followed by the corresponding task and subproject name, like it is shown in the below examples.
</para>
<para>
<example><title>Make a note to a team member with the nickname <emphasis>eric</emphasis></title>
<screen><-- @annotation(eric) Eric, please look at this. Andras --></screen>
</example>
<example><title>Inform the team leader</title>
<screen><-- @annotation(team leader) This is very important for the team --></screen>
</example>
<example><title>Inform the <emphasis>PHP</emphasis> subproject leader</title>
<screen>// @annotation(subproject leader:PHP) What do you think about it?</screen>
</example>
</para>
<para>Nicknames and role names are case insensitive, but spaces around brackets and the <emphasis>:</emphasis> make the annotation invalid.</para>
<para>More about team members, roles and nicknames can be found in <xref linkend="team-members"/>.</para>
<para>
The annotations found in the project can be inspected in the <guilabel>Annotations</guilabel> view. It consists of tree tabs:
<variablelist>
<varlistentry>
<term><guilabel>Current File</guilabel></term>
<listitem><para>
The annotation found in the current file.</para></listitem>
</varlistentry>
<varlistentry>
<term><guilabel>For You</guilabel></term>
<listitem><para>
Annotations in the project addressed for you. The entries are groupped per file.
</para></listitem>
</varlistentry>
<varlistentry>
<term><guilabel>All Files</guilabel></term>
<listitem><para>
The annotations found in all the project files, groupe dy files
</para></listitem>
</varlistentry>
</variablelist>
The annotations are scanned on project and file load for external modifications. This way even is somebody adds an annotation outside of &quantaplus;, it will be recognized. As scanning can take some time, the information dialog about new annotations addressed for you might appear after some seconds of the project loading.
</para>
</sect1>
<!--<sect1 id="cvs-3-2">
<title>Using CVS</title>
<para>
&quantaplus; uses Cervisia for CVS. Explain its usage within &quantaplus;.