On the groups, we've discovered a number of interesting things, which I'll record some of here for posterity --
If you want to create a subsite that will have a group which can be considered admins, and a group that can be considered members, you need to undertake the following steps. (Marc Hildenbrand can follow up here if I get it wrong).
- Create an Application Group associated with the package_id. You can't use the normal group::new interface, you need to use the application_group::new proc.
- Grant admin on the application group to at least one party.
- Create two groups, one called Members, one called Admins.
- Grant admin on members to the Admin group.
- Grant admin on the subsite to the Admin group.
- construct a composition relationship between the application group, and each of the two groups.
- Add the admin party on the application group to the Admins group.
You've now got a subsite with one uber-Admin, who can add people to the Admins group, and a set of Admins who can add members, as well as administer the subsite.