On 16/10/2007, Ivan Sergio Borgonovo mail@webthatworks.it wrote:
Is there any good documentation about sharing modules and codebase for several sites?
I see some pros and cons but I wonder if it is worth the effort: pros:
- you can share tables
You don't need to share a codebase (multisite) for that. The settings that are used for mixing up tables, table prefixes and multiple databases don't need a multisite set up to work.
- you fix/tune stuff in one place
Or more accurately: you can fix/tune a small fraction of stuff in one place. Most fixing/tuning seems to be driven out of the database/admin screens rather than the codebase.
- you upgrade in one place
You still need to upgrade each sites database individually.
- you save some space
A very minor benefit with the current cost of disk space. The Drupal codebase is pretty small, and could quickly get dwarfed by the database size or uploaded files/images.
cons:
- less tedious but more complex/risky install/upgrade process
Yep. You also need to upgrade every site at the same time - which could be a pain if each site has different clients or module requirements.
any hands-on experience? comments?
Multisite makes the easy stuff (eg uploading files) easier at the expense of making the harder stuff harder and reducing flexibility. The codebase management is the easily scriptable and version controllable part. It is the database management that is the harder part of managing multiple Drupal sites.
Multisite still has its uses though. I use it to manage different instances (eg dev, test, production) of the same site so that each instances unique settings.php stuff can be version controlled along with the other instances in the same codebase. That way I can check out the codebase onto any of our servers or virtual hosts and it will pick up the appropriate database connection and other settings.
My (personal) opinion is that if you don't fully understand how multisite works and why you need it, then you probably don't need it. Others might feel differently though.