Group Management System
A need exists to let users manage there own user groups. At present a forum administrator is needed to add or modify groups. This is not optimal.
A web system needs to be made that allows a user to register an "organization" and manage a number of user groups tied to that organization.
- Organization: organizations are unique name spaces that are registered by a single user. The contain a number of user groups. An organization may be a game server, a group or network of servers, or a league.
- User Group: user groups contain a list of users that are members in the group, they are managed by a group moderator.
- Owner Group: a user group that is automatically created for each organization and can manage and create all user groups in the organization.
This describes a desired implementation.
A web page system should be created that allows users to create and manage organizations. Organization must have unique names. If an organization name exists at creation time, the user requesting the new organization should be notified that the name is unavailable. A user should not be able to create an organization that has the same name as any user other than himself. Organizations must keep a link to their creator account, so that we have a contact e-mail for the organization. On creation the organization will create a owner group and add the creating user to that group. The owner group can fully administer the organization.
Organization administrator can create any number of user groups. User group names need to only be unique in the organization they belong to. User groups can have any number of members, pulled from the BZFlag user database. The group membership should store the BZID of the user to allow for name changes. Administrators should be able to create, destroy, and rename user groups.
Local Server Setup
All groups from the local server will be handled in the format of OrganizationName.UserGroupName. This will fit our current naming convention.
The list server will parse the organization and user group names out of the group requests, and process them as it does now, pulling data from the new system.
A reserved organization should have global administration permissions, to manage all organizations and user groups if needed
- BZFlag: this organization is for global management of the system.
- Developers: this organizations is for developers.
- Local: this organization is reserved for local server groups and should not exist.
Conversion From phpbb Groups
The existing user groups on BZBB are already mostly in the SERVER.GROUP format. We should be able to convert each server into an organization and assign it an owner. The few groups that are left over should be able to be manually ported to the new system. Since the names of most groups will not change, game servers will still work with the new system.