There is a more detailed introduction to Gantry::Conf in Gantry::Conf::Tutorial.

But, I'll make a couple of comments I hope are on point. First, you don't need mod_perl to use Gantry::Conf. It doesn't use it. But, it is convinient for mod_perl apps if you already have those.

Second, when I speak of an instance, it means a particular installation of a piece of software. In my prior example, there was a Budget application deployed in two instances: one for sales, the other for service. To combine backend utilities of two applications, you need to create a new application which uses modules from both of them. Then, the new application can be deployed in one or more instances. Thus, instance (in the context of my posting) refers to a set of configuration which makes an application behave in one way. Adding a second instance of the same application will make it behave in a different way (say by pointing it to a different database, or giving it a new color scheme).

Third, how you share your 'backend utilities' depends on how your code is factored. For example, in one of our cases we have a remote user management (rum) system which any app could talk to. It's convenient to collect code which talks to it into a single module in any given app. If another app needs to talk in the same way to the rum system, it can simply use the module from the other app. That is where the required share configuration comes in. Talking to the rum system requires certain conf info (think of domain names, port numbers, security credentials, etc). By using the first apps rum contacting module and sharing parts of its conf info, the new system needs only to provide customer suitable front end code.

Finally, Gantry::Conf, while quite usable, is a work in progress. It does not have caching. This could make it run slow depending on how much load your server is under and how large and complex the conf info is. We welcome discussons (and patches) on how to add caching in controllable ways to improve performance without reducing flexibility.

If you have further questions you could visit the Gantry framework site http://www.usegantry.org and sign up for the mailing list. Or, you could send private email. See the Gantry source docs for our addresses.

Phil


In reply to Re^2: Configuration Flexibility by philcrow
in thread Configuration Flexibility by philcrow

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.