This package is under development and will be built to work with R2
Bugs
Group Administration is available to any group member whether they have permission or not.
Membership email preferences are not being stored
Road Map
Some features of Groups Package will be achieved through the development of additional service packages. See: SwitchboardPackage and ModerationPackage
Group Creation and Access:
DONE User Created Groups — Ability for users with the right permission to create a new group.
DONE Public Groups — Ability to create groups which any site member can subscribe and post to the group.
Announce Only — Ability to create groups which anybody can read but you must be subscribed in order to post to it.
DONE Private Groups — Ability to create groups which require an invitation to read and post to.
View When Invited — User can view groups they have been invited to and accept or reject the invitation.
DONE List Group Option — admin can control if group is listed in the website's groups list - private groups are hidden
BUGGYVarious Admin Controls for Content authoring, messaging, adding files, inviting, message moderation (TODO – list based on google groups Access options)
DONE View Member Control — admins can control if members only can view members or if anyone can view members
Group Administration:
DONEContent Type Selection — group admins can select which content types group members can create/use in their group (blogs, maps, wiki pages, etc)
DONEPer Content Item Permissions – group admins can designate if content within public content groups is private and public - so that access can be limited on per content item basis
Message Moderation — admins can moderate messages, including ability to delegate moderation ability to a subset of group members.
Group Manager Email Blasts — admins can email members
General Features:
DONEGroup Home — Lists Content added to the group as well as comments by group members. For example a list of groups galleries, groups blogs etc will be on the groups's home page.
Display Group Created Content as within Group – for example display blog posts created by the group at the groups url.
DONE Group Listing and Search — Ability to list and search groups as well as browse by category.
Comments -> Email — Ability to send comments on the group via Email. Members will be able to opt in or out of receiving such messages.
Email -> Comments — Ability to send email to comments on the group.
Files Manager - Central repository of files uploaded to the group
Group Look and Feed Management:
DONE Per Group Theme — each group can select a look and feel for its pages.
DONE Per Group Layout — each group can customize module assignment
DONE Per Group Language — each group can be displayed in the language used by the group.
Development Schedule
This schedule contains target dates. We may miss them, or we may get it done sooner.
Basic Group Creation and Membership: Jan 30, 2008
DONE admin type of group (public/private)
membership signup and moderation
DONE group listing within the site
DONE basic posting of messages to group
Content Control and Email Messaging: February 28, 2008
DONE content type selection
DONE per-content permission control
uploading files
membership invitation features
posting messages by email
receiving messages by email
Group Customization: March 30, 2008
BUGGY assignable permissions to members
configuration of group home content
displaying content as within group
DONE group theming, layout, and language selection
Things to include in final documentation on this page
Configuration
Groups package is a rather complex package, with complex relationships with other packages. These instructions will help you set up your groups package to optimally work for you install
Required Configuration
These settings are required for the groups package to work correctly. Without following these configurations you may experience security and other problems.
Run LibertySecure:Register Default Permissions LibertySecurePackage is designed to properly jail any content that may have custom permissions assigned. Groups package makes use of custom permissions to enable private groups and private group content. To properly jail this content you MUST install the LibertySecure package and in the admin panel run Register Default Permissions when you set up your site, and anytime you install new content types on your site.
Highly Recommended Configuration
We highly recommend these settings as well like how Groups package works when configured this way.
Hide Groups Choices from User Registration Panel The Users package lets you display groups users can join at registration time. We recommend disabling this. You can do so in the Users:Login Settings in the Administration panel. It is at the bottom of the list. The UI is a little wonky here - the option to select none is not clear. Select the empty row in the list to display none. The reason we recommend disabling this feature is a) the UI is not well developed; when only one group is available to join the user can not opt out. b) if you have many public groups on your site a very long, and rather annoying, list will be displayed.
Groups Administration Rolls
Can admin group content Group members with this permission can edit and control all content that is part of the group
Can create group content Group members with this permission can create content in the group. Content is limited by types of content the group creator has allowed to be created for the group, such as wiki pages or blog posts.
Can submit content to group for inclusion Slightly different than creating content, this regulates which users can submit content to the group. @TODO this might get yanked.
Can admin group members Group members with this permission can assign rolls to members, and approve or ban memberships.
Can send invitations to the group Group members with this permission can invite people to the group. When members are invited they are automatically approved to be members. This permission is useful on private groups which restrict membership.
Can view group members Group members with this permission can see a list of who else is in the group.
Can admin group forums Group members with this permission can moderate forum messages posted to the group.
Can post messages to group forums Group members with this permission can post messages to the group forum. By default this permission is available to all members, but can be useful in creating announcement type groups.
Get the Code: Checkout _bit_groups from cvs.
Configuration
Groups package is a rather complex package, with complex relationships with other packages. These instructions will help you set up your groups package to optimally work for you install
Required Configuration
These settings are required for the groups package to work correctly, and the order here is important, please do each in order. Without following these configurations you may experience security and other problems.
Install Boards Package GroupsPackage leverages the BoardsPackage to create discussion forums for each group. GroupsPackage at this time automatically assumes you want your groups to have a discussion forum, so at this time Boards is a requirement.
Install Switchboard Package Groups package uses SwitchboardPackage for sending email notifications.
Install and Configure Moderations and ModComments Packages ModerationPackage and ModCommentsPackage are required for groups to moderate their forum. Once you install and activate both, in ModComments enable Allow admins to moderate comments in the Administration panel.
Install Groups Package of course.
Users Groups Permissions Configuration When assigning permissions to different base groups (admin, editors, registered, anonymous) it is important to not assign the same permission to both registered users and anonymous users. Pick one. Registered users automagically inherit permissions from anonymous users, so if you want both to have the same permission assign the permission to anonymous group. You can configure your users groups permissions in the admin panel, select Users->Permission Maintenance
Run LibertySecure:Register Default Permissions LibertySecurePackage is designed to properly jail any content that may have custom permissions assigned. Groups package makes use of custom permissions to enable private groups and private group content. To properly jail this content you MUST install the LibertySecure package and in the admin panel run Register Default Permissions when you set up your site, and anytime you install new content types on your site. Run this AFTER you have installed all the above packages and other packages you want to use.
Highly Recommended Configuration
We highly recommend these settings as well like how Groups package works when configured this way.
Hide Groups Choices from User Registration Panel The Users package lets you display groups users can join at registration time. We recommend disabling this. You can do so in the Users:Login Settings in the Administration panel. It is at the bottom of the list. The UI is a little wonky here - the option to select none is not clear. Select the empty row in the list to display none. The reason we recommend disabling this feature is a) the UI is not well developed; when only one group is available to join the user can not opt out. b) if you have many public groups on your site a very long, and rather annoying, list will be displayed.
Advanced Configuration
Setup Email to Forum / Forum to Email Synchronization It is possible to synchronize an email box to your group forums so that users can send and receive discussion posts through email. This is a very advanced feature and requires server configuration access and some courage to configure a mailing list. See BoardsEmailListConfig for help.
Features
Group Types
User Created Groups — Ability for users with the right permission to create a new group.
Public Groups — Ability to create groups which any site member can subscribe and post to the group.
Announce Only — Ability to create groups which anybody can read but you must be group admin in order to post to it.
Private Groups — Ability to create groups which only members can view and require an invitation to join. Private groups are hidden from lists, and all group related content is also automatically private as well. User can view these groups they have been invited to and accept or reject the invitation.
Membership Administration
View Member Control — admins can control if members only can view members or if anyone can view members
Group Administration:
Content Type Selection — group admins can select which content types group members can create/use in their group (blogs, maps, wiki pages, etc)
Per Content Item Permissions – group admins can designate if content within public content groups is private and public - so that access can be limited on per content item basis
Message Moderation — admins can moderate messages, including ability to delegate moderation ability to a subset of group members.
Group Manager Email Blasts — admins can email members directly and privately without posting to the message board
Layout and Theming
Group Layout - the group can customize the display of its home page, choosing to display various content types or messages or a mix. A group can also add additional modules to the left and right columns.
Group Created Content is displayed as within Group – for example display blog posts created by the group at the groups url.
Group Theming — each group can select a look and feel for its pages.
Group Language — each group can be displayed in the language used by the group.
Messaging
Comments -> Email — Ability to send comments on the group via Email. Members will be able to opt in or out of receiving such messages.
Email -> Comments — Ability to send email to comments on the group.
Files Manager - Central repository of files uploaded to the group
Group Administration Roles
Can admin group content Group members with this permission can edit and control all content that is part of the group
Can create group content Group members with this permission can create content in the group. Content is limited by types of content the group creator has allowed to be created for the group, such as wiki pages or blog posts.
Can submit content to group for inclusion Slightly different than creating content, this regulates which users can submit content to the group. @TODO this might get yanked.
Can admin group members Group members with this permission can assign rolls to members, and approve or ban memberships.
Can send invitations to the group Group members with this permission can invite people to the group. When members are invited they are automatically approved to be members. This permission is useful on private groups which restrict membership.
Can view group members Group members with this permission can see a list of who else is in the group.
Can admin group forums Group members with this permission can moderate forum messages posted to the group.
Can post messages to group forums Group members with this permission can post messages to the group forum. By default this permission is available to all members, but can be useful in creating announcement type groups.
Future Development
Wishlist
After approval of a forum or topic post it would be nice if moderations could redirect to the source content. This might not be possible.
Make Boards an option. This would require extensive checking to make sure some features are turned off if not utilized.
Related Desirable Features
Jailed attachments - attachment access should be restricted by perms on the group, but this needs to happen in at the Liberty level so that it would happen automagically for all packages.