[cgiapp] CGIApp Project Management

Dan Horne dan.horne at redbone.co.nz
Tue Feb 12 15:27:28 EST 2008


Barry Moore said:
> Hi all,
>
> I've been developing web apps with cgi-app for several years now, but
> for the first time I'm coordinating a project that will involve
> several developers, and I'm trying to think about how best to
> structure things - particularly in regards to version control.
>
> I've got three developers and I'm using subversion to manage code
> versioning.  We are all developing on the same server (RH linux/
> apache), and our "production" code will be on that same machine as well.

When I've worked with multiple developers on CGI::App projects in the
past, we simply installed a copy of the app on our own workstations. It's
the cleanest solution, but it may not be possible for your team.

> How do those of you with large groups manage having something like
> this in each developers repository:
>
> /home/developer1/my-app-working-copy/cgi-bin/my-app.cgi
>                                      /lib/My-App.pm
>                                      /templates/home.tt
>                                      /css/my-app.css
>                                      /html/static.html
>
> distributed to something like this:
>
>
> /var/www/html/my-app/css/my-app.css
> /var/www/html/my-app/html/static.html
> /var/www/cgi-bin/my-app/my-app.cgi
>
> I'd also like each developer to be able to run their working copy web
> app off the same server so do you have different cgi-bin paths like
> this:
>
> http://www.our.server/cgi-bin/developer1/my-app.cgi
> http://www.our.server/cgi-bin/developer2/my-app.cgi
> http://www.our.server/cgi-bin/production/my-app.cgi

That's how I'd do it
>
> Or is it better to configure apache on this machine like this:
>
> http://dev1.our.server/cgi-bin/my-app.cgi
> http://dev2.our.server/cgi-bin/my-app.cgi
> http://www.our.server/cgi-bin/my-app.cgi
>
> I'm having trouble sorting our what problems to solve with
> environment variables, which with config files and which with apache
> configuration.
>

Your config file may need to reside outside of Subversion so that each
developer's configured environment is not updated with the global one. If
your code doesn't have any absolute paths, then things should be fine
(e.g. use Findbin to set the Perl INC path relative to the cgi-bin
directory)




More information about the cgiapp mailing list