Collaboration groups as "Multi-sites", "Organic Groups (OG)" and "Domain Access". Making the choice.

All forms of collaboration require some sort of centralized collaboration tool.
In Drupal this can be implemented with "Multi-Sites", "Organic Groups (OG)", and "Domain Access". These solutions all have their strengths and weaknesses.

The main issue however is when to choose "Multi-Sites", "Organic Groups (OG)", or "Domain Access".

First a short overview of the relevant points:

"Multi-Sites"

  • separate (sub-)domains
  • can use one or multiple databases
  • no standard user integration, user integration is possible by sharing tables within one database, or by using "Open Id" with separate databases.
  • can be done with only core modules
  • Because "multi-sites" with separate databases are completely modular, this structure can be easily split up (to different servers) as the need arises.
  • Drupal upgrade path is easy.

"Organic Groups (OG)"

  • separate "groups" within one (sub-)domain.
  • uses one database
  • standard user integration, users can be assigned to groups
  • can only be done with contributed modules
  • This structure can not be easily split up/off (to different servers).
  • Drupal upgrade path depends on how fast after a major version upgrade the "Organic Groups (OG)" modules are upgraded

"Domain Access"

  • mimics a "multi-site" but is actually more like "Organic Groups (OG)"
  • uses one database
  • standard user integration, users are assigned to "domains"
  • can only be done with a contributed module
  • This structure can not be easily split up/off (to different servers).
  • Drupal upgrade path depends on how fast after a major version upgrade the "Domain Access" module is upgraded

For the following reasons I prefer "multi-sites" with separate databases over "Organic Groups (OG)" and "Domain Access".

  1. Technical simplicity. Maintenance is 80% of any project's lifetime cost.
  2. Easy upgrade path for security and major version feature additions.
  3. Not relying on "heavy" non-core modules for core functionality
  4. Not relying on non-core modules for core functionality.

Depending on how fast or easy you need to set up, I would recommend the "domain access" module if you want to keep an external (sub-)domain structure with a single administration interface.
When an outwardly facing (sub-)domain structure is not needed, and a single (sub-)domain will suffice, the "Organic Groups (OG)" module family is advised.

The more all your "groups" are alike in theming, structure content, and the more users need to be able to get to all groups, the more attractive the single database and administration solutions ("Organic Groups (OG)" and "Domains") become.
In a "multi-site" with separate databases, these can be accomplished with the core Open Id and Aggregation modules, but the administrator/developer might need a higher level of familiarity with drupal.

Depending on your setup, a single administration interface is not such a hot item. Wether you have change theme settings on 5 different sites or change the theming settings for 5 different groups you still have to know what you are doing, and perform 5 different actions. Simultaneous login for administrators in 5 sites can easily be accomplished with most modern browsers or their add -ons.