<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 dialogue 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> dialogue</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="knode-edit-filter.png" format="PNG"/> </imageobject>
<textobject>
<phrase>The <guilabel>New Filter</guilabel> dialogue</phrase>
</textobject>
<caption>
<para>The <guilabel>New Filter</guilabel> dialogue</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 dialogue.</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 discussion 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 Dialogue 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 Dialogue Box.</para> 

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

<para>The Search Dialogue 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 Dialogue Box and the Search Dialogue 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 Dialogue 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, fulfilling 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 cancelling 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 cancelled. </para>

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

<sect3> 
<title>Cancel</title>

<para>Cancelling 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, cancelled 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 honour 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 dialogues 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 colourise the header in the article list; for example, you could make interesting articles screaming 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 dialogue 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 organise 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 dialogue 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 dialogue 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> dialogue (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> 
