I have been reading more and more and have watched many videos on multiple sites vs. multisite. The more I take in, the more confused I get. It's like we're not getting to the core of what I need to know. (Which I'm not sure I know now....)

I understand that the Multisite functionality is for hosting multiple sites all from the same drupal instance and database. I also get that Multiple sites have separate instances and databases. I start getting fuzzy from there.

Here's why I am looking into this:
I am the IT guy for a company that owns 12 newspapers, 1 advertising firm, and 1 radio station. We are looking into bringing the web up into at least the recent part of the 20th century. We have implemented a Drupal site for our main company ( Still ironing out bugs and learning "how tos" ) We want to have all the companies be able to have new sites with the same functionality and a "dream" item would be to be able to search articles from all the papers to put on any of the sites.

This sounds to me like a perfect setup for multi-site, but I keep getting into trouble with keeping users separate and how to keep "look and feel" completely different. Another sticky point I'm not sure of is, was there something we should have done at the beginning of the first site to allow for this? Something that we cannot "undo" now that we are live with it.

On the other side of things, I have seen mention of table sharing. For instance what I am working on on my own. I am building 3 sites that would like to use the same user database for a subscription situation. User purchases subscription and can access all sites.

In a nutshell:
Fears-
1. database will get too big in a multi-site setup for editorial staffs to handle at each site
2. Have we already shot ourselves in the foot with going live with the first site

Questions-
1. Is there a truly step by step setup of both for a newb like me to follow that lines out pros and cons for both
2. Can table sharing be done between separate dbs
3. Can look and feel really be separated using multi-site

I'm sure there's more, but my mind is just too fried at the moment to get there. I really appreciate all the posts I have read and any help to bring it down to newb level.

Thank you

Comments

jaypan’s picture

MultipDrupal consists of two elements: The code, and the database.

Multiple sites each have a separate code. They share no code. Any time you want to make a change in the code, you have to make it on each code base. Multi-site on the other hand uses one code base. If you make a change in the code, it will affect any site in your installation that is using that code.

The databases can be shared or the same, regardless of whether you are using multi-site, or multiple sites. You can have each database for each installation completely separate from every other installation, regardless of whether they are sharing code or not. Or, you can give each of the installations prefixes (you do this when installing), and you could have multiple sites all running off the same database.

If you want to share tables, the sites sharing data have to be in the same database table. It's not possible tos hare tables across databases (or at least, not easy, it can be done).

The thing is, even if Drupal installations are sharing a database (by using prefixes), they are still essentially separate datasets. This means that each installation can have different modules installed, even if they are multisite.

So for example, I have a.com and b.com. They are on a multisite installation, and sharing the same codebase. They are also sharing a database, with the a.com tables being a_TABLENAME and the b.com tables being b_TABLENAME.

I can enable Views only on a.com, and not on b.com or vice versa. If I enable it on both, and I update the module when an update is released, the code is automatically updated for both installations, however, because the databases use separate database tables, so update.php has to be run for both a.com and b.com, because even though they share code, they don't share database tables (though they share a database).

If you have separate code bases, and have Views installed on each, you will have to go through and update the code on both of them, as well as run update.php on both of them.

Hopefully this helps clear things up a bit for you.

Contact me to contract me for D7 -> D10/11 migrations.

ayesh’s picture