Hi,
I have used subsites for on our extranet. Basically for each client we have an extranet. I customized acs-subsite and mount bboard, file-storage and ticket-tracker-list on each subsite. Since I needed permissions I have made use of groups.
For every subsite there is an application group, party that is associated to it. For each of our client I mount the subsite and change the permission so it will not inherit from "Main Site". I then mount the other packages. But since this packages will have the context_id pointed to the "Main Site" rather than the subsite it is mounted into. I then do an update a couple rows on acs_objects with something like this.
update acs_objects set context_id = '[object_id of new subsite]' where object_id = '[object_id of file storage]' or object_id = '[object_id of bboard]' or object_id = '[object_id of tt-lite]';
Although for some weird bug all new subsites has a relationship with the first subsite. I then have to nuke this relationship on the table acs_rels.
As for the users since the group pages admin still broken I was lazy not to make admin page on my own and sql does gives me some flexibility. I manually put in the relationships. I do a
select membership_rel__new('[group_id]','[user_id]');
You can get the group_id on groups table.
So far our clients are happy but I did uncover a performance problem in file-storage. You may also want to use [acs_root]/www/templates/[subsite1] rather than [acs_root]/templates. Since most of the time the templates are not just tcl and adp, I put in some logo, images and css files.
I hope this helps to anybody who has a similar case. And maybe see some stuff that we should fix in OpenACS.