TODO list for Perl module CPAN::Reporter

#--------------------------------------------------------------------------#
# Bugs
#--------------------------------------------------------------------------#


#--------------------------------------------------------------------------#
# Features, etc
#--------------------------------------------------------------------------#

# High priority

- integrate PL/make reporting into CPAN.pm (RT#21566)

- make duplicate checks specific to phase (i.e. PL, make, test)

# Medium priority 

- refactor all config, history, etc code into separate modules

- test with Test::Harness::Compatible in T::H 3.0 (aka TAPx)

- set alternate configuration file via environment variable

- Add config to save reports to a file (Jerry Hedden) (RT#24816)

- Log entire history of reporting, regardless of whether a report is sent
  (David Cantrell) -- i.e. keep discards somehow ("DISCARD" just like rest 
  of subject line?)

# Low priority

- switch from a single flat file for history. e.g.
    - SDBM_File for history (key on subject line, with phase as value?
      Or key on distro name/perl with result and phase as value? ) -- but
      does it scale well?  (See MJD's article)
    - Or use sorted file with Search::Dict(?) -- (prefer this option,
      keeps search for non-existant line fast; insertion is a just a few
      block writes and a rename.) If we do this, need to put distro name
      first to make "have_tested()" easier to write
    - Use filesystem to index -- one file per distname? hash with directories
      to keep number of files/directory down?

- Confirm Test::Harness diagnostics on various versions of T::H ( Note --
  modern CPAN may be forcing 2.62 in some situations, but not all)

- add timeout to prompt (RT#28034)

- Check for system() call $? & 127 (only on Unix, though) or set a $SIG{INT}
  handler (for Win32); abort test without sending; key question: is this
  success or fail for return code to CPAN?  Probably the latter.  Or, prompt
  for both parts -- so hanging tests can be reported.

- Figure out if forced tests should be handled differently than normal
  tests

- Add interactive config for editor?

- Figure out what Andreas is doing with locally applied patches in CPAN.pm

- Look at CPANPLUS::Internals::Constants::Reports and try to 
  replicate that logic

- Improve test coverage for utility subs and error handling

- Check email addresses for validity (cf. Email::Valid, etc.)

- ability to turn on/off via an environment variable (David Cantrell)

# Probably won't implement

- ability to only report on what I asked to install, not on its dependencies
  (David Cantrell)

- use environment variable and/or external file to indicate modules to 
  skip for reporting
