Hi Christopher --

> for home'. I could also hack the module and add a 'if 
> ($ENV{CGI_APP_NO_HEADERS})' don't add headers. But then I'd 
> have to patch the module everytime I installed or upgraded. I 
> can work around 
> it, I was just looking for a better way.

Well, you could create a custom sub-class.  That would be the cleanest
solution.  Unfortunately, it sounds like what you really would like to do is
to override the run() method!


Allow me to ask you a more fundamental question:

    Why are you using CGI::Application?


At the risk of talking someone OUT of using my module:  From what you have
described, you are really trying to build your own framework which is
substantially different from and incompatible with CGI::Application.
CGI-App doesn't do much, but it does rely on the fundamental concept that an
Application module is instantiated and run() by an instance script which is
called by the web server.

You seem to be building something which sounds a lot like HTML::Mason.  From
your description, you seem to have rejected the CGI-App data flow, instead
preferring to have many modules which perform functions, called by an
unknown number of instance scripts which use this modules in an unknown way.

OTOH, maybe you're interested in a "MVC" -- Model-View-Controller design,
with Perl modules which contain high-level functionality.  If this is your
goal, then I think I may have an important clarification for you:
CGI::Application is the "Controller" -- *NOT* the "Model".

I tend to design using a MVC strategy, using CGI-App.  My App modules use
many other Perl modules which implement business logic.  The Controller (my
App module) provides the interface glue between the Model modules (business
logic) and the web browser.  Essentially, it converts form input into
function calls, and raw data into HTML::Template input.  (HTML::Template is
the View part -- data into HTML.)


Have I misinterpreted your architecture?


TTYL,

-Jesse-


----

  Jesse Erlbaum, CTO
  Vanguard Media
  212.242.5317 x115
  [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to