Per site (per network) plugins directory?

Hello everyone!

I'm playing around with WordPress 3.0RC1 and BuddyPress 1.2.4.1

I need to build a network of websites where each website has its own (independent) BuddyPress instance.

My first idea was to have separate installations, but the network should have 10-15 websites, so maintaining all of them independently will eat lots of time.

So I decided to run everything from the same codebase.
I installed WP 3.0RC1, enabled network (sub-domains option), installed BP 1.2.4.1
Then installed WP Multi Network plugin and created a few networks.
Everything is cool :slight_smile:

At this point I came to the question of separating plugins and themes between networks.
Minor (mostly cosmetic) tweaks made in http://wpmudev.org/project/site-based-mu-plugins did perfect job for plugins in /mu-plugins/ directory.
A few tweaks in http://wordpress.org/extend/plugins/multisite-themes/ did the same perfect job for /themes/ directory.

But I didn't find anything similar for /plugins/
So I invented a dirty workaround :slight_smile:
In wp-config.php I used this:

$darray = explode('.', $_SERVER['HTTP_HOST']);
$narray = array_reverse($darray);
$dummy = $narray[1].'.'.$narray[0];
define( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/wp-content/plugins/' . $dummy );

This makes each blog look for plugins in /wp-content/plugins/<networkdomain.tld>/
Yeah, I know, it's a lame solution, but it works.
So far it works for all plugins except BuddyPress...

All plugins really act independently on each network, meaning I can upload different versions of the same plugin (customized for each network) into /wp-content/plugins/<networkdomain.tld>/ directories.

But not BuddyPress :slight_smile:
Once activated on each network it's working fine, but still all instances of BP (on each network) share the same users. I mean, if UserA registers on one of the networks - he appears in all available networks.

Yes, I know, it's because WP stores all users in 1 global table regardless of multi networks used or not.
And I suspect that any other plugin that has something to do with users will behave in the same way.

My question here - is it possible to have networks totally independent (with independent users)?
For example, run each network under its own DB prefix (like wp1_ , wp2_ , etc)?
Or maybe make BuddyPress (and other plugins dealing with users) somehow separate per-network users and only 'see' users within the network?

Any other ideas would be highly appreciated :slight_smile: