My experiences with CGIApp are very much in line with what perrin's is stating. If you break up your runmode modules into logical tasks, you will end up with a whole bunch of modules with only about 3 or 4 runmodes in each. If you start noticing that you have 10 - 15 runmodes, then perhaps you should think of break this into smaller pieces.

One thing that some users find annoying about breaking the application up into smaller pieces like this is that you require a small CGI script for each of your runmode modules to fire up the application. We have found that using the CGI::Application::Dispatch module really simplifies this by having a single CGI script (or mod_perl handler) that can spawn multiple runmode modules based on the PATH_INFO of the request.

Also, I find that most of the logic in any of the larger CGI::Apps I have built tends to fall into the Model of the application. Most of the runmodes tend to be quite simple and generally just pass data between the Model and the View, with a bit of data validation thrown in.


In reply to Re^2: CGI::Application in a team development environment by cees
in thread CGI::Application in a team development environment by jeyroz

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.