# How do you compensate for templates, template plugins (I use Template Toolkit (Template)), application modules, instance scripts (I use CGI::Application) and non-application modules being inter-dependant?
I put everything I code in version control. For modules, I depend on debian's packaged perl libraries. If I can't find one, I create a deb file with dh-make-perl and put it in version control. If I want to modify a library's behaviour, I copy the library to version control and modify it and make sure my app use it. I make my 'build' script to apt-get all those perl libraries and install the deb files I put in the code.
# How do you write tests that depend on your webserver config (and its environment) and package them with your module?
I don't write automated test :(. But configuration environment is abstracted into a module. I also create template files for apache configuration, so in every box I only need to add 'Include' directive to include it.
# How to you get your personal machine to emulate the environment of multiple machines?
I don't. I just make sure the code works correctly, and all multiple machine related problems are fixed in production. That's scary, but that's all I've got right now.
# How do you move material to your test server, and from there to production server?
# How do you do some of these things in a multi-user environment? (Is the test server a "check out"? Who checks it out?)
All instance of the web app are actually an svn checkout directory. So I only need to do 'svn up' to upgrade it to the new version. I don't tag the versions because my environment is very small and informal and no release management at all. Two major number versions can coexists in one box as two checkout directory of different branches. But each has its own apache configuration files.
My wishlists for my app are:
- Have an automated test
- Have an installation script
- Have a code monkey to code for me so I can read perlmonks all day
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:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, 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, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||