Initial commit.
[usenet/usestats.git] / usestats.readme
1 NAME\r
2        usestats - newsgroup statistic generator\r
3 \r
4 SYNOPSIS\r
5        usestats.pl [-hq] [-c <CONFFILE>] [-r|w <SAVEFILE>]\r
6 \r
7 DESCRIPTION\r
8        usestats erzeugt Statistiken über Newsgroups, indem vorhandene\r
9        Postings analysiert und daraus verschiedene Reports erstellt werden.\r
10 \r
11    Argumente:\r
12 \r
13        -h\r
14             Mit dem Argument -h wird eine kurze Hilfe ausgegeben.\r
15 \r
16        -q\r
17             Mit dem Argument -q werden alle Statusausgaben auf STDERR\r
18             unterdrückt.\r
19 \r
20        -c\r
21             Mit dem Argument -c, gefolgt nach Leerzeichen von einem\r
22             Dateinamen, kann eine Konfigurationsdatei übergeben werden.\r
23 \r
24             Beispiel: usestats.pl -c usestats.cfg\r
25 \r
26        -w\r
27             Mit dem Argument -w, gefolgt nach Leerzeichen von einem\r
28             Dateinamen, können die Daten der eingelesenen Postings\r
29             gespeichert werden. Spätere Durchläufe von usestats.pl\r
30             können dann auf diese gespeicherten Daten zurückgreifen.\r
31 \r
32             Beispiel: usestats.pl -w de-admin-misc.txt\r
33 \r
34        -r\r
35             Mit dem Argument -r, gefolgt nach Leerzeichen von einem\r
36             Dateinamen, können gespeicherte Daten zuvor eingelesener\r
37             Postings aus einem früheren Durchlauf von usestats.pl\r
38             wieder geladen werden.\r
39 \r
40             Beispiel: usestats.pl -r de-admin-misc.txt\r
41 \r
42    Eingabeformate:\r
43 \r
44        usestats verarbeitet verschiedene Eingabeformate:\r
45 \r
46        (1) MBOX-Datei\r
47 \r
48             Die Postings müssen in diesem Fall als Unix-MBOX-Datei vorliegen,\r
49             also fortlaufen, getrennt jeweils durch eine Zeile der Form "From\r
50             <user>@<domain> <dow> <mon> <day> <hour>:<minute>:<second>\r
51             <year>". In dieses Format können etliche Clients die Postings\r
52             exportieren; abgesehen davon gibt es eine ganze Reihe\r
53             Konvertierungsprogramme, die MBOX-Dateien ausgeben.\r
54 \r
55             Die MBOX-Datei wird einfach in usestats gepiped:\r
56 \r
57             usestats.pl < mypostings.txt\r
58             usestats.pl -cusestats.cfg < mypostings.txt\r
59 \r
60        (2) data.dat-Datei (Hamster)\r
61 \r
62             Eine in dem Mail-und Newsserver "Hamster" fuer Windows-Systeme\r
63             vorliegende Newsgroup kann auf dieselbe Weise in usestats\r
64             gepiped werden. Zu diesem Zweck wird die entsprechende\r
65             data.dat-Datei, die die Postings enthält, aus dem jeweiligen\r
66             Spoolverzeichnis (...\Groups\news.grup.pe\data.dat) in\r
67             usestats gepiped:\r
68 \r
69             usestats.pl -cusestats.cfg < Groups\hamster.de.talk\data.dat\r
70 \r
71             Zu diesem Zweck muss das zu parsende Format in einer\r
72             Konfigurationsdatei auf "hamster" umgestellt werden.\r
73 \r
74        (3) Spoolverzeichnis\r
75 \r
76             usestats kann auch ein Spoolverzeichnis verarbeiten, in dem jedes\r
77             Postings als einzelne Datei vorliegt, also bspw. im "traditional\r
78             spool" von INN. Für diese Art der Verarbeitung muss in der\r
79             Konfigurationsdatei die Variable "spooldir" gesetzt sein.\r
80 \r
81             Beispiel: /var/spool/news/de/test\r
82 \r
83    Reporte:\r
84 \r
85        (1) Postings pro Tag\r
86 \r
87             Dieser Report gibt aus, wie viele Postings pro Tag angefallen\r
88             sind, aufsummiert nach Monaten.\r
89 \r
90        (2) Newsgroupnutzung\r
91 \r
92             Dieser Report gibt an, in wecher Newsgroup im Statistikzeitraum\r
93             wie viele Postings abgesetzt wurden. Crossposts in mehrere Gruppen\r
94             zugleich werden in jeder Gruppe als einzelnes Posting gezählt.\r
95 \r
96        (3) Poster (unstrukturiert)\r
97 \r
98             Dieser Report gibt an, wer im Statistikzeitraum wie viele\r
99             Postings abgesetzt hat.\r
100 \r
101        (4) Poster (strukturiert)\r
102 \r
103             Für diesen Report werden alle Poster mit identischem Realnamen\r
104             zusammengefasst, unabhängig von ggf. wechselnden Mailadressen.\r
105 \r
106        (5) Subjects\r
107 \r
108             Dieser Report fasst zusammen, wie viele Postings zum jeweiligen\r
109             Subject angefallen sind.\r
110 \r
111        (6) Newsreader\r
112 \r
113             Schließlich werden die verwendeten Newsreader statistisch\r
114             erfassrt.\r
115 \r
116        (7) Nutzer pro Newsreader\r
117 \r
118             Auch der Nutzeranteil pro Newsreader kann ausgegeben werden.\r
119 \r
120    Konfigurationsdatei / Variablen:\r
121 \r
122        Die Konfigurationsdatei besteht aus Zuweisungen von Werten zu\r
123        Parametern in der Form\r
124 \r
125        parameter = wert\r
126 \r
127        Mit "#" eingeleitete Zeilen sind Kommentare.\r
128 \r
129        Es können folgende Parameter gesetzt werden:\r
130 \r
131        spooldir:\r
132             Das Spoolverzeichnis, falls die Postings von dort gelesen werden\r
133             sollen. "spooldir" darf nicht gesetzt sein, wenn man eine MBOX in\r
134             usestats pipen möchte.\r
135 \r
136             Default: <undef>\r
137 \r
138        recursive:\r
139             Dieser Parameter kann den Wert 0 oder 1 annehmen und entscheidet\r
140             entscheidet darüber, ob das Spoolverzeichnis rekursiv verarbeitet\r
141             werden soll, d.h. alle darunterliegenden Unterverzeichnisse auch.\r
142             Ermöglicht die Verarbeitung nicht nur einzelner Newsgroups,\r
143             sondern auch ganzer Hierarchien oder des kompletten Newsspools des\r
144             Servers.\r
145 \r
146             Noch nicht intensiv getestet, Fehler bitte mitteilen!\r
147 \r
148             Default: 0\r
149 \r
150        pipeformat:\r
151             Das Format der Datei, die in usestats gepiped wird.\r
152             Mögliche Werte sind 'mbox' fuer eine Datei in MBOX-Format oder\r
153             'hamster' fuer eine .dat-Datei des Hamsters.\r
154 \r
155             Default: mbox\r
156 \r
157        charset\r
158             Der Zeichensatz, in dem die Ausgabe erfolgen soll. In diesen\r
159             Zeichensatz werden From:- und Subject:-Header für die Ausgabe\r
160             konvertiert. (Die Ausgaben des Programms selbst umfassen nur\r
161             7bit-ASCII-Zeichen.)\r
162 \r
163             Default: ISO-8859-1\r
164 \r
165        tz:\r
166             Die lokale Zeitzone. Empfohlen wird die Angabe als Abweichung von\r
167             GMT, also bspw. "+0200".\r
168 \r
169             Default: +0200\r
170 \r
171        newsgroup:\r
172             Wenn dieser Parameter angegeben wird, werden nur Postings\r
173             erfasst, die -auch- in diese Newsgroup gegangen sind.\r
174 \r
175             Default: <undef>\r
176 \r
177        start:\r
178             Bei Angabe dieses Parameters werden nur Postings nach diesem\r
179             Datum erfasst. Die Angabe sollte im ISO-Format erfolgen, also\r
180             bspw. "2003-10-01" für den 1. Oktober 2003. Die Verwendung von\r
181             "start"/"stop" verlängert die Programmlaufzeit.\r
182 \r
183             Default: <undef>\r
184 \r
185        stop:\r
186             Bei Angabe dieses Parameters werden nur Postings vor diesem Datum\r
187             erfasst. Die Angabe sollte im ISO-Format erfolgen, also bspw.\r
188             "2003-10-31" für den 31. Oktober 2003. Die Verwendung von\r
189             "start"/"stop" verlängert die Programmlaufzeit.\r
190 \r
191             Default: <undef>\r
192 \r
193        day:\r
194             Dieser Parameter kann den Wert 0 oder 1 annehmen und entscheidet\r
195             darüber, ob der Report "Postings pro Tag" ausgegeben werden soll.\r
196 \r
197             Default: 1\r
198 \r
199        newsgroups:\r
200             Dieser Parameter kann den Wert 0 oder 1 annehmen und entscheidet\r
201             darüber, ob der Report "Newsgroupnutzung" ausgegeben werden\r
202             soll.\r
203 \r
204             Default: 0\r
205 \r
206        poster:\r
207             Dieser Parameter kann den Wert 0 oder 1 annehmen und entscheidet\r
208             darüber, ob der Report "Poster (strukturiert)" ausgegeben werden\r
209             soll.\r
210 \r
211             Default: 1\r
212 \r
213        posterraw:\r
214             Dieser Parameter kann den Wert 0 oder 1 annehmen und entscheidet\r
215             darüber, ob der Report "Poster (unstrukturiert)" ausgegeben\r
216             werden soll.\r
217 \r
218             Default: 0\r
219 \r
220        subject:\r
221             Dieser Parameter kann den Wert 0 oder 1 annehmen und entscheidet\r
222             darüber, ob der Report "Subjects (strukturiert)" ausgegeben\r
223             werden soll.\r
224 \r
225             Default: 1\r
226 \r
227        newsreader:\r
228             Dieser Parameter kann den Wert 0 oder 1 annehmen und entscheidet\r
229             darüber, ob der Report "Newsreader (strukturiert)" ausgegeben\r
230             werden soll.\r
231 \r
232             Default: 1\r
233 \r
234        nruser:\r
235             Dieser Parameter kann den Wert 0 oder 1 annehmen und entscheidet\r
236             darüber, ob der Report "Nutzer pro Newsreader (strukturiert)"\r
237             ausgegeben werden soll.\r
238 \r
239             Default: 1\r
240 \r
241        unknownreader:\r
242             Dieser Parameter kann den Wert 'show' oder 'noshow' annehmen und\r
243             entscheidet darüber, ob unbekannte Newsreader mit dem vollen\r
244             Eintrag der Headerzeile User-Agent/X-Newsreader/X-Mailer\r
245             angezeigt oder unter "Sonstige" summiert werden sollen.\r
246 \r
247             Default: show\r
248 \r
249        poster_width:\r
250             Dieser Parameter gibt die Spaltenbreite an, die maximal für die\r
251             Namen der Poster zur Verfügung steht. Analog kann der Wert auch\r
252             für die anderen Reports - ausser day - gesetzt werden.\r
253             Der Wert sollte entsprechend der Angabe von poster_graph und der\r
254             erwünschten maximalen Zeilenlänge gewählt werden.\r
255 \r
256             Default: 30\r
257 \r
258        poster_indent:\r
259             Dieser Parameter gibt die Einrückung der Tabelle an. Analog kann\r
260             der Wert auch für die anderen Reports - ausser day - gesetzt\r
261             werden.\r
262 \r
263             Default: 2\r
264 \r
265        poster_lines:\r
266             Dieser Parameter gibt an, wie viele Zeilen die Tabelle haben\r
267             soll, ob also nur die häufigsten Poster genannt werden sollen. 0\r
268             gibt die komplette Tabelle aus. Analog kann der Wert auch für die\r
269             anderen Reports - ausser day - gesetzt werden.\r
270 \r
271             Default: 0\r
272 \r
273        poster_cutoff:\r
274             Dieser Parameter gibt an, wie viele Postings jemand mindestens\r
275             erreicht haben muss, um in die Tabelle aufgenommen zu werden. 0\r
276             gibt die komplette Tabelle aus. Analog kann der Wert auch für die\r
277             anderen Reports - ausser day - gesetzt werden.\r
278 \r
279             Default: 0\r
280 \r
281        poster_graph:\r
282              Dieser Parameter gibt an, wie breit die "grafische" Darstellung\r
283              der Prozentzahlen werden darf. 0 schaltet die Balkengrafik aus.\r
284              Analog kann der Wert auch für die anderen Reports - ausser day -\r
285              gesetzt werden.\r
286 \r
287              Default: 20\r
288 \r
289        graphchar:\r
290              Das Zeichen, das für die Balkengraphik verwendet werden soll.\r
291 \r
292              Default: #\r
293 \r
294 DEPENDANCIES\r
295        Die folgenden CPAN-Module werden neben Perl 5.6.1 oder höher benötigt:\r
296 \r
297             Locale::Recode (und die übrigen Module aus diesem Paket)\r
298             Date::Manip\r
299             Mail::Address\r
300             MIME::Words\r
301 \r
302 BUGS\r
303        - Fehler und Fehleingaben werden größtenteils nicht abgefangen.\r
304 \r
305        Weitere Bugs nimmt <thh@inter.net> gerne entgegen.\r
306 \r
307 TODO\r
308        - HMTL-Templates als weitere Ausgabemöglichkeit sind angedacht.\r
309 \r
310 AUTHOR\r
311        Thomas Hochstein <thh@inter.net>\r
312 \r
313 VERSION\r
314        V 0.17 [beta]\r
315 \r
316 COPYRIGHT\r
317        © 10/2003-10/2004 Thomas Hochstein.\r
318        See source for license und warranty.\r
This page took 0.020136 seconds and 3 git commands to generate.