History of brainstorming multisite support
<span
style="font-weight: bold;">INTRODUCTION</span><br
style="font-weight: bold;"><br>among the key features
i'm looking for in a cms is 'strong/flexible multi-site support'.<br><br>i
know there are discussion's of mutlsite functionality scattered
throughout both tw.o & bw.o. personally,
find it confusing to find it all, let alone figure out what's best
practice ...<br><br>that said, my hope/intention with this
particular wiki page is to:<br><ol><li>gather,
summarize & provide examples of the way things *currently* work
in bw.o</li><li>brainstorm ideas, documenting 'issues'
& 'wishlists' of 'how to make it better' -- and end
up with a functional design proposal to float for development ...</li></ol>i'm
generally new to bw.o myself, and<span
style="font-weight: bold; font-style: italic;"> really</span>
invite any/all interested to participate.<br>if in doing so, if
we can keep it organized & readable to boot ... then, woot!<br><br>i'm
gonna start by dumping *my* ideas/notes here ... please feel free to
markup, comment, etc.<br><br>and, yes! i realize that all
of this may already be easily do-able in bw.o, and i just haven't
learned enuf yet. in that case, i'll at least feel more
organized :-)<br><br><span style="font-weight: bold;"></span><span
style="font-weight: bold;">CURRENT STATE OF AFFAIRS
... bw.o</span><br style="font-weight: bold;"><span
style="font-style: italic; text-decoration: underline;"></span><br>an
out-of-the-box bw.o install is physically laid out as:<br><br><span
style="font-family: monospace;">
${main bw.o install}</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
|-- util/</span><span
style="font-family: monospace;"></span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
| |--
smarty/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
| |--
adodb/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
| |-- ...</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
|</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
|-- themes/</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
| |</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
| |--
admin/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
| |--
modules/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
| |--
templates/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
| |--
styles/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|
|</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|
|-- basic/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|
|-- clean/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|
|-- jill/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|
|-- firebird/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|
|-- ...</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
|-- ...</span><br
style="font-family: monospace;"><br><br><span
style="font-weight: bold;">GENERAL APPROACH</span><br
style="font-weight: bold;"><br>prior
to moving to bw.o, or any cms project for that matter, when designing
my own smarty-based, multiple sites for a single server, i worry about
four things:<br><ol><li>physical & logical
separation of app src, smarty src & site data</li><li>provide
inheritable/overridable configs, from global default to local specific</li><li>insulate
designs changes from other/coeexistent webapps</li><li>do
not break access to other app APIs</li></ol><span
style="font-weight: bold;"></span><br><span
style="font-weight: bold;">FUNCTIONAL CONSIDERATIONS:</span><br
style="font-weight: bold;"><br><br><span
style="font-weight: bold;">BEST PRACTICES FROM OTHER
PROJECTS ...</span><br><br>just like just about
everybody else, i've tried a number of 'other' CMS frameworks.
each has some nice features that make life-with-multisites a
bit easier.<br><br>there are ideas from various projects
that might be worth 'adopting'.<br><br>the <span
style="font-weight: bold; font-style: italic; text-decoration: underline;">drupal</span>
project has what i consider to be a great start at multisite management:<br><ul><li>sites
are 'created' by simply creating a subdirectory in its sites/ dir</li><li>directories
are named as FQDNs; one exception is the 'default' site</li><li>a
given site's URL is constructed from the subdirectory name</li><li>sites
can be individual/unique domains, and/or subdomains</li><li>non-standard
ports can be assigned for a site, prepending the portnum as the deepest
subdomain</li></ul>so, for example, <br><br><div
style="margin-left: 40px;">sites/default<br>sites/example.com<br>sites/sub.example.com<br>sites/www.domain.com<br>sites/8080.www.domain2.com
<br></div><br>would all be valid
sites ...<br><br>in drupal, each site can have its own
site-specific modules and themes that are made available <span
style="font-style: italic; text-decoration: underline;">in
addition to</span> those installed in the installation's global
'modules' and 'themes' directories, e.g.:<br><br><span
style="font-family: monospace;">
${main drupal install}</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
|</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
|-- themes/
(global)</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|-- modules/
(global)</span><br style="font-family: monospace;"><span
style="font-family: monospace;"></span><span
style="font-family: monospace;">
|</span><span
style="font-family: monospace;">-- sites/</span><br
style="font-family: monospace;"><span
style="font-family: monospace;"></span><span
style="font-family: monospace;">
| |--
default/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
| |
|-- </span><span
style="font-family: monospace;">themes/
(site-specific)</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
| |
|-- modules</span><span
style="font-family: monospace;">/
(site-specific)</span><br
style="font-family: monospace;"><span
style="font-family: monospace;"></span><span
style="font-family: monospace;">
| | <br></span><span
style="font-family: monospace;">
|
|-- </span>www.domain.com<span
style="font-family: monospace;">/</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
| |
|-- </span><span
style="font-family: monospace;">themes/
(site-specific)</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
| |
|-- modules</span><span
style="font-family: monospace;">/</span><span
style="font-family: monospace;">
(site-specific)</span><br
style="font-family: monospace;"><span
style="font-family: monospace;"></span><span
style="font-family: monospace;"></span><span
style="font-family: monospace;"> </span><span
style="font-family: monospace;">
| | <br></span><span
style="font-family: monospace;">
| |-- ...<br></span><span
style="font-family: monospace;">
|<br>
|-- ...<br><br style="font-family: monospace;"></span><span
style="font-family: monospace;"></span><br><span
style="font-weight: bold;">SEPARATION/OVERRIDE OF UTILs
& SITEs</span><br><br>in general, i'm a big
believer in keeping separate:<br><ul><li>a core
application's source</li><li>data & configuration
files used by the application</li><li>third-party
applications' src</li></ul>my primary rationale is to
ensure that:<br><ul><li>application source (core
& 3rd party) upgrades never 'come near' -- & possibly
overwrite! -- my valuable data/config files. i consider data
files IN the app's src tree to be 'near'.</li><li>3rd party
applications can be located elsewhere -- either to share sinlge
instances amongst other apps, and/or to make available different
versions of a given app.</li><li>core & 3rd party
applications can be -- with necessary caveats & cautions -- be
asynchronously upgraded</li></ul>of course, i think
bundling a default/global set of apps/config/data into a core app's
distro is a 'good thing' -- as long as those default
locations/assignments can be overridden on a per-site basis.<br><br><span
style="font-weight: bold;">A FRIENDLIER bw.o MULTI-SITE
LAYOUT</span><br><span style="font-family: monospace;"><br></span>taking
the drupal layout in conjunction with the keep-it-separate approach,
consider a <span style="font-style: italic;">possible</span>
bw.o layout of:<br><br><pre> ${main bw.o install}</pre><pre> |</pre><pre> |-- util/</pre><pre> | |</pre><pre> | |-- smarty/</pre><pre> | |-- adodb/</pre><pre> | |-- ...</pre><pre> |</pre><pre> |-- themes/</pre><pre> | |-- admin/</pre><pre> | |-- modules/</pre><pre> | |-- templates/</pre><pre> | |-- styles/</pre><pre> |</pre><pre> |-- sites/</pre><pre> | |-- default/</pre><pre> | | |-- settings.php</pre><pre> | | |-- modules/</pre><pre> | | |-- themes/</pre><pre> | | |-- styles/</pre><pre> | | |-- admin/</pre><pre> | |</pre><pre> | |-- "examples.com"/ </pre><pre> | | |-- settings.php</pre><pre> | | |-- modules/</pre><pre> | | |-- themes/</pre><pre> | | |-- styles/</pre><pre> | | |-- admin/</pre><pre> |</pre><pre> | |-- www.domain.com/ (symlink to ${main my_sites location}/www.domain.com)</pre><pre> | | |-- settings.php</pre><pre> | | |-- modules/</pre><pre> | | |-- themes/</pre><pre> | | |-- styles/</pre><pre> | | |-- admin/</pre><pre> |</pre><pre> | |-- ...</pre><pre></pre><pre> ${main my_sites location}</pre><pre> |</pre><pre> |-- www.domain.com/</pre><pre> |-- settings.php</pre><pre> |-- modules/</pre><pre> |-- themes/</pre><pre> |-- styles/</pre><pre> |-- admin/</pre><pre> |-- cache/</pre><pre> |-- configs/</pre><pre> |-- include/</pre><pre> |-- locale/</pre><pre> |-- templates/</pre><pre> |-- templates_c/</pre><pre></pre><pre></pre><pre> ${main smarty install location}</pre><pre> |</pre><pre> |-- smarty v2.5.x/</pre><pre> |-- smarty v2.6.x/</pre><pre> |-- ...</pre><pre></pre><pre> ${main adodb install location}</pre><pre> |</pre><pre> |-- adodb v2.80/</pre><pre> |-- adodb v2.70/</pre><pre> |-- ...</pre><pre><span
style="font-family: monospace;"></span></pre><span
style="font-family: monospace;"><br>where each site's
"settings.php" can specify, e.g.:<br></span><ul><li><span
style="font-family: monospace;">path to a specific version
of adodb</span></li><li><span
style="font-family: monospace;">path to a specific version
of smarty libs</span></li><li><span
style="font-family: monospace;">specific smarty class configs</span></li><ul><li><span
style="font-family: monospace;"></span>custom
delimiters</li><li>locations for templates_c &
other smarty-specific dirs</li><li>etc etc</li></ul></ul><span
style="font-family: monospace;">of course, in the absence of
any override directive, values would fall back to bw.o global/default
values.<br><br>ultimately, this approach scales to src,
data, cache & compiled templates, and site files storable in
any network-mountable location; think, e.g.:<br></span><ul><li><span
style="font-family: monospace;">compiled templates in a RAM
DISK</span></li><li><span
style="font-family: monospace;">individual site dirs on
indiv front-end boxes</span></li><li><span
style="font-family: monospace;">shared drupal &
smarty installs on a back-end box</span></li><li><span
style="font-family: monospace;">etc</span></li></ul><span
style="font-family: monospace;"><span
style="font-weight: bold;">DATABASE ISSUES w/ MULTISITES</span><br></span><ul><li><span
style="font-family: monospace;">multisites in multiple
databases</span></li><li><span
style="font-family: monospace;">multisites in single
database, shared tables</span></li><li><span
style="font-family: monospace;">sharing some tables ... e.g.:</span></li><ul><li><span
style="font-family: monospace;"></span>consolidated
single sign-on 'users/groups'<span style="font-family: monospace;"></span></li><li><span
style="font-family: monospace;"></span>per-site-unique
themes, modules & content</li><li>etc</li></ul><li>etc</li></ul><span
style="font-family: monospace;"><br
style="font-weight: bold;"><span
style="font-weight: bold;">MULTISITE ADMINISTRATION</span><br><br>what's
a admin GUI for all this look like?<br>is one evern necessary, or
should it be left to manual admin?<br><span
style="font-family: mon;"><span style="font-weight: bold;"><br>PER-SITE
PAGE & 'other node' OVERRIDES<br><br></span></span></span><span
style="font-family: monospace;"><span
style="font-weight: bold;"></span></span>
style="font-weight: bold;">INTRODUCTION</span><br
style="font-weight: bold;"><br>among the key features
i'm looking for in a cms is 'strong/flexible multi-site support'.<br><br>i
know there are discussion's of mutlsite functionality scattered
throughout both tw.o & bw.o. personally,
find it confusing to find it all, let alone figure out what's best
practice ...<br><br>that said, my hope/intention with this
particular wiki page is to:<br><ol><li>gather,
summarize & provide examples of the way things *currently* work
in bw.o</li><li>brainstorm ideas, documenting 'issues'
& 'wishlists' of 'how to make it better' -- and end
up with a functional design proposal to float for development ...</li></ol>i'm
generally new to bw.o myself, and<span
style="font-weight: bold; font-style: italic;"> really</span>
invite any/all interested to participate.<br>if in doing so, if
we can keep it organized & readable to boot ... then, woot!<br><br>i'm
gonna start by dumping *my* ideas/notes here ... please feel free to
markup, comment, etc.<br><br>and, yes! i realize that all
of this may already be easily do-able in bw.o, and i just haven't
learned enuf yet. in that case, i'll at least feel more
organized :-)<br><br><span style="font-weight: bold;"></span><span
style="font-weight: bold;">CURRENT STATE OF AFFAIRS
... bw.o</span><br style="font-weight: bold;"><span
style="font-style: italic; text-decoration: underline;"></span><br>an
out-of-the-box bw.o install is physically laid out as:<br><br><span
style="font-family: monospace;">
${main bw.o install}</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
|-- util/</span><span
style="font-family: monospace;"></span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
| |--
smarty/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
| |--
adodb/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
| |-- ...</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
|</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
|-- themes/</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
| |</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
| |--
admin/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
| |--
modules/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
| |--
templates/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
| |--
styles/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|
|</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|
|-- basic/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|
|-- clean/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|
|-- jill/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|
|-- firebird/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|
|-- ...</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
|-- ...</span><br
style="font-family: monospace;"><br><br><span
style="font-weight: bold;">GENERAL APPROACH</span><br
style="font-weight: bold;"><br>prior
to moving to bw.o, or any cms project for that matter, when designing
my own smarty-based, multiple sites for a single server, i worry about
four things:<br><ol><li>physical & logical
separation of app src, smarty src & site data</li><li>provide
inheritable/overridable configs, from global default to local specific</li><li>insulate
designs changes from other/coeexistent webapps</li><li>do
not break access to other app APIs</li></ol><span
style="font-weight: bold;"></span><br><span
style="font-weight: bold;">FUNCTIONAL CONSIDERATIONS:</span><br
style="font-weight: bold;"><br><br><span
style="font-weight: bold;">BEST PRACTICES FROM OTHER
PROJECTS ...</span><br><br>just like just about
everybody else, i've tried a number of 'other' CMS frameworks.
each has some nice features that make life-with-multisites a
bit easier.<br><br>there are ideas from various projects
that might be worth 'adopting'.<br><br>the <span
style="font-weight: bold; font-style: italic; text-decoration: underline;">drupal</span>
project has what i consider to be a great start at multisite management:<br><ul><li>sites
are 'created' by simply creating a subdirectory in its sites/ dir</li><li>directories
are named as FQDNs; one exception is the 'default' site</li><li>a
given site's URL is constructed from the subdirectory name</li><li>sites
can be individual/unique domains, and/or subdomains</li><li>non-standard
ports can be assigned for a site, prepending the portnum as the deepest
subdomain</li></ul>so, for example, <br><br><div
style="margin-left: 40px;">sites/default<br>sites/example.com<br>sites/sub.example.com<br>sites/www.domain.com<br>sites/8080.www.domain2.com
<br></div><br>would all be valid
sites ...<br><br>in drupal, each site can have its own
site-specific modules and themes that are made available <span
style="font-style: italic; text-decoration: underline;">in
addition to</span> those installed in the installation's global
'modules' and 'themes' directories, e.g.:<br><br><span
style="font-family: monospace;">
${main drupal install}</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
|</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
|-- themes/
(global)</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
|-- modules/
(global)</span><br style="font-family: monospace;"><span
style="font-family: monospace;"></span><span
style="font-family: monospace;">
|</span><span
style="font-family: monospace;">-- sites/</span><br
style="font-family: monospace;"><span
style="font-family: monospace;"></span><span
style="font-family: monospace;">
| |--
default/</span><br style="font-family: monospace;"><span
style="font-family: monospace;">
| |
|-- </span><span
style="font-family: monospace;">themes/
(site-specific)</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
| |
|-- modules</span><span
style="font-family: monospace;">/
(site-specific)</span><br
style="font-family: monospace;"><span
style="font-family: monospace;"></span><span
style="font-family: monospace;">
| | <br></span><span
style="font-family: monospace;">
|
|-- </span>www.domain.com<span
style="font-family: monospace;">/</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
| |
|-- </span><span
style="font-family: monospace;">themes/
(site-specific)</span><br
style="font-family: monospace;"><span
style="font-family: monospace;">
| |
|-- modules</span><span
style="font-family: monospace;">/</span><span
style="font-family: monospace;">
(site-specific)</span><br
style="font-family: monospace;"><span
style="font-family: monospace;"></span><span
style="font-family: monospace;"></span><span
style="font-family: monospace;"> </span><span
style="font-family: monospace;">
| | <br></span><span
style="font-family: monospace;">
| |-- ...<br></span><span
style="font-family: monospace;">
|<br>
|-- ...<br><br style="font-family: monospace;"></span><span
style="font-family: monospace;"></span><br><span
style="font-weight: bold;">SEPARATION/OVERRIDE OF UTILs
& SITEs</span><br><br>in general, i'm a big
believer in keeping separate:<br><ul><li>a core
application's source</li><li>data & configuration
files used by the application</li><li>third-party
applications' src</li></ul>my primary rationale is to
ensure that:<br><ul><li>application source (core
& 3rd party) upgrades never 'come near' -- & possibly
overwrite! -- my valuable data/config files. i consider data
files IN the app's src tree to be 'near'.</li><li>3rd party
applications can be located elsewhere -- either to share sinlge
instances amongst other apps, and/or to make available different
versions of a given app.</li><li>core & 3rd party
applications can be -- with necessary caveats & cautions -- be
asynchronously upgraded</li></ul>of course, i think
bundling a default/global set of apps/config/data into a core app's
distro is a 'good thing' -- as long as those default
locations/assignments can be overridden on a per-site basis.<br><br><span
style="font-weight: bold;">A FRIENDLIER bw.o MULTI-SITE
LAYOUT</span><br><span style="font-family: monospace;"><br></span>taking
the drupal layout in conjunction with the keep-it-separate approach,
consider a <span style="font-style: italic;">possible</span>
bw.o layout of:<br><br><pre> ${main bw.o install}</pre><pre> |</pre><pre> |-- util/</pre><pre> | |</pre><pre> | |-- smarty/</pre><pre> | |-- adodb/</pre><pre> | |-- ...</pre><pre> |</pre><pre> |-- themes/</pre><pre> | |-- admin/</pre><pre> | |-- modules/</pre><pre> | |-- templates/</pre><pre> | |-- styles/</pre><pre> |</pre><pre> |-- sites/</pre><pre> | |-- default/</pre><pre> | | |-- settings.php</pre><pre> | | |-- modules/</pre><pre> | | |-- themes/</pre><pre> | | |-- styles/</pre><pre> | | |-- admin/</pre><pre> | |</pre><pre> | |-- "examples.com"/ </pre><pre> | | |-- settings.php</pre><pre> | | |-- modules/</pre><pre> | | |-- themes/</pre><pre> | | |-- styles/</pre><pre> | | |-- admin/</pre><pre> |</pre><pre> | |-- www.domain.com/ (symlink to ${main my_sites location}/www.domain.com)</pre><pre> | | |-- settings.php</pre><pre> | | |-- modules/</pre><pre> | | |-- themes/</pre><pre> | | |-- styles/</pre><pre> | | |-- admin/</pre><pre> |</pre><pre> | |-- ...</pre><pre></pre><pre> ${main my_sites location}</pre><pre> |</pre><pre> |-- www.domain.com/</pre><pre> |-- settings.php</pre><pre> |-- modules/</pre><pre> |-- themes/</pre><pre> |-- styles/</pre><pre> |-- admin/</pre><pre> |-- cache/</pre><pre> |-- configs/</pre><pre> |-- include/</pre><pre> |-- locale/</pre><pre> |-- templates/</pre><pre> |-- templates_c/</pre><pre></pre><pre></pre><pre> ${main smarty install location}</pre><pre> |</pre><pre> |-- smarty v2.5.x/</pre><pre> |-- smarty v2.6.x/</pre><pre> |-- ...</pre><pre></pre><pre> ${main adodb install location}</pre><pre> |</pre><pre> |-- adodb v2.80/</pre><pre> |-- adodb v2.70/</pre><pre> |-- ...</pre><pre><span
style="font-family: monospace;"></span></pre><span
style="font-family: monospace;"><br>where each site's
"settings.php" can specify, e.g.:<br></span><ul><li><span
style="font-family: monospace;">path to a specific version
of adodb</span></li><li><span
style="font-family: monospace;">path to a specific version
of smarty libs</span></li><li><span
style="font-family: monospace;">specific smarty class configs</span></li><ul><li><span
style="font-family: monospace;"></span>custom
delimiters</li><li>locations for templates_c &
other smarty-specific dirs</li><li>etc etc</li></ul></ul><span
style="font-family: monospace;">of course, in the absence of
any override directive, values would fall back to bw.o global/default
values.<br><br>ultimately, this approach scales to src,
data, cache & compiled templates, and site files storable in
any network-mountable location; think, e.g.:<br></span><ul><li><span
style="font-family: monospace;">compiled templates in a RAM
DISK</span></li><li><span
style="font-family: monospace;">individual site dirs on
indiv front-end boxes</span></li><li><span
style="font-family: monospace;">shared drupal &
smarty installs on a back-end box</span></li><li><span
style="font-family: monospace;">etc</span></li></ul><span
style="font-family: monospace;"><span
style="font-weight: bold;">DATABASE ISSUES w/ MULTISITES</span><br></span><ul><li><span
style="font-family: monospace;">multisites in multiple
databases</span></li><li><span
style="font-family: monospace;">multisites in single
database, shared tables</span></li><li><span
style="font-family: monospace;">sharing some tables ... e.g.:</span></li><ul><li><span
style="font-family: monospace;"></span>consolidated
single sign-on 'users/groups'<span style="font-family: monospace;"></span></li><li><span
style="font-family: monospace;"></span>per-site-unique
themes, modules & content</li><li>etc</li></ul><li>etc</li></ul><span
style="font-family: monospace;"><br
style="font-weight: bold;"><span
style="font-weight: bold;">MULTISITE ADMINISTRATION</span><br><br>what's
a admin GUI for all this look like?<br>is one evern necessary, or
should it be left to manual admin?<br><span
style="font-family: mon;"><span style="font-weight: bold;"><br>PER-SITE
PAGE & 'other node' OVERRIDES<br><br></span></span></span><span
style="font-family: monospace;"><span
style="font-weight: bold;"></span></span>