<sect1 id="more-knode-features">
<title>The Advanced &knode; Features</title>

<sect2 id="using-filters">
<title>Defining and Using Filters</title>

<para>You may already have read about using filters in the chapter explaining
the configuration of &knode;; there, we were talking about the built-in
filters provided by &knode; there.  You can configure the built-in
filters like all the others. The screenshot below shows the dialog box for
configuring the filters.</para>

<tip><para>While filters and scoring are very powerful and have many
uses, one of the most common requirements is simply to add all posts
written by someone you don't wish to read to a
<quote>killfile</quote>.  At the <link linkend="killfiles">end of this
section</link> is a quick guide to using filters and scores to create
such a killfile.</para></tip>

<screenshot>
<screeninfo>The <guilabel>New Filter</guilabel> dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="knode-edit-filter.png" format="PNG"/> </imageobject>
<textobject>
<phrase>The <guilabel>New Filter</guilabel> dialog</phrase>
</textobject>
<caption>
<para>The <guilabel>New Filter</guilabel> dialog</para>
</caption>
</mediaobject>
</screenshot>

<para>First we will create a new filter.  You may, at some point, want
to find your own articles amongst all the others; or, you may not
want to see the articles posted by a particular person at all: both cases can
be solved by a simple filter on the Sender. Here are some
examples:</para> 

<procedure> 
<title>Do Not Show The Articles by a Particular Person</title> 
<step performance="required" > 
<para><menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure
KNode...</guimenuitem><guilabel>Reading
News</guilabel><guilabel>Filters</guilabel></menuchoice></para> 
</step> 
<step performance="required"> 
<para>Select <guibutton>New...</guibutton></para>
</step> 
<step performance="required"> 
<para>Insert <userinput>Do not show idiot</userinput> in the Text Box
<guilabel>Name</guilabel></para> 
</step> 
<step performance="required"> 
<para>To make the filter appear on the menu, check <guilabel>Show
in menu</guilabel>.</para>
</step> 
<step performance="required"> 
<para>Go to the <guilabel>From</guilabel> area.</para> 
</step> 
<step performance="required"> 
<para>Choose <guilabel>Does NOT contain</guilabel> from the drop-down
box.</para> 
</step>
<step performance="required"> 
<para>Insert the name of the person you want to ignore in the now-
active Text Box; for example, <userinput>Idiot</userinput>.</para>
</step> 
<step performance="required"> 
<para>Confirm the filter settings with
<guibutton>OK</guibutton>.</para>
</step>
</procedure>

<para>The filter now shows all articles, except the ones containing
<quote>Idiot</quote> in the From: line.</para>

<para>You can combine the settings of the 'Subject + From' tab 
with the settings on the other tabs. For example:</para>

<procedure>
<title>Show only discussion with unread follow-ups on own
articles.</title>
<step>
<para><menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure
KNode...</guimenuitem><guilabel>Reading
News</guilabel><guilabel>Filters</guilabel></menuchoice></para>
</step>
<step>
<para>Select the predefined filter <guilabel>threads with own
articles</guilabel></para>
</step>
<step>
<para>Select <guibutton>Copy</guibutton></para>
</step>
<step>
<para>Insert <userinput>My threads with unread</userinput> in the
<guilabel>Name</guilabel> field.</para>
</step>
<step>
<para>Select the <guilabel>Status</guilabel> tab</para>
</step>
<step>
<para>Select <guilabel>has new followups</guilabel></para>
</step>
<step>
<para>Select <guilabel>true</guilabel> in the drop-down box next to
it.</para>
</step>
<step>
<para>Confirm the filter settings with
<guibutton>OK</guibutton></para>
<para>This filter shows all the threads your are participating in which
have unread messages; also, you have seen the possibility of using
existing filters as a base for new ones: this makes life easier for
complex filters.</para>
</step>
</procedure>

