View Single Post
Old 06-11-2009, 09:10 AM   #3 (permalink)
dschreck
The Contributor
 
dschreck's Avatar
 
Join Date: Nov 2007
Location: California
Posts: 82
Thanks: 0
dschreck is on a distinguished road
Default

The way i've done it in the past... this may vary depending on your server set up.

What I've done, is have a common base path for my core files.

So my CMS core may reside...

/home/cms/core

while all of my clients will reside in their own home folder

/home/client1/cms
/home/client2/cms

etc etc

From there, inside of each web folder, is a config folder.

The config will set up the basic define() for each project, including the CMS base.

When the build is ready, I invoke my build script, which moves all of the files down in directories, and then rsyncs them to the correct machine that they are hosted on.

Really, the trick is to set up your file directory, and build script, in a manner that allows you to 'overload' files.

So, example:

/core/
/admin/
/include/
/js/
/css/
main.css
..etc..

/client1/cms/
index.php
/css/
main.css


Now, in this example, the build script would copy all of the files from /core/ and put them in a temp directory.
Then, it would copy all of the files from /client1/cms/ and put them in that temp folder, overwriting the files that it conflicts with.

This allows you to over ride something per project.

Then, the trick is to just set the rsync paths and boom! you're in business managing code base for a whole lot of clients :)
__________________
Where I Ramble: http://www.iwilldomybest.com/
What I do: Zynga Game Network
Senior Software Engineer at CityVille
dschreck is offline  
Reply With Quote