I am looking to set up a number of related but individual sites. The sites will all be configured identically but will have their own users and content. However, on occasion some of the users and nodes will need to be shared.
Inspired by a Drupal-Dojo session on db_rewrite_sql I have started to write a module that does this:
- Relies on Drupal multisite functionality to share most tables but make cache and system tables site independent.
- Has three tables to keep track of which users/nodes/taxonomy terms are available for which sites.
- Uses the internal Drupal APIs to add users/nodes/taxonomy terms to said tables when they are added for a particular site.
- Uses hook_db_rewrite_sql and the internal Drupal APIs to mitigate which users/nodes/taxonomy terms are available to which sites depending on said tables.
- Eventually, I would need to set up rules and admin pages for sharing the users/nodes/taxonomy terms across sites.
My question, am I reinventing the wheel here? I have taken a look at some of the multisite modules but haven't seen anything doing this exactly. There seem to be some really developed modules that excel at doing very complex things that don't quite meet my needs. But I haven't gone too deep in to the code to see if there are pieces that I can use and build on.
Or even if anyone thinks I can contribute some code to an existing project to make this to work, I would rather do that than create another multisite module. Of course, if anyone thinks it is worthwhile, I will contribute this back and work with anyone interested in developing it out.
If you are wondering specifically what I am working on: we provide our member school libraries with websites that are identical but they add their own content and have their own unique users. However, we would like to allow the libraries to share things like book reviews and web links across their sites.
Comments
Domain Access
Take a look at the Domain Access family: http://drupal.org/project/domain
Between DA and Domain Prefix, most of this work should already be done.
--
http://ken.therickards.com/
--
http://ken.therickards.com/