Hi,
I'm running web2py v1.99.7 behind apache 2.2 on Ubuntu 12.04.
I've written an application for work. It's web2py front end to a MySQL
database. I am deploying multiple instances of the application for the
different branches of our company. So, one instance for the Sacramento
branch, one for the Oakland branch, one for the LA branch, etc.
There are not a lot of branches, and I probably won't need to do more than
a dozen different instances as we move data from existing ones and expand.
There is no real shared data between the branches, so it makes sense to me
to make them totally separate instances.
I started by writing the application for my branch. When it was workable, I
packed it up, then used it to create new applications for the other
branches. For each additional branch, I create a new schema in MySQL for
that branch, and update the model file ( db =
DAL('mysql://web2py:[email protected]/BranchName') ).
As I am deploying it, I'm getting calls from the folks at the other
branches with bugs and requests. Something doesn't work as expected, or
they want me to add an extra column on a report, sort a table differently,
a button shows up in the wrong place with different browser/resolution,
etc. The bug fixes and feature requests require changes to CSS,
controllers, views (model is pretty much set-in-stone). These changes
should be deployed for every instance of the application.
So, *what is the easiest way to keep controllers, views, and static in sync
across the multiple instances of my application?*
*
*
I've read this
thread<http://www.mail-archive.com/[email protected]/msg38120.html> from
2 years ago. Massimo makes the suggestion to use symlinks. Other discussion
seems to be about building something into the framework to handle this
situation. Has anything changed since this thread?
If using symbolic links is the way to go, which directories should I link
and which ones should I not? Should I only link controllers/, views/, and
static/ or are there other directories that need to be linked as well? Is
there any particular reason I should use symlinks in preference to hard
links?
If using links, presumably when I want to deploy a new instance, I can just
copy everything over to a new directory from the shell, right? Or, is there
any 'magic' that goes on when using the administration interface to create
a new application?
Thanks.
--