<procedure>
<title>Show all articles, no older than 3 days, containing KNode in
the subject.</title>
<step> 
<para><menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure
KNode...</guimenuitem><guilabel>Reading
News</guilabel><guilabel>Filters</guilabel></menuchoice></para>
</step>
<step>
<para>Select <guibutton>Add</guibutton></para>
</step>
<step>
<para>Insert <userinput>Latest KNode threads</userinput> in the
<guilabel>Name</guilabel> field.</para>
</step>
<step>
<para>To make the filter appear in the menu, check <guilabel>show
in menu</guilabel>.</para> 
</step> 
<step> 
<para>From the <guilabel>apply on</guilabel> drop-down box select
<guilabel>single articles</guilabel></para> 
</step> 
<step> 
<para>Go to the <guilabel>Subject</guilabel> area and select
<guilabel>does contain</guilabel> in the drop-down box.</para> 
</step> 
<step> 
<para>Insert <userinput>knode</userinput> in the text box.</para>
</step> 
<step> 
<para>Change to the <guilabel>Additional</guilabel> tab</para> 
</step>
<step> 
<para>Select the <guilabel>Age</guilabel> check box</para> 
</step> 
<step> 
<para>Enter the following settings: <guilabel>0 &lt; days &lt;=
3</guilabel></para> 
</step> 
<step> 
<para>Confirm the filter settings with
<guibutton>OK</guibutton></para>
<para>This filter, now, shows all articles, no older than 3 days,
containing <emphasis>knode</emphasis> in the subject.</para> 
</step> 
</procedure> 

<sect3 id="killfiles">
<title>Creating a Killfile</title>

<para>&knode; offers viewing filters (<guilabel>all</guilabel>,
<guilabel>unread only</guilabel>, <guilabel>my posts</guilabel>,
&etc;) and scoring filters (threads and articles start with a score of
zero and can be adjusted according to author, thread, &etc;).</para>

<para>Using viewing filters you could hide articles according to
poster, but this is not really suitable when you want to kill several
posters universally.</para>

<para>Using the scoring gives lots of control but filters
only at the thread level, i.e. you can watch and ignore threads; the
disadvantage of this, however, is that you may lose otherwise-useful
threads just because of one poster.</para>

<para>The solution is to use these in combination.</para>

<procedure>
<title>Creating a Killfile</title>
<step>
<para>Go to
<menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure
KNode</guimenuitem><guilabel>Reading
News</guilabel><guilabel>Filters</guilabel></menuchoice>.</para>
</step>

<step>
<para>Create a new filter below <guilabel>unread</guilabel>, called
<userinput>killfile on</userinput>. Be sure that <guilabel>Apply to single
articles</guilabel> is set and then click on the
<guilabel>Additional</guilabel> tab. Set score <quote>equal to or less than
zero</quote> (<guilabel>&lt;=</guilabel>); then click the
<guibutton>OK</guibutton> until you have exited the dialog.</para>
</step>

<step>
<para>Open an article whose author should be killed and just type
<keycombo action="simul">&Ctrl;<keycap>L</keycap></keycombo>(or
select, from the <guimenu>Scoring</guimenu> menu, <guimenuitem>Lower Score
for Author</guimenuitem>).  This opens the Rule Editor (a part of
scoring).  You can optionally give the rule a name that matches the 
author (<userinput>Kook</userinput>, for example.) and then, if this is
to be permanent, uncheck the <guilabel>expire automatically</guilabel>
box; you'll see that this rule will change the author's score to minus
ten (or the score you entered); finally, click <guibutton>OK</guibutton>.</para>
</step>

<step>
<para>Go to the menu item
<menuchoice><guimenu>View</guimenu><guisubmenu>Filter</guisubmenu><guimenuitem>killfile on.</guimenuitem>
</menuchoice></para>
</step>
</procedure>

<para>This will cause any articles with scores less than zero will
disappear; to kill additional authors you only need repeat the
<keycombo action="simul">&Ctrl;<keycap>L</keycap></keycombo> part of
these instructions.</para>

