Community Server 2008 includes a new feature, Groups. Groups are miniature community sites within the larger community site, similar to Google- or Yahoo-groups. Each Group has its own content, membership, and permissions.
What's in a Group?
A group can contain a single blog, single media gallery, single forum, and can also contain "pages." The blog, media gallery, and forum can be individual enabled by the group owner.
The blog, media gallery, and forum behave exactly the same as the non-grouped versions of these applications with the exception that they are completely managed outside of the Community Server Control Panel. These applications, instead, expose their management and moderation options through the group's pages and navigation options.
How is a Group Created?
By default, only system administrators can create groups, however, group creation can be enabled for any registered user of the Community Server site via the Group Administration control panel. When a user is in a role that is granted the permission to create a group, that user can click the "Create a Group" link in the sidebar of the "Groups" home page to immediately create a group.
System and Group administrators can also create, edit, and delete groups via the Group Administration Control Panel.
Public/Private and Membership Options
Groups can be defined to be "Public (Open Membership)", "Public (Closed Membership)", or "Private".
Public (Open Membership)
Public groups can be viewed by users who are not members of the group, however, non-members cannot post new content or reply to existing content. When the membership is "Open", any user of the Community Server site can choose to become a member without being approved by the owner of the group. Membership is granted immediately.
Public (Closed Membership)
Just as with "Public (Open Membership)" groups, "Public (Closed Membership)" groups can be viewed by users who are not members of the group. When membership is set to "Closed", however, users must request membership and be approved by the owner of the group before becoming a member of the group.
Private
Private groups and their content cannot be seen by non-members. New members can only be added by owners of the group who either add the new member manually, or invite the new member by their email address.
Group Membership Types and Permissions
Within a group, there are four types of users: non-members, members, managers, and owners. Each membership type is associated to a specific set of permissions within the group.
Non-Members
In private groups, non-members cannot view or interact with any content.
In public groups, non-members can view (but not interact) with the group's content.
Members
Members can view and reply to existing content (blog posts, media files, forum threads) and view pages. If enabled (via the "Edit Group" form), members may also be able to start new forum discussions or post their own media files.
Managers
Managers can do everything that regular members can, with the addition of: posting new pages and editing/deleting their own pages, posting/editing/deleting blog posts, starting new forum discussions (including sticky posts, announcements, polls, and video), editing/deleting any forum posts, moderating forum posts, posting/editing/deleting media files, and moderating media files.
Owners
Owners can do everything that managers can, with the addition of: editing the group, editing the group's theme, adding/removing members, and editing any pages.
Theming Groups
Each group can be individually themed (similar to blogs). The owner of each group can select a theme for the group and configure any options exposed by that theme via the "Edit Group Theme" link in the administrative sidebar of the group.
Customizing Group Themes
The group-related themes are located in the web/themes/hubs/ folder (groups are called hubs within the API and themes). Within theme files, the same <CSMedia:, <CSForum:, and <CSBlog: controls used for media gallery, forum, and blog content outside of groups can be used within the group to reference the group's content from these application types. Additionally, the <CSHub: control prefix is used to identify group/hub-specific data and functionality.
For more specific information about group-related controls, see the Chameleon documentation.
This was a quick overview of the features, permissions, and theming options of groups. Please ask any questions in the comments.
