You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by do...@apache.org on 2001/01/02 20:03:10 UTC

cvs commit: modperl-2.0/todo deprecated_features.txt missing_old_features.txt possible_new_features.txt Apache-class.txt README breakdown.txt c-sources.txt perl-modules.txt request_rec.typdef xs-sources.txt

dougm       01/01/02 11:03:09

  Modified:    .        00README_FIRST ToDo
               todo     Apache-class.txt README
  Added:       todo     deprecated_features.txt missing_old_features.txt
                        possible_new_features.txt
  Removed:     todo     breakdown.txt c-sources.txt perl-modules.txt
                        request_rec.typdef xs-sources.txt
  Log:
  cleanup todo docs a bit
  
  Revision  Changes    Path
  1.11      +3 -3      modperl-2.0/00README_FIRST
  
  Index: 00README_FIRST
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/00README_FIRST,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- 00README_FIRST	2000/06/14 16:07:06	1.10
  +++ 00README_FIRST	2001/01/02 19:03:01	1.11
  @@ -19,7 +19,7 @@
   
   % perl Makefile.PL && make
   
  -% cd ../apache-2.0/src
  +% cd ../httpd-2.0
   % ./configure --prefix=$HOME/apache-2.0 --with-mpm=mpmt_pthread
   % patch -p1 < ../../modperl-2.0/patches/link-hack.pat
   % make
  @@ -28,7 +28,7 @@
   
   % perl Makefile.PL MP_USE_DSO=1 && make
   
  -% cd ../apache-2.0/src
  +% cd ../httpd-2.0
   % ./configure --with-mpm=mpmt_pthread ...
   % make
   
  @@ -58,4 +58,4 @@
       warn "hey, it works!";
   }
   
  ---dougm 04/28
  +--dougm 01/02
  
  
  
  1.2       +8 -131    modperl-2.0/ToDo
  
  Index: ToDo
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/ToDo,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ToDo	1999/04/07 16:01:02	1.1
  +++ ToDo	2001/01/02 19:03:02	1.2
  @@ -1,135 +1,12 @@
  -ToDo items carried over from the 1.xx ToDo
  -see the todo/ directory for whats really going on here
  +this is a *very* short-term todo list, anything more should be in the
  +todo directory.
   
  -directives/configuration
  -------------------------
  +should never have gone in, get out soon:
  +---------------------------------------
   
  -- PerlAllowOverride directive to enable/disable hooks 
  -  (Jason Riedy <ej...@cise.ufl.edu>)
  +- s/stderr/MP_logfp/
   
  -- PerlEngine On/Off [Vivek Khera <kh...@kciLink.com>]
  +other:
  +-----
   
  -- make 'PerlSetVar $Foo value' work like 'local $Foo = value' 
  -  for the given location
  -
  -- <Perl> in .htaccess (could also call known bug)
  -
  -- change configuration during runtime?
  -
  -- improve the "stacked handlers" implementation, including:
  -  + config merging of AV*'s
  -
  -  + allow push_handlers to have an additional argument, an array ref,
  -    which will be passed to the handler as arguments, e.g.
  -    $r->push_handlers("PerlHandler", \&some_sub, ['one', 'two', 'etc']);
  -
  -- allow Perl*Handler's to have arguments in config files, e.g.:
  -
  -  (calls &FooPackage::handler($r, "One", "Two", "Three");
  -
  -- allow <Perl></Perl> configuration sections to have read access to internal
  -  configuration structures (would be nice if we could tie a %namespace::) 
  -
  -namespace/globals
  ------------------
  -
  -- provide namespace protection when 'use Foo' might be two different modules
  -  i.e. re-visit Apache::Safe
  -
  -- provide namespace protection for mod_include #perl's
  -
  -- @ARGV magic, tie to query string
  -
  -- overload %ENV magic:
  -  + call subprocess_env when a value is set 
  -              Doug Bagley <do...@dejanews.com>
  -  + so it's not setup unless asked for
  -
  -- "save stack" mechanism so we can go back to caching CV lookups
  -
  ----------------------------------------------------------------------------
  -OPTIMIZATIONS
  ----------------------------------------------------------------------------
  -
  -- avoid write_client symtab lookup in print()
  -
  -- preloading of method cache
  -
  -- replace Apache::PerlRun with Apache::PerlRunXS
  -
  -- replace Apache::Registry with Apache::RegistryXS
  -
  -- make Apache::RegistryLoader work with RegistryXS
  -
  -- avoid a copy in PerlRunXS (use SvPVX instead of safemalloc'd copy)
  -
  -- XS_IMPORT=1 on by default
  -
  -- in places where Apache did a pstrdup, don't use newSVpv(), use
  -  newSV()->sv_upgrade()->SvPVX/SvCUR_set to avoid another copy 
  -
  -- Apache::Constants::constant
  -
  -
  ----------------------------------------------------------------------------
  -NEW MODULE STUFF
  ----------------------------------------------------------------------------
  -
  -- Apache::Status extensions (ix)
  -
  -- StatINC doesn't reimport the imported symbols?
  -  Stas Bekman <sb...@iil.intel.com>, 
  -  Message-Id: <Pi...@ilx374.iil.intel.com>
  -- Look at Apache::ASP's handling of exported functions (for implementation
  -  in Apache::StatINC) (same thing as above?) [ask]
  -
  -- Option to StatINC to make it possible to only watch chosen modules
  -  [ask]
  -
  -- Apache::Registry should check return value of the subroutine,
  -  e.g. for REDIRECT   
  -
  -- should Apache::Registry use filename instead of vhost_name+uri?
  -              Ben Laurie <be...@algroup.co.uk>
  -
  -- apache.pm: use apache '1.3b3';
  -
  -- have Apache::Status hunt for AUTOLOADing 
  -
  -- Apache::Status should list number of things
  -
  -- Apache::Include->virtual should update %ENV?
  -
  -- Apache::Registry should honor __END__ and __DATA__,
  -  but how to get it right?
  -
  ----------------------------------------------------------------------------
  -MISC NEW STUFF
  ----------------------------------------------------------------------------
  -
  -- 'make htmldoc' (Brian Moseley)
  -
  -- make 'make test_report' more useful
  -
  -- should be able to set PerlSetVar's to an empty string (Eric Cholet)
  -
  -- perl_clear_env() should skip those found in PerlPassEnv?
  -
  -- File::copy($file,*STDOUT) doesn't work (pp_syswrite needs tie support)
  -	Bill Coffman <co...@value.net>
  -
  -- option to set uid/gid before running any Perl code (copy-n-paste
  -  from http_main.c) 
  -	Doug Bagley <do...@dejanews.com>
  -
  -- $Apache::ServerStarting in <Perl>
  -
  -- something with exec()?
  -
  -- Apache->http_message(501); #rc code returns a string
  -
  -- PerlFreshRestart, restarts on startup, should we stop that?
  -
  -- special treatment for nph- scripts?
  -
  -- fix Thread->new == linux<-SIGUSR1->Apache signal clash
  +- filter/bucket stats, e.g. mod_autoindex is brutal
  \ No newline at end of file
  
  
  
  1.2       +2 -0      modperl-2.0/todo/Apache-class.txt
  
  Index: Apache-class.txt
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/todo/Apache-class.txt,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Apache-class.txt	1999/04/07 16:01:03	1.1
  +++ Apache-class.txt	2001/01/02 19:03:05	1.2
  @@ -1,3 +1,5 @@
  +Apache.xs in 1.xx is way bloated.
  +
   Apache::Constants imports
   DECLINED
   OK
  
  
  
  1.2       +23 -7     modperl-2.0/todo/README
  
  Index: README
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/todo/README,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- README	1999/04/07 16:01:03	1.1
  +++ README	2001/01/02 19:03:05	1.2
  @@ -1,8 +1,24 @@
  -there is much ToDo for 2.0, this directory contains notes and test
  -code.
  +this directory contains notes on whats left to be done, covering all
  +areas including:
   
  -breakdown.txt - major components of mod_perl 
  -Apache-class.txt - notes on Apache.{pm,xs}
  -c-sources.txt - notes on the mod_perl .[ch] sources
  -perl-modules.txt - notes on the mod_perl Apache::* modules
  -xs-sources.txt - notes on the mod_perl xs interfaces
  +o interptreter management
  +o Perl interfaces to Apache structures
  +o Perl interfaces to Apache API functions
  +o I/O + filtering
  +o stacked handlers, method handlers
  +o <Perl> sections
  +o directive handlers
  +o cgi emulation, i.e. %ENV/END{}/@INC/exit() management
  +o pure Perl Apache::* extras (e.g. Apache::Status, etc)
  +o build framework
  +o test framework
  +o examples
  +o docs
  +
  +somewhat prioritized into:
  +
  +- missing_old_features.txt
  +
  +- deprecated_features.txt
  +
  +- possible_new_features.txt
  \ No newline at end of file
  
  
  
  1.1                  modperl-2.0/todo/deprecated_features.txt
  
  Index: deprecated_features.txt
  ===================================================================
  these features with either:
  a) never be in 2.0
  b) only be in #ifdef MP_DEPRECATED
  c) be a form that was nothing like 1.xx (e.g. Apache::Leek)
  d) split off into something standalone on cpan
  
  - MaxModPerlRequestsPerChild
  
  - $r->seqno
  
  - $Apache::Server::Starting, $Apache::Server::ReStarting
  
  - $Apache::Server::AddVersion, $Apache::Server::CWD
  
  - modules: 
    + Apache::SIG: dead
    + Apache::StatINC: replace with or point to Apache::Reload
                       or rewrite in C
    + Apache::Symbol: unknown
    + Apache::Leak: could be made useful
    + Apache::RedirectLogFix: dead
    + Apache::Include: was just an example
    + Apache::Debug: could be make useful
    + Apache::FakeRequest: should be built in
    + Apache::httpd_conf: dead (to be replaced by new test framework)
    + Apache::Symdump: unknown
    + Apache::Opcode: was experimental, needs much attention to be
      useful
  
  
  
  
  1.1                  modperl-2.0/todo/missing_old_features.txt
  
  Index: missing_old_features.txt
  ===================================================================
  this file contains known missing features from 1.3, these are to be
  implemented unless otherwise noted.  there are more missing features
  listed in deprecated_features.txt
  
  - test suite
  
  - DirectiveHandlers
  
  - <Perl> sections
  
  - modperl_include #perl
  
  - PerlOpCodeMask (experimental in 1.xx)
  
  - PerlFreshRestart
  
  - PerlSendHeader
  
  - cgi emulation, i.e. %ENV/END{}/@INC/exit() management
  
  - set Perl ids after fork $( $) $< $> (child_init)
  
  - die 404;
  
  - ... others ...
  
  core modules:
  ------------
  
  - Apache, Apache::Server, Apache::Connection
  
  - Apache::Constants, Apache::Constants::Exports 
  
  - Apache::ModuleConfig, Apache::CmdParms
  
  - Apache::File, Apache::Log, Apache::URI, Apache::Util
  
  addon modules:
  -------------
  
  - mod_perl.pm::import
  
  - Apache::PerlRun, Apache::{Registry,RegistryNG}, Apache::RegistryLoader
  
  - Apache::Status
  
  - Apache::test: tobe a compat stub around new test framework
  
  - Apache::src: tobe a compat stub around new build framework
  
  - Apache::PerlSections: depends on <Perl>
  
  - Apache::SizeLimit and Apache::Resource
  
  - Apache::ExtUtils
  
  - Bundle::Apache
  
  
  1.1                  modperl-2.0/todo/possible_new_features.txt
  
  Index: possible_new_features.txt
  ===================================================================
  config features:
  ----------------
  
  - make 'PerlSetVar $Foo value' work like 'local $Foo = value' 
    for the given location
  
  - allow Perl*Handler's to have arguments in config files
  
  - allow <Perl></Perl> configuration sections to have read access to internal
    configuration structures (would be nice if we could tie a %namespace::) 
  
  - setuid/gid before running any Perl code
  
  perl language features:
  ----------------------
  
  - @ARGV magic, tie to query string
  
  - overload %ENV magic to call subprocess_env when a value is set 
  
  - sub handler : method ($) {}
    call $class->new($r) and pass the returned object as the first and
    only arg to the method handler
  
  - some mod_perlIO/PerlIO type methods for xs modules? (e.g. Apache::Peek)
  
  optimization features:
  ---------------------
  
  - copy-on-write SvPVX
  
  - hook Perl malloc into apr_pool
  
  - for "compiled handlers" w/ ithreads manage SV allocation via
    server-lifetime apr_pool_t
  
  - "garbage collector" thread to walk padlists looking for certain things
     worth releasing.
  
  - "mip manager" thread to watch # of active interpreters,
    cloning/destroying when needed (rather than waiting for a request to
    trigger)
  
  api:
  ---
  
  - Apache->http_message(501); #rc code returns a string
  
  - improve the "stacked handlers" implementation, including:
    + config merging of AV*'s
  
    + allow push_handlers to have an additional argument, an array ref,
      which will be passed to the handler as arguments, e.g.
      $r->push_handlers("PerlHandler", \&some_sub, ['one', 'two', 'etc']);
  
  modules:
  -------
  
  - Apache::Registry should check return value of the subroutine,
    e.g. for REDIRECT   
  
  - should Apache::Registry use filename instead of vhost_name+uri?
  
  - Apache::Registry should honor __END__ and __DATA__,
  
  - core Apache::SubProcess w/ proper CORE::GLOBAL::{fork,exec} support
  
  new modules:
  -----------
  
  - apache.pm: use apache '1.3b3';
  
  misc new stuff:
  --------------
  
  - 'make html'
  
  - 'make test_report'
  
  apache features that would be neat for mod_perl:
  -----------------------------------------------
  
  - "autoload" hook for configuration directives