I've searched for questions along this line, and found a few hints, but nothing too specific.
I need to create both an intranet and an extranet. The intranet includes forums, blogs, a filesharing area, and collaborative looks like the books and perhaps a wiki. All users marked as employees (whatever that turns out to mean) should be able to access all areas of the intranet.
The extranet is divided conceptually into "mini-sites", one per client. Each mini-site includes a single forum or perhaps forum area specific to that client. Likewise a filesharing area. NO ONE may view a client area without being specifically granted access to that client area.
When a client logs in, it appears to them as though they have their own site, with their own filesharing and forum areas.
A user may be added to many client areas.
This creates functionality vaguely similar to our customized Bugzilla install, in which a user must be explicitly added to a project in order to see it, and a user sees and can search only on projects to which they have access.
Can Drupal do this out of the box? If not, can it do so with reasonable customization, or the addition of modules, or both? "Reasonable" means that upgrading is not so painful we avoid it :-)
I don't care how many "sites" I end up with, as long as creating a new client site and populating it with a few users is a five-minute process or so.