The CGI classes and where they fit (Was: CGI.pm; non-CGI dependence?)

Tim Bunce (Tim.Bunce@ig.co.uk)
Tue, 14 Mar 1995 14:57:36 +0000


> From: Jared_Rhine@hmc.edu
> 
> TB == Tim Bunce <Tim.Bunce@ig.co.uk>
> 
>   TB> I hope to release another alpha to the list tonight.  All should
>   TB> become clear (or at least more clear :-) then.
> 
> Got it.  I'll look at it soon and try to make some more intelligent comments
> then.
> 
Great. I look forward to it.

I really want to hear from everyone and incorporate any suggestions.
ideas, changes etc as soon as possible.

I'd like to post the code to the net by the end of the week. It would
be sad if we only spot interface problems after a release. It'll make
changes much more painful.


>   TB> I see the WWW class(es?) as being primarily client-side. It seems
>   TB> likely that the WWW:: prefix is also going to be used for more general
>   TB> classes such as URL's.
>   TB> 
>   TB> The CGI classes are, as the name suggests, _specifically_ for code
>   TB> running 'under' a HTTPD via the CGI/1.1 (or later) interface.
> 
> Ok, if that's the case, in what class should the functionality I'm looking
> for reside?  Suggestions for a name?
> 
> Does anyone else have an opinion about the structure of the CGI class
> hierarchy?  I'm hopeful that the set of modules being developed for Web work
> in Perl will prove of high quality and worth using whenever possible.  I
> think that if we, the perl community, wish to take advantage of the benefits
> of a good, reusable collection of standard modules, we should be very
> careful during these initial design stages to make sure that we get the
> interfaces and class hierarchy correct.
> 
I agree entirely! That's why I'm trying to get some active peer review
from this list before posting.

I'm *very* happy to discuss/change any and all aspects of the design
and implementation, especially the interfaces (and, by implication, the
class hierarchy) but I need feedback!

> If everyone is agreed that the class hierarchy as stated by Tim fits best
> into the overall framework of Perl modules for dealing with all aspects of
> the the World Wide Web, I will gladly conceed.  Any comments would be
> appreciated.
> 
Umm, "fits best into the overall framework of Perl modules for dealing
with all aspects of the the World Wide Web", that's a *big* requirement!

There is nothing to 'conceed'. Classes should be small and
fine-grained.  You should be able to implement what you want by using
methods in other classes (and not just via inheritance). The existance
of the MiniSvr does not preclude you from implementing alternatives.
The MiniSvr is just one way to do something that happens to suit some
applications. It's actually rather small because most of the methods
are inherited from CGI::Base.

I'm going to post some form of discussion document to CGI-perl and
libperl-www outlining the CGI::* modules and where I think they fit.

Hopefully that'll get the discussion going :-)

> -- 
> Jared_Rhine@hmc.edu | Harvey Mudd College | http://www.hmc.edu/~jared/home.html
> 
Regards,
Tim.