File: help.C

package info (click to toggle)
peruser 4b33-10
  • links: PTS
  • area: main
  • in suites: woody
  • size: 2,944 kB
  • ctags: 1,064
  • sloc: cpp: 22,397; perl: 2,733; makefile: 345; sh: 335
file content (243 lines) | stat: -rw-r--r-- 12,077 bytes parent folder | download | duplicates (2)
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
static char *help_text = "NEWS PERUSER OVERVIEW\n"
"\n"
"News Peruser is a suite of seven small programs to enable \n"
"one to do offline reading and composition of Usenet news\n"
"articles. Peruser can compose replies-by-mail, as well, and\n"
"pass them off to a local sendmail. The toplevel applet's\n"
"filename is npcollections, but the distribution Makefile\n"
"attempts to make a symbolic link from npcollections to\n"
"peruser in /usr/local/bin, so you should be able to launch\n"
"News Peruser by typing either name at the shell prompt.\n"
"\n"
"\n"
"CONFIGURATION\n"
"\n"
"Almost all configuration of News Peruser is accomplished\n"
"with the npconfig applet, which is launched by pressing the\n"
"configure button of npcollections, although it can be\n"
"launched from the command line. Only the first three\n"
"notebook pages are required to be completed for Peruser to\n"
"function properly, the rest of the pages specify optional\n"
"parameters. The npconfig program accepts no command-line\n"
"arguments. \n"
"\n"
"\n"
"THE SERVER TREES\n"
"\n"
"Newsgroups are organized into trees in the main scrolled\n"
"window widget of npcollections. The root node of each tree\n"
"is the server node, and its children are the group nodes.\n"
"Folders, if any have been configured, are represented by a\n"
"separate tree, below the news server trees in the scrolled\n"
"window. Folders are spool files where the user can store\n"
"abitrary messages indefinitely.\n"
"\n"
"All news server trees have four groups appended to their\n"
"trees automatically upon creation: the FOLLOW-UPS group, the\n"
"POSTED group, the OUTBOX group, and the SENT-MAIL group.\n"
"Original news articles created by News Peruser for a\n"
"particular news server, sit in the FOLLOW-UPS group until\n"
"the next time the group is transferred, when Peruser will\n"
"attempt to post the articles to the appropriate news server.\n"
"Successfully posted articles are moved from the FOLLOW-UPS\n"
"group to the POSTED group, where they sit until explicitly\n"
"deleted.  Outgoing mail messages generated by Peruser sit in\n"
"the group's OUTBOX file until the next time the group is\n"
"transferred, when Peruser will attempt to pass the messages\n"
"off to the sendmail program. Sent mail is moved from the\n"
"OUTBOX group to the SENT-MAIL group, where it sits until\n"
"explicitly deleted by the user. \n"
"\n"
"\n"
"MANUAL DATABASE MANAGEMENT\n"
"\n"
"The scope of the actions which the transfer, pack, expire,\n"
"and search buttons launch, is limited by the\n"
"currently-selected node in the server tree of npcollections.\n"
"If a server node is selected, then only the newsgroups in\n"
"that server's tree will be affected. If a single newsgroup\n"
"is selected, then only that group will be affected. If no\n"
"selection exists in the server tree, all groups of all\n"
"server nodes will be affected by the transfer, pack, expire,\n"
"or search operation.\n"
"\n"
"All message transfers are started by pressing the transfer\n"
"button of npcollections. The transfer operation actually\n"
"performed depends upon the type of the group which is\n"
"currently being processed. Transferring an actual newsgroup,\n"
"will cause the nptransfer program to retrieve usenet\n"
"articles or headers from their appropriate news servers into\n"
"the corresponding spool files, for FOLLOW-UPS groups\n"
"transferring the group will cause nptransfer to attempt to\n"
"post any articles in the group to the appropriate news\n"
"server, for OUTBOX groups the nptransfer program will\n"
"attempt to send any outgoing mail messages to the sendmail\n"
"program, and lastly for folders, any header-only messages\n"
"marked as requested in the folder will cause nptransfer to\n"
"try to replace them with their full article text. The\n"
"appropriate action is performed automatically.\n"
"\n"
"The only means to remove messages from actual newsgroups is\n"
"by packing or expiring them. To pack a newsgroup, means to\n"
"remove all the seen articles from it. To expire a newsgroup,\n"
"means to remove all articles having a Date header describing\n"
"a time older than the configured expiry period displayed on\n"
"the first notebook page of the npconfig applet. If you wish\n"
"to keep particular messages, and remove others, you may mark\n"
"those you wish to keep as unseen, and those you wish to\n"
"remove as seen, and then pack the newsgroup, or you can copy\n"
"the messages into a folder, where they will remain until\n"
"explicitly deleted.\n"
"\n"
"Folders, FOLLOW-UPS, POSTED, OUTBOX, and SENT-MAIL groups\n"
"are not affected by packing or expiring. Messages linger in\n"
"these groups until they are explicitly deleted or they are\n"
"posted/mailed.  All explicitly deleted messages are stored\n"
"on disk by Peruser and can be undeleted or purged from\n"
"storage by pressing the undelete button on the npcollections\n"
"window.\n"
"\n"
"\n"
"AUTOMATED DATABASE MANAGEMENT\n"
"\n"
"You don't need to read this paragraph unless you want to\n"
"automate the upkeep of Peruser's database. Management of\n"
"News Peruser's spool files is accomplished by two filters,\n"
"npsepax and nptransfer. News transport functions are\n"
"performed by nptransfer, which also passes off outgoing\n"
"mail. Packing and expiring of spoolfiles is performed by the\n"
"npsepax program. Each of these programs will spit out a\n"
"usage message if you try to launch them from the shell with\n"
"no arguments. One launches these programs, setting some\n"
"options on the command line, and then feeds server and group\n"
"names to the program's standard input in this form:\n"
"server.address:group.name[newline]. The filters perform the\n"
"appropriate actions and return the number of messages\n"
"transferred/packed/expired to standard output. One may use\n"
"these programs in cron jobs or shell scripts to automate the\n"
"upkeep of the article database without launching the GUI.\n"
"The other programs in the suite are not intended to be used\n"
"independently, but are part of the GUI and are launched by\n"
"the toplevel npcollections program as necessary.\n"
"\n"
"\n"
"HELPERS\n"
"\n"
"If you have Perl installed on your system the helpers applet\n"
"will be built at compile-time. This applet is merely a\n"
"button-bar that allows external programs to be launched with\n"
"a click of a button. The command line to be passed to the\n"
"shell, the button label text, and the button's bubble help\n"
"text are specified in the file peruser4-helpers, which by\n"
"default is installed in /usr/local/share/news-peruser,\n"
"unless you passed a different directory to the configure\n"
"script at compile-time. Peruser is distributed with a simple\n"
"module for Perl, written in Perl, to allow Perl programs to\n"
"have higher-level access to the article database.\n"
"\n"
"A number of Perl programs are included in the Peruser\n"
"distribution to accomplish such tasks as the feeding of\n"
"articles to external programs to decode encoded data in MIME\n"
"messages, to display embedded encoded image files, or the\n"
"filtering of articles into folders based on the content of\n"
"header lines, using Perl regular expressions. \n"
"\n"
"You can write your own Perl programs to automate your own\n"
"tasks, and add them to the helpers button-bar, by adding an\n"
"entry in peruser4-helpers. Helpers may be written in any\n"
"language, but you can only use the included Perl module with\n"
"Perl programs, of course. The Perl module includes the\n"
"functions safe_open and safe_close, which use Peruser-style\n"
"lockfiles to mediate access to the spool files to prevent\n"
"data corruption. Peruser's lockfiles consist of the\n"
"file-to-be-locked's filename with a ':lock' suffix appended.\n"
"You will have to manage these lockfiles yourself to mediate\n"
"access to the spool files, if you write helpers in a\n"
"language other than Perl.\n"
"\n"
"\n"
"HEADER RETRIEVAL \n"
"\n"
"News Peruser has been designed with the concept of header\n"
"retrieval in mind. It is assumed that the user will wish to\n"
"quickly download just the headers of the unseen articles\n"
"from the newsgroups he or she is interested in, and then,\n"
"perhaps while offline, peruse those headers, marking those\n"
"messages whose full article text is of interest as requested\n"
"for future downloading.  The user can then reconnect to the\n"
"news server and transfer only the text of those particular\n"
"messages, saving considerable time if he or she reads many\n"
"newsgroups over a slow, dial-up network connection. If you\n"
"have Perl installed on your system, there will are helper\n"
"scripts you can use to automate this process.\n"
"\n"
"\n"
"THE THREAD TREE\n"
"\n"
"Selecting a group node in the server tree will launch the\n"
"npsummary applet to display the contents of that group. In\n"
"the thread tree of the npsummary applet, the colour of the\n"
"node indicates whether the corresponding message contains a\n"
"full article, or just the header, whether or not the header\n"
"has had its full article text requested for future\n"
"downloading, and whether the message has been seen or not.\n"
"An entry in black is a full article. An entry in red is a\n"
"header-only message. An entry in green is a header-only\n"
"message that has has been requested for future downloading.\n"
"Any entry in boldface, of any colour, is considered to be\n"
"unseen.  As well, An uppercase 'D' preceding a entry\n"
"indicates it is a dummy node, inserted into the thread tree\n"
"by the program to represent a missing precursor, or to act\n"
"as a dummy root node for messages which have the same\n"
"Subject header, but which reference messages not currently\n"
"residing in the newsgroup's spool file. Dummy nodes are\n"
"displayed in blue. \n"
"\n"
"The fractions beside tree entries represent statistics for\n"
"the group or thread which they appear beside: \n"
"\n"
"   unseen-messages/total-messages :\n"
"   requested/header-only-messages.  \n"
"\n"
"\n"
"VIEWING TEXT\n"
"\n"
"Selecting an item in npsummary's thread tree that\n"
"corresponds to a message, and not a dummy node, launches the\n"
"text viewer applet, nptext, to view the text of the message.\n"
"The nptext program attempts to use the iso-8859-1 character\n"
"set to display article text, and can recognize MIME\n"
"quoted-printable encodings of this character set in both the\n"
"headers and body of an article, and will display the text\n"
"decoded. Beyond that, the nptext program has no further\n"
"MIME-related capability. See the help text above on HELPERS\n"
"for more details on handling MIME messages containing\n"
"encoded data.\n"
"\n"
"\n"
"MESSAGE COMPOSITION\n"
"\n"
"Peruser can generate original news articles,\n"
"replies-by-mail, and follow-up articles, by pressing the\n"
"appropriate button the the frame of the nptext applet. The\n"
"npcompose applet will create a minimal Usenet header, which\n"
"one may edit to one's liking, or leave as is. npcompose can\n"
"also launch an external editor if you prefer to use your\n"
"favourite text composition tool to create your messages. The\n"
"command to launch the external editor must be entered on the\n"
"first notebook page of the npconfig applet first.\n"
"\n"
"Peruser can also generate cancel and supersede messages for\n"
"sucessfully posted articles. If a non-empty POSTED group is\n"
"selected, the Cancel and Supersede buttons appear on the\n"
"message viewer applet's frame.  Selecting a message in the\n"
"group and pressing the Cancel button will cause Peruser to\n"
"generate the header of a cancel message. A cancel message\n"
"needs no body text. When posted, the cancel message will\n"
"cause the news server to discard the successfully posted\n"
"article the cancel message refers to, and to propagate the\n"
"cancel message to other servers it exchanges news with.  A\n"
"supersedes message is a cancel message and new Usenet\n"
"article merged into one article.  If you wish to cancel a\n"
"message and post a replacement message, create a supersedes\n"
"message instead.\n";