Easy updating code across various sites
Posted: Mon Mar 20, 2006 9:24 am
Hi,
Some years ago I startet programming a CMS that I've used for a whole bunch of sites. Now it's getting outdatet, and I'm planning to start again with a new one. But this time I'd like to plan it a little better. The thing of most importance to me, is the posiblity to upgrade the CMS easily on all running sites. I've thought about letting all the sites share the same code like this:
/web/CMS/ver1
/web/CMS/ver2
/web/CMS/ver3
/web/CMS/ver3_specialclient
/web/CMS/...
/web/site1
including from /web/CMS/ver3
/web/site2
including some from /web/CMS/ver3_specialtclient
and the rest from /web/CMS/ver3
/web/site3
including from /web/CMS/ver1
I would let a config-file decide which objects/files to include from where, and in that way be able to control which version they use, and maybe include some slightly altered objects from other directories in case someone needs a special version of the CMS.
Now my questions:
1. Is this a good way to solve the versioning/upgrading problem?
2. I need a database to keep the content, but the structure of this database may grow from version to version. Is it a good idea to have a central database storing content for all the sites? Or is there another way to easily update the structure of all the databases used for each site?
Hope you can help me figure this out...
/Asger
Some years ago I startet programming a CMS that I've used for a whole bunch of sites. Now it's getting outdatet, and I'm planning to start again with a new one. But this time I'd like to plan it a little better. The thing of most importance to me, is the posiblity to upgrade the CMS easily on all running sites. I've thought about letting all the sites share the same code like this:
/web/CMS/ver1
/web/CMS/ver2
/web/CMS/ver3
/web/CMS/ver3_specialclient
/web/CMS/...
/web/site1
including from /web/CMS/ver3
/web/site2
including some from /web/CMS/ver3_specialtclient
and the rest from /web/CMS/ver3
/web/site3
including from /web/CMS/ver1
I would let a config-file decide which objects/files to include from where, and in that way be able to control which version they use, and maybe include some slightly altered objects from other directories in case someone needs a special version of the CMS.
Now my questions:
1. Is this a good way to solve the versioning/upgrading problem?
2. I need a database to keep the content, but the structure of this database may grow from version to version. Is it a good idea to have a central database storing content for all the sites? Or is there another way to easily update the structure of all the databases used for each site?
Hope you can help me figure this out...
/Asger