To Do:

General
--------
- Change and/or create help message subroutine = HELP_MESSGE  
(see documentation of Getops::Std)

- Use File::Spec where appropriate.

- Update/rewrite/etc comments and documentation as neccesary in all files.
After creating pod in Perl scripts, move content of the example scripts
to the pod documentation of the appropriate Perl script.

- The option added to define which type of database to use does not currently
do any error checking on that type;  the script will fail if a correct DBD name
is not used.  If do not explicitly do such error or other checking, document
the standard names for DBI DBD modules like SQlite (default), mysql, cvs, and
postgresql.

- The use of special characters like periods in table names is a more general
issue where it is not a good idea to use them at all.  Redo the comments in
scripts and modules regarding that, to generalize it.  (Derive function to
validate it and add that to the FTN::Database module?)

- Add a note in the documentation that the version number in the bin/ Perl
scripts matches up to the oldest version of the modules that they will run
with.  The version in FTN::Database is always the primary version, while the
version of the submodules matches up to the version at which they were last
changed.

- Change to using the options hash from GetOpt::Std instead of the individual
option variables like $opt_l.

- use the "if (defined $opt_l)" construct for checking options?


FTN::Database
--------------
- Add an explicit function to create a database, create_ftndb (not explicitly
  needed for default DBD SQLite but it can be for others).  Add function to use
  it, to the ftndbadm program.
- Create set_ftndb_acl subroutine? (Same reasoning as for create_ftndb.)
- Add a 'SEE ALSO' section of some sort, & reference FTN::Database.Nodelist.
- Reword SYNOPIS section.
- Possible function/subroutine that checks if a valid database table name is
  being used?


FTN::Database::Nodelist
------------------------
- Derive and move a function for executing queries on the nodelist table from
  the code used in the listftndb subroutine. 
- Derive and move function to insert or update an entry from nl2ftndb. Separate
  functions for insert & update, or different options in same function?
- Move get_nodelist_filename subroutine from nl2ftndb script?
- Add a 'SEE ALSO' section of some sort, & reference FTN::Database.
- Use a different datatype than "TIMESTAMP" for the 'updated' filed in the
  nodelist table?  (Not generic enough?)

  
FTN::Database::Echolist
------------------------
- Create an FTN database module for echolists which:  Creates or Drops an
  echolist table, default name "Echolist"?  Basic table would consist of
  (at least) the following fields:  name, description, source.
- Create or drop an index on that basic echolist table.
- Create an el2ftndb script, patterned after the nl2ftndb script, which can
  be used to load the echolist table?  Or add the functionality to one of 
  the existing scripts?


ftndbadm
--------
- Add better error checking.
- Add quiet option, -q, for logging only operation ? 
- Add an explicit function to create a database;  it's not needed for SQLite
  databases but it can be for others.  (See ToDo for FTN:Database)
- Add cammand/options to create or drop the ftnnode index on the nodelist table?
- Reorganize script to use a set of commands, not just parameters.


nl2ftndb
---------
- Move functionality into the ftndbadm script?
- Script does not seem to properly handle a file that ends in just blank
  lines, instead of a content line or a ^Z character. (Should fail gracefully
  for a badly formatted file.)
- The nodelist file list is being reverse sorted when there are multiple
  nodelists of the same basename being processed;  that takes care of a set
  of files all from the same year but not ones that are from different years.
- Get quoteing working properly for entry into the database for fields like
  $loc & $name, so do not have to take out characters like single quotes, etc.
- Add quiet option, -q, for logging only operation ? 
- Add a test nodelist for use with this?...


listftndb
----------
- Move functionality into the ftndbadm script?
- Add quiet option, -q, for logging only operation ? 
- Change default output to STDOUT;  i.e., print to the screen.  Selected if the
  "-o" variable is not set.
- Generalize the command line parseing to allow for commands for listing from
  the nodelist or echolist (when that's added) tables.
- Besides the print to screen output & output to text file, add option for html
  formatted output?  And/or just add formated output using a template file?


Testing
-------
- Procedure in test script?    
1) get temp directory
2) create working directory there
3) ...  testing...
4) remove test working directory
5) done
  