| 1 |
CROSSITE MODULE
|
| 2 |
|
| 3 |
This module seems to work pretty well on my development test box. I will be
|
| 4 |
using it as part of my Drupal 4.7.x -> Drupal 5.x migration soon. When that
|
| 5 |
is complete I'll consider removing the beta marker on the release.
|
| 6 |
|
| 7 |
WHAT DOES IT DO? HOW DOES IT WORK?
|
| 8 |
|
| 9 |
You, a Drupal site maintainer, create a multisite installation where the nodes,
|
| 10 |
vocabularies, and terms are shared. You can then associate a term with one or
|
| 11 |
more sites. When a visitor visits a node marked with a term belonging to a
|
| 12 |
different site, the visitor is redirected to see the node on that other site
|
| 13 |
rather than being shown the node on the current site.
|
| 14 |
|
| 15 |
If none of the terms associated with a node belong to a particular site or
|
| 16 |
group of sites, the node will be shown to the user on any site without a
|
| 17 |
redirect. The module will not redirect unless the node belongs to terms that
|
| 18 |
belong to a given set of sites and none of the sites are the site the user is
|
| 19 |
currently on. If a node belongs to multiple sites and a redirect is going to
|
| 20 |
be made, it will pick one of the sites without any particular preference.
|
| 21 |
|
| 22 |
It doesn't matter if the sites are on different domains or just different paths
|
| 23 |
on the same domain. It simply performs the redirect.
|
| 24 |
|
| 25 |
WHAT DOESN'T IT DO?
|
| 26 |
|
| 27 |
It does not perform redirects for anything but nodes. In the future, other
|
| 28 |
kinds of redirects may be added, but nodes are all it touches for now.
|
| 29 |
|
| 30 |
It doesn't care about authentication or access control. If special privileges
|
| 31 |
are required to access a node, you probably want to look into getting the
|
| 32 |
Single Sign On module or something similar to make sure a user's session is
|
| 33 |
shared across the sites. Otherwise, they might need to login multiple times as
|
| 34 |
they get bounced from site to site.
|
| 35 |
|
| 36 |
SIMILAR MODULES
|
| 37 |
|
| 38 |
The only similar module I'm currently aware of is the Multidomain module:
|
| 39 |
|
| 40 |
http://drupal.org/project/multidomain
|
| 41 |
|
| 42 |
That module comes at this problem from a completely different angle and is
|
| 43 |
more powerful. If you find this module is too weak for your needs, you might
|
| 44 |
want to look into Multidomain instead.
|
| 45 |
|
| 46 |
RECENT CHANGES
|
| 47 |
|
| 48 |
This release no longer requires manual configuration in a shared_variables.php
|
| 49 |
file. However, it does perform some possibly underhanded tricks to make this
|
| 50 |
work. It shouldn't damage anything (no warranties on that), but it might not
|
| 51 |
work correctly if you have weird and wacky stuff in your settings.php files.
|
| 52 |
|
| 53 |
If you want to use the 4.7 version of this module READ THE INCLUDED
|
| 54 |
DOCUMENTATION because many things have changed.
|
| 55 |
|
| 56 |
GETTING STARTED
|
| 57 |
|
| 58 |
Step 1: Multi-Site Configuration
|
| 59 |
|
| 60 |
You must first install and run a Drupal multisite installation. The Drupal
|
| 61 |
handbook features documentation on this subject, so I'm not going to go into
|
| 62 |
too much detail on that.
|
| 63 |
|
| 64 |
However, you must make sure that at least the following are shared:
|
| 65 |
|
| 66 |
1. The taxonomy tables.
|
| 67 |
2. crossite_domains_tid (which is installed by this module)
|
| 68 |
|
| 69 |
The rest of your multisite configuration is up to you.
|
| 70 |
|
| 71 |
You might be able to get away without sharing the taxonomy tables if you know
|
| 72 |
what you're doing, but that's not my recommendation.
|
| 73 |
|
| 74 |
Step 2: Module Installation
|
| 75 |
|
| 76 |
Install the module and activate in the modules screen as is done with your
|
| 77 |
typical Drupal module.
|
| 78 |
|
| 79 |
Step 3: Crossite Configuration
|
| 80 |
|
| 81 |
Create or edit terms and use the checkboxes now at the bottom of the term edit
|
| 82 |
screens to configure which sites a term marks a node as belonging to.
|
| 83 |
|
| 84 |
TROUBLESHOOTING
|
| 85 |
|
| 86 |
If you have trouble with the redirects going to weird places, you might want to
|
| 87 |
make sure the $base_url variable is set in all of your settings.php.
|
| 88 |
|
| 89 |
If you make a change to your $base_urls or run into other problems when your
|
| 90 |
$base_url settings seem to be correct, you probably need to clear out the
|
| 91 |
cache table. You can do this by running this SQL command:
|
| 92 |
|
| 93 |
DELETE FROM cache WHERE cid LIKE 'crossite_%';
|
| 94 |
|
| 95 |
(You may need to rename "cache" if you are using table prefixes.)
|
| 96 |
|
| 97 |
GETTING HELP
|
| 98 |
|
| 99 |
If you have any questions or bugs to report, submit issues to:
|
| 100 |
|
| 101 |
http://drupal.org/project/crossite
|
| 102 |
|
| 103 |
You can check the issue list there for latest bug information as well.
|