My devel and production environments are pretty much the same, what we do is dev -> cvs -> release -> production. What we're missing is an integration environment which we can package up our code to deploy.

The structure I work with is:

..../apache/cgi-bin/tools/app lib log tmpl nodelets

As the main concept is a web-based platform there are multiple applications under app and the applications corresponding templates under tmpl.

Underneath nodelets are applications that are to be displayed on every web page, such as a Weather.pm or login statistics, or any other arbitrary application.

Our platform design abstracts the presentation/business logic layer from the implementation specific details (such as SQL query's et al), and as such lib will contain domain specific libraries that relate to one or more of the applications under app (for example fetching financial information for business units across the organisation ....lib/Finance/BU.pm). Of course also in lib are the platform libraries that drive the website.

In the case where we have an application that required coupling with a daemon we may include a daemon directory at the same level as app. This has the advantage of being able to leverage of the existing libraries, log structure etc etc without having to maintain to separate copies of the code (in cases where a daemon must use an existing library).

While the daemon option is not really a perfect scenario (i believe an dedicated application server should be used for this), it works quite well and keeps the maintaince down in the absence of a formalised/automated deployment architecture.


In reply to Re: Directory Structures by Ryszard
in thread Directory Structures by artist

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.