The short answer is that we are not instantiating acs-subsite
more than once. We have a dotlrn package that we instantiate
more than once, which makes use of the acs-subsite constructs
and APIs (which we're working very hard to clean up and
complete).
The medium answer is that each community in dotLRN is
represented by 1) a user group, 2) a package instantiation, 3) a
site node. These three are bound together in the dotLRN data
model. Thus, depending on where you are on the site (http://
dotlrn/communities/foo), it's easy to determine which group
we're dealing with and whether or not you're a member of that
group.
The long answer is coming in our dotLRN architecture
document. We gave a preview of this at the NYC social a couple
of months ago, and we're working hard to put together coherent
and complete documentation to help users/developers of
dotLRN, but also to help those who wish to develop altogether
new, but dotLRN-like, applications.
It's a long task, but we feel it is important to have this together for
the first release. We will definitely set up a dotLRN architecture
bboard to help answer these questions, too.