</sect3>

</sect2> 

<sect2 id="knode-editor-advanced"> 
<title>The Composer</title> 
<anchor id="anc-knode-editor-advanced"/> 

<para>The &knode; composer provides many features, especially for
posting and replying to articles.</para> 

<sect3> 
<title>Publish Articles in Multiple Newsgroups</title>

<para>By selecting the Button <guilabel>Browse</guilabel> you can
choose additional newsgroups you want to publish your article
in.</para> 

<caution> 
<para>It is generally undesirable to post articles in multiple
newsgroups: please think twice about it; if you are not sure where to
post your article ask in one of the possible groups &mdash; somebody will
tell you were to post.</para> 
</caution> 
</sect3> 

<sect3> 
<title>Redirect Followups</title> 

<para>The main use of this feature is when a thread has gone
off topic for the newsgroup in which it is posted; for example, a thread may
start in a &kde; newsgroup discussing how to redirect a followup in &knode;,
but may leads to a dicussion about graphical and text based
newsreaders.</para>

<para>Sometimes it happens that usenet users post an article into the
wrong newsgroup; very often those articles are just ignored. If it
looks like the author did this unintentionally, you might like to tell
them politely and make the followup articles go into the right
group.</para>

<para>Another reason for using <guilabel>Followup-To:</guilabel> is a
when dealing with articles cross-posted across in multiple newsgroups:
you should take care that the replies are only posted in one single newsgroup.</para> 

<para>You can activate this by filling the text box
<guilabel>Followups - To:</guilabel>; here you can enter the suitable
group.  If there are multiple newsgroups in the 
<guilabel>Groups:</guilabel> field, they are shown in the drop-down
list.</para> 

<tip> 
<para>If you enter <userinput>poster</userinput> here, instead of a
newsgroup, the replies will go directly to the author, not to the
newsgroup.</para> 

<para>Some people put an email address here, but this is not a valid
entry:  use <userinput>poster</userinput> and correctly set your
Reply-To address in the normal &knode; settings.</para>

</tip> 

</sect3> 

<sect3> 
<title>Working With an External Editor</title> 

<para>Using <menuchoice><guimenu>Tools</guimenu><guimenuitem>Start
External Editor</guimenuitem></menuchoice> you can start an editor of
your choice for editing the reply; this way you can use your preferred
Editor for writing articles and e-mails.</para> 

</sect3> 

<sect3> 
<title>Spelling</title> 

<para>By selecting
<menuchoice><guimenu>Tools</guimenu><guimenuitem>Spelling</guimenuitem></menuchoice>,
you can check the article in the composer for spelling errors.</para> 

</sect3> 

<sect3> 
<title>Sending Attachments</title> 

<para>By selecting
<menuchoice><guimenu>Attach</guimenu><guimenuitem>Attach
File</guimenuitem></menuchoice> you can open the File Selection Dialog
Box; here you can choose the file you want to attach.</para> 

<para>Most of the time, &knode; determines the correct
<acronym>MIME</acronym> type for the attachment; if &knode; detects
it incorrectly, you can correct the <acronym>MIME</acronym> type manually.</para>

<para>This screenshot shows the Composer with 2 attachments: a text
file and a PNG picture.</para> 

<screenshot> 
<screeninfo>Sending Attachments</screeninfo> 
<mediaobject> 
<imageobject> 
<imagedata fileref="knode-composer-attachments.png" format="PNG"/> </imageobject> 
<textobject> 
<phrase>Sending Attachments</phrase> 
</textobject> 
<caption> 
<para>Sending Attachments</para> 
</caption> 
</mediaobject> 
</screenshot> 

<caution> 
<para>Only do this if you know what you're doing! An incorrect
<acronym>MIME</acronym> type could cause the attachment to be sent
incorrectly, or mean that the attachment will not be able to be
rebuilt after sending.</para> 
</caution> 

