#$Id: TODO,v 1.41 2007/12/19 17:00:00 joshr Exp $

		TODO LIST for SMAN
		Josh Rabinowitz, 2005-2007  <joshr>



FIXES
  * Fix bs from CPAN in Sman::Util::CheckSwisheVersion() (see code)
  * *** Make sure we find /usr/local/bin/swish-e, even if /usr/local/bin isn't in path! (?)
  * test that %V in sman-defaults.conf's SWISHE_IndexPointer is set right
  * code cleanup & rewrite

OUTPUT
  * group identical/related man pages ala 'whatis' 
  * check commands such as man, col, & gunzip exist before using 
  * make XML 'most cannonical' 

BUILD AND INSTALL
  * Write Bundle::Sman 
    to install or upgrade Swish-e, SWISH::API, and other pre-reqs
    but only at the user's request
  * improve install:: routine in Makefile.PL to respect user's choices:
    like where to install sman and sman-update 
  * deal with issue of adding /usr/local/lib to /etc/ld.config 
    or equivalent for  Swish-e's shared libs
  * suggest (install?)  cronjob to run sman-update

TESTS
  * build a small index and search on it
    (stuffing in canned XML, and by converting man pages)
  * converting one or more very, very common manpages (if found)
  * fix --testfile option on sman-update
  * cleanup CheckForSwisheVersion() for PAUSE indexer

RUNTIME
  * Autoprobe for arcane features of man (ie, will 'man n wm' work on OSX?)
  * runlock to avoid 2 sman-updates at once
  * catch possible 'err: Severe index error in header' error from Swish-e
    (this occurs if the sman index was created by an older version of 
     Swish-e than is currently installed)


DOCUMENTATION 
  * write an FAQ
  * write up user's guide to searching: how to search on parts, 
    query syntax, and what a word is (that mod_perl, Time::HiRes, and 
    named.conf are all words!)
  * arrange to have create/installer create complete html, ps, and pdf 
    docfiles (if possible) on the build system
  
SECURITY
  * allow admin to configure user sman-update runs as:
    add USER and GROUP directives for sman-update settings
  * document running as low-priv user more fully
  * make taint-clean? use Safe.pm?
  * watch what we pass to the shell more carefully

PARSING AND LANGUAGES
  * get manpages to wrap lines at 256 chars on OSX
  * autoprobe for weird man abilities: Q: will this work? 'man n xxx'
    A: On more modern OS's, yes, but not in Days Of Yore (on some systems) 
  * why do we get man pages in section '0p' on FC4?
  * parse non-english, non-multibyte, non-utf8 man pages...
    such as those in  /usr/share/man/(cs|de|es|rt|ru)/
  * perhaps make a separate index for each language 
  * adjust for possible SETENV LANG C type needs for UTF systems
  * make man page parser better. 
    * rewrite wacky ASCII manpage parser to something of beauty
    * get 'man' to wrap lines at more than 80 chars
    * recognize aliases and manpages containing, i.e.: ".so /file/this"
  * parse XML::Simple::FAQ correctly on FC1
  * we need input from groff and manpage experts
    on what makes sense on particular systems 
 
INDEXING AND SEARCHING
  * do hiliting for searches like 'Cache::*' correctly
  * preserve configuration settings (perhaps the whole configuration file used) 
    in the index, or somewhere for later inspection, perhaps .../[indexname].conf
  * Consider handling .gz/.bz2 files ourselves,
    perhaps with 'preprocess' and 'postprocess' steps
  * make sure tmp sman-swish-conf... files get 
    deleted if sman-update is interrupted 

