summaryrefslogtreecommitdiffstats
path: root/doc/knode/using-morefeatures.docbook
blob: 28d3142c2b5bd9ecda4938d414da4c58be04a645 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
<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>