- Add a test suite
There is currently no kind of test suite or regression tests. Something like
that is badly needed.
+ - separate directories (bin, config, ...)
+ - make NewsStats installable in accordance with LFS and customary procedures,
+ i.e. scripts to /usr/local/news/bin or /usr/lib/news/bin, configuration
+ to /usr/local/news/etc or /etc/news and so on
* Additional features
- Add hierarchy information (GroupInfo - Bugs #19 #20 #21 #22 #23 #24 #25 #26)
- Add other reports
NewsStats should include some other kinds of reports (stats on used clients,
on postings hosts/servers, ...)
+ - Add tools for database management
+ NewsStats should offer tools e.g. to inject postings into the 'raw' database,
+ or to split databases.
* Individual improvements
+ NewsStats.pm
- - Add error handling when reading config (Bug #13)
- NewsStats should check if all mandatory options are set. Some syntax or
- content related checks would be in order.
+ - Improve error handling when reading config
+ Some syntax or content related checks would be in order.
Some other tests - working database connection, valid database and table
names - would be nice.
+ install/install.pl
+ - Read current version from a file dropped and updated by installer
- Add / enhance / test error handling
- General tests and optimisations
- General tests and optimisations
+ gatherstats.pl
- - Fix database updates when re-running (Bug #18)
- Change REPLACE to DELETE with subsequent INSERT INTO (erase wrong data,
- i.e. non-existent groups)
- - Enhance TLH checks to allow for more than one TLH
- - Make gatherstats aware of hierarchy lists (Bug #17)
- A current (!) list of existing groups (checkgroups or INN active) should
- be honored, with optional modifications. Non-existing groups should be
- (logged and) dropped, existing groups with no postings should be set to 0.
- Hierarchy elements (*.ALL) must be taken into account.
- Perhaps invalid group names should also be checked (but what characters
- should be considered "invalid"?)
- GroupInfo (see above) could be an alternate solution.
+ - Use hierarchy information (see GroupInfo above)
- Add gathering of other stats (clients, hosts, ...)
- better modularisation (code reuse for other reports!)
- Add / enhance / test error handling
- General tests and optimisations
+ groupstats.pl
- - output: fix formatting - GetMaxLength does not work for special queries
- like -l or -b
- - beautify output (formats / captions)
- - -a: improve code - it doesn't make that much sense to get first/last
- month from database just to query that same database with a time period
- that equals no time period ... this part of the WHERE clause should be
- dropped instead
- - change precedence handling of -m/-p/-a: drop -m if -p or -a are present,
- drop -p if -a is present
- - save report(s) to a file (Bug #27)
- better modularisation (code reuse for other reports!)
- Add / enhance / test error handling
- General tests and optimisations