<tip> 
<para>The English word attachment is used all over the world; you can
use it in your language, too.</para> 
</tip> 

<important> 
<para>In most newsgroups, attachments are prohibited: do not send
unsolicited attachments; if you are asked to send them, look who is
asking for them &mdash; normally, the person will want you to send them by
email.</para> 

<para>The news server will probably reject articles with attachments
for most groups anyway; those that do accept attachments
normally have the word <quote>binaries</quote> in their name. Some
news servers even stop carrying non-binaries newsgroups that
continuously receive attachments.</para>
</important> 
</sect3> 
</sect2> 

<sect2> 
<title>Searching for Articles</title> 

<para>Sooner or later, you will want to search for one specific
article; the &knode; search feature is an easy way to do this.</para> 

<para>You can reach the search function by selecting
<menuchoice><guimenu>Edit</guimenu><guimenuitem>Search
Articles...</guimenuitem></menuchoice> or the by pressing
<keycap>F4</keycap>. The screenshot below shows the Search Dialog Box.</para> 

<screenshot> 
<screeninfo>The Search Dialog Box</screeninfo> 
<mediaobject> 
<imageobject> 
<imagedata fileref="knode-search.png" format="PNG"/> </imageobject> 
<textobject> 
<phrase>The Search Dialog Box</phrase> 
</textobject> 
<caption> 
<para>The Search Dialog Box</para> 
</caption> 
</mediaobject> 
</screenshot> 

<para>The Search Dialog Box has four tabs which allow several search
criteria: the first tab contains the settings for the
<guilabel>Subject</guilabel> and <guilabel>From</guilabel> criteria; the second
tab contains the settings for the <guilabel>message-IDs</guilabel> of
an article and its references; the third tab contains the settings for
the <guilabel>Status</guilabel> of an
article; the fourth tab, <guilabel>Additional</guilabel>, contains the remaining
criteria.</para>

<para>You have probably already noticed the similarities between the Filter
Dialog Box and the Search Dialog Box: the usage is the same and should
not be too complicated if you have already defined your own
filters.</para> 

<para>&knode; always searches in the currently-active newsgroup; a
search in all newsgroups is not possible at the moment. After the
Search has finished the articles found appear in the article view; when
you close the Search Dialog Box using <guibutton>Close</guibutton> 
the search results are deleted, and the old view of the newsgroup
appears again.</para> 

<sect3> 
<title><guilabel>Start Search</guilabel></title> 

<para>With this button you start the Search with the search criteria
you defined; all articles in the selected newsgroup, fulfiling these
criteria, appear in the article view.</para> 

</sect3> 

<sect3> 
<title><guilabel>New Search</guilabel></title> 

<para>This button resets all search criteria.</para>
 
</sect3> 
</sect2> 

<sect2 id="supersede-and-cancel"> 
<title>Supersede and Cancel Articles</title> 

<para>This chapter deals with superseding and canceling articles.  You
will not use these two features very often, but they do exist should
you, one day, need them.</para> 

<caution> 
<para>Both functions need a news server prepared to handle
them; you should also remember that there is no guarantee that no one has
already read your article before it is superseded or canceled.
</para>

<para>So first think, then post.</para> 
</caution> 

<sect3> 
<title>Cancel</title>

<para>Canceling an article means deleting it from the
newsgroup.</para> 

<para>Why should you want to cancel an article?  Perhaps you
flamed somebody in a rage and now you want to get this article out of
the newsgroup because you regret what you wrote: a personal insult,
read by everybody, doesn't look good, especially when you regret
it; so, there is only one thing you can do &mdash; cancel the article.</para> 

<para>Select the article you want to cancel and choose
<guimenuitem>Cancel article</guimenuitem> from its context menu. If
you are sure it is the right article, confirm &knode;s question with
<guibutton>Yes</guibutton>. Now you will be asked if you want to send the
Cancel message now or later; for this example we decide to send it
<guibutton>Later</guibutton>.  You will notice the new message in the
folder <guilabel>Outbox</guilabel>.</para> 

<para>Now we want to look at the so-called cancel message. In the
subject you will find something like:</para> 

<screen> 
<computeroutput>cancel of &lt;n177m8.1m.ln@konqui.org&gt;</computeroutput> 
</screen> 

<para>This strange letters between the brackets are the Message-ID of
the article you want to cancel.  This message tells the newsserver to
delete your article: if you look at complete header of this message,
by selecting <menuchoice><guimenu>View</guimenu><guimenuitem>Show all
headers</guimenuitem></menuchoice>, you will notice a line with the
name <emphasis>control</emphasis> and the content <emphasis>cancel
&lt;xxxxx@ddddd.dd&gt;</emphasis> &mdash; this line tells the server that
this message is a control message and, in our case, tells the server to
cancel your article.</para> 

<para>You can still delete the control message from the
<guilabel>Outbox</guilabel> should you change your mind.</para> 

<caution> 
<para>Keep in mind that articles can only be identified by their
Message-IDs; you need this Message-ID if you want to cancel an
article.  Normally, your article gets a Message-ID when it arrives at
the newsserver &mdash; that's why you can only cancel an article once
it has been published.  The articles in the 
<guilabel>Sent</guilabel> folder have no Message-ID, so you cannot cancel
them from there.</para> 

<para>There is one exception: if you have configured &knode; to
generate a Message-ID you can cancel you articles in folder
<guilabel>Sent</guilabel> too.</para> 

<para>&knode; allows only to cancel your own articles: it refuses to
cancel articles from other authors.</para> 
</caution> 

<warning>
<para>Since the cancel feature is so easily fooled, by newsreaders
that let you cancel any post, many news servers do not acknowledge
cancel messages from posters; even if your own <acronym>ISP</acronym>
accepts the cancel and passes it on, many other servers will ignore it
<emphasis>and will not pass it on</emphasis>.</para>

<para>You should consider any previously-sent article, canceled or
not, to be published and publicly available.</para>
</warning>

</sect3> 

<sect3> 
<title>Supersede</title> 

<para>Supersede overwrites your article with a new version. One reason
for doing this could be:</para> 

<para>You have written a long article and have already posted it; now, you
have found an error in this article: you could cancel this article, and post a
new, corrected, article; or, you can use Supersede.</para> 

<para>Select the article in the article view.  From its context menu
select <guimenuitem>Supersede article...</guimenuitem>. &knode; will
ask you if you really want to overwrite this article; if you confirm with 
<guibutton>Yes</guibutton> the Composer appears.</para> 

<para>In the Composer you can now make the desired corrections and
changes. You can then publish this article in the same way as you post
every other article; when the newsserver receives this article it
reads some special lines in the header which tell the newsserver to
supersede the older article.  Select
<menuchoice><guimenu>File</guimenu><guimenuitem>Send
Later</guimenuitem></menuchoice> for now, because we want to look at
the article's header in the <guilabel>Outbox</guilabel>.</para>

<para>Activate <menuchoice><guimenu>View</guimenu><guimenuitem>Show
all headers</guimenuitem></menuchoice>, because we want to see all the
headers the newsserver receives. You will notice a line like:</para> 

<para>Supersedes: &lt;oggcm8.4n5.ln@konqi.org&gt;</para> 

<para>This is the instruction for the newsserver for superseding the
article with the Message-ID &lt;oggcm8.4n5.ln@konqi.org&gt; with the
new article.</para> 

<para>Besides this, Supersede is used for periodical posted articles, &eg;
 an <acronym>FAQ</acronym>. The new article supersedes the old one and
 the newsgroups do not end up with lots of different versions.</para> 

<caution> 
<para>Again, using this function is only possible if the article
already has a Message-ID. Normally, articles get their Message-ID from the
newsserver: this means that you can only supersede articles which have
already been published.</para> 

<para>You can configure &knode; to generate this Message-ID, then you can
supersede your articles in the folder <guilabel>Sent</guilabel>,
too.</para> 

<para>&knode; allows you to only supersede your own articles.</para> 

</caution> 

<warning>
<para>As with cancels, supersede messages have been abused in the
past, with, for example, certain parties sending hundreds or even
thousands of them to overwrite legitimate posts with random computer
generated junk; again, as with cancels, many news servers do not
honor supersede messages, nor do they pass them on.</para>
</warning>

</sect3> 
</sect2> 

<sect2 id="score-watch-ignore"> 
<title>Score, watch, ignore</title>
 
<anchor id="anc-score-watch-ignore"/> 
<para>Score, Watch and Ignore are different names for the same
feature.</para> 

<para>By scoring a thread, you determine its importance. &knode;
allows scores between -100000 and 100000. A normal article will get a
score of 0 if you do not change this; threads with a score below 0
are less important than average; threads with a score above 0 are more
important than average.</para> 

<para>The score is an attribute of the thread and the articles in this
thread, so you can use the score for filtering and searching
articles; for example, you can define a filter to show only
articles with a score &gt; 0, i.e. all articles in which you are
specifically interested.</para> 

<para>The function <guilabel>Watch</guilabel> sets the score of
all article in a thread to 100; this way they get a high score and &knode;
labels them with a special icon.</para>

<para>The function <guilabel>Ignore</guilabel> does the
opposite: it scores all articles in a thread with -100 so &knode;
does not show these articles anymore.</para>

<tip> 
<para>The English word <quote>scoring</quote> is used in many other
countries, too.</para>
</tip> 

<para>You can score an article or a thread manually with the right
mouse button or with the <guimenu>Scoring</guimenu> menu &mdash; here you can
score with <guilabel>Watch Thread</guilabel> and <guilabel>Ignore
Thread</guilabel> directly.  Apart from scoring manually you can let &knode;
score the articles with scoring rules automatically; you can configure these
rules at <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure
KNode...</guimenuitem><guimenuitem>Reading
News</guimenuitem><guimenuitem>Scoring</guimenuitem></menuchoice> or
at <menuchoice><guimenu>Scoring</guimenu><guimenuitem>Edit scoring
rules...</guimenuitem></menuchoice> &mdash; the only difference between these
dialogs is that the last one has the rule-list next to the rule
configuration. In the following guide I'm using the editor that appears
if <menuchoice><guimenu>Scoring</guimenu><guimenuitem>Edit scoring
rules...</guimenuitem></menuchoice> is chosen.</para> 

<screenshot> 
<screeninfo>The Rule Editor</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="knode-rule-editor.png" format="PNG"/> </imageobject>
<textobject>
<phrase>The Rule Editor</phrase>
</textobject>
<caption>
<para>The Rule Editor</para> 
</caption> 
</mediaobject> 
</screenshot> 

<para>The composer consists of 4 areas: on the left side is the list
of the rules; with the buttons below the list you can add, delete or
copy an existing rule; below that you have the possibility to limit
the rules which are shown &mdash; you have the choice whether to show all
rules or only the rules for a specific <glossterm>newsgroup</glossterm>.</para> 

<para>If you chose a rule-name in the list you the rule will be displayed
on the right-hand side; now you can edit the rule. At the top you can change
the name of the rule and set the newsgroups to which this rule applies.
You can choose one or
more than one group, note that group names must be separated by a
semicolon.  You can choose from the subscribed groups with
the drop-down list and the <guibutton>Add group</guibutton> button; or
you can use regular expressions and wild cards, &eg; <quote>.*</quote> for all
groups.  The <guilabel>Expire rule automatically</guilabel> option
makes it possible to delete the rule automatically after the
configured number of days; this is useful if a specific person
behaves badly and you do not want to read anything from this person for a
few days.</para> 

<para>In the <guilabel>Condition</guilabel> field you enter the
condition on which this rule is activated.  Normally, you can enter only
one condition, but you can change this by pressing the 
<guibutton>More</guibutton> and <guibutton>Fewer</guibutton> buttons. If you
have more than one condition, you must tell knode whether all conditions
need to be fulfilled or only one of them; this can be done by choosing
<guilabel>Match all conditions</guilabel> or 
<guilabel>Match any condition</guilabel> respectively.
</para> 

<para>Each condition consists of 2 drop-down lists and a text
field. In the first list you chose the part of the message which should
be used for the condition &mdash; this part will be compared with the text
field; the second drop-down list tells &knode; how it is to be
compared, for example, whether the chosen header should be identical
to the text entered in the text field, or if it just needs to match part of it.
Regular expressions are allowed, too.
If you check <guilabel>Not</guilabel> then the conditions under which
the condition is satisfied are reversed, and the condition will be satisfied
if the opposite of its shown conditions is true.</para> 

<para>Now, let's have a look at some
examples.</para>

<itemizedlist> 
<listitem>
<para>Maybe you want to filter away all the postings by Theodor
Test; to do this choose the
<guilabel>From</guilabel> header line from the first drop-down
list, choose <guilabel>is exactly the same as</guilabel> from the second
drop-down list, and enter his name in the text field.
But, before doing this you should have a
look at the <glossterm>header</glossterm> of one of Theodor's
articles and see what is in the <quote>From</quote> line.</para>
</listitem> 
<listitem>
<para>If you do not want to read articles with more than 100 lines, choose
the header entry <guilabel>Lines</guilabel> from the first drop-down
list, choose <guilabel>greater than</guilabel> from the second, and enter
<userinput>100</userinput> in the text field. You probably, then, want to
score down the message.</para>
</listitem>
<listitem>
<para>Last example: of course, you're very interested in every article
that refers to &knode;.  Choose the header entry
<guilabel>Subject</guilabel>, then <guilabel>contains substring</guilabel>
and enter <userinput>knode</userinput> in the text field. But what do
you do if &knode; is not mentioned in the
<guilabel>Subject</guilabel>?  I suggest using a regular
expression: change <guilabel>contains substring</guilabel> to
<guilabel>matches regular expression</guilabel> and type
<userinput>knode|newsreader|usenet</userinput> into the text
field to match either knode, newsreader or usenet &mdash; the <userinput>|</userinput> symbol
means OR.  Alternatively, you can make 3 conditions &mdash; one that matches knode,
one that matches newsreader and so on &mdash; and choose
<guilabel>Match any condition</guilabel>; but, this needs a lot of
space and it is not very elegant, is it?</para>
</listitem>
 
</itemizedlist> 

<para>Once your condition is ready you should set an action down in the
<guilabel>Actions</guilabel> section. The most important action is
<guilabel>adjust score</guilabel>; if this action is chosen you can
raise or lower the score, by the configured value, for articles to which
this rule applies.  &knode; can also show you a little message when finding
such an article or colorize the header in the article list; for example, you could make
interesting articles scraeming pink so you would notice them very
quickly.</para> 

<para>When leaving the editor, or when the 
<menuchoice><guimenu>Scoring</guimenu><guimenuitem>Recalculate
scores</guimenuitem></menuchoice> menu item is chosen, the rules are executed; furthermore,
the rules are automatically used for new
<glossterm>articles</glossterm>.  Scoring makes the most sense when
used with filters: by scoring some articles down and filtering them away
they won't appear in the article list.</para>

</sect2>

<sect2 id="group-identity"> 
<title>Group identities</title> 

<para>With &knode; you can use a different identity with every
newsgroup to which you are subscribed; i.e. you can set a name, email address,
reply-to address and signature to use with that group.</para>

<para>It is easy to set group identities.  First, with the right mouse button,
click on the name of the newsgroup in which to have a different identity in; then,
select <guimenuitem>Group Properties</guimenuitem> from the context menu
that appears.  In the dialog that appears the second tab contains
fields identical to the global identity settings; enter your settings here and
click <guibutton>OK</guibutton> to confirm the changes: then, your articles in
this group will always posted with this newly-entered identity.</para> 

<caution> 
<para>When you unsubscribe from a group you lose its identity
settings for this group: if you re-subscribe to the group, you will need to
re-enter its identity settings. For new newsgroups, the global identity is
used.</para> 
</caution> 

</sect2> 

<sect2 id="multiple-news-accounts"> 
<title>Managing Multiple News Accounts</title> 

<para>&knode; can handle an unlimited number of news server accounts in
addition to your main news server; most users don't need this feature,
but it can be very useful to if your main newsserver does not provide
all groups you want to read.  Typical cases of this are when support groups for
commercial software are hosted on a special, private, server or binary
newsgroups, which are only available from some servers.</para> 

<para>Another example of why you sometimes need more than one newsserver
is that sometimes not all interesting newsgroups are on one
server; in fact, there is very often only a selection of
newsgroups.  For example, many servers do not support binary
groups with pictures or programs; if you want such a newsgroup and
your newsserver provider does not want to serve it you can configure
&knode; to get it from another server.</para>

<para>Or, perhaps you find you are just subscribed to too many
newsgroups, and would like to organize them a little better;  you
could set up several accounts for the same server, perhaps one for
groups you read every day, and one for groups you read less often, so
that you do not have to search for your <quote>everyday</quote> groups
in a long list of subscribed groups.</para>

<para>In order to add an new account, open the preferences
dialog via
<menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure
KNode...</guimenuitem><guilabel>Accounts</guilabel><guilabel>News</guilabel>
</menuchoice>.  The <guibutton>New</guibutton> button creates a new
account; you then have to enter the same data as for your first
account, typically a name for the account, the host name, and a user name
and password if the server requires authentication.  When
this is done the new server will appear both in the configuration
dialog and in the group view: you can now subscribe to
newsgroups.</para>

<para>You can delete the currently-selected account by pressing the
<guibutton>Delete</guibutton> button.</para> 

<tip>
<para>In the <guimenu>Account properties</guimenu> dialog (available
from the context menu of the newsserver) you can setup an identity for use
only on this newsserver.</para>
</tip>
</sect2>

<sect2 id="PGP-support">
<title>Sign and Verify Articles with <acronym>PGP</acronym></title>
<anchor id="anc-PGP-support"/>

<para><acronym>PGP</acronym> is the most-widespread method used to encrypt or
sign data.  Using the <glossterm>PGP-signature</glossterm> you can
verify if an article is really from the original author or if it has been
changed by others. You can find PGP-programs and guides at <ulink
url="http://www.pgpi.org">http://www.pgpi.org</ulink>.</para>

<para>With &knode; you can sign an article with
<acronym>PGP</acronym> and to verify <acronym>PGP</acronym>-signed
article.  After you have configured the <acronym>PGP</acronym> support,
at <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure
Knode...</guimenuitem><guilabel>Signing/Verifying</guilabel></menuchoice>,
you can sign articles in the editor with the 
<menuchoice><guimenu>Tools</guimenu><guimenuitem>Sign article with
PGP</guimenuitem></menuchoice> menu item &mdash; you will be asked for your passphrase
and after that the article will be signed.</para>

<caution> 
<para>Your <application>GnuPG</application>/<acronym>PGP</acronym>
<acronym>ID</acronym> is automatically built from your name and your
email address and is identical to the sender of the message
(<quote>From</quote>-header).</para>
</caution>

<para> To verify
a <glossterm>PGP-signature</glossterm> you have to choose the menu
item <menuchoice><guimenu>View</guimenu><guimenuitem>Verify
PGP-signature</guimenuitem></menuchoice>.</para> 
</sect2>

</sect1> 
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
sgml-minimize-attributes: nil
sgml-general-insert-case: lower
sgml-parent-document:("index.docbook" "chapter" "sect1")
End:
-->
