This wiki is archived and useful information is being migrated to the main bzflag.org website

Difference between revisions of "Web Services/Player Portal"

From BZFlagWiki
Jump to: navigation, search
(New page: {{DesignDocument}} ==Overview== The Player Portal will consist of user management, group management, and server key management. It will also contain the weblogin page. It may or may not ...)
 
(Server Key Management)
Line 51: Line 51:
 
===Server Key Management===
 
===Server Key Management===
  
...
+
Starting with BZFlag 3.0.0 (technically, with 2.99.x), in order to host a server on the official server list, a key is required. Typically, the owner of the server will generate this key. Keys are tied to a hostname or an IP address. The website will provide management for these keys. A registered user can create new keys and delete existing keys.
 +
 
 +
There is more information on the [[ServerAuthentication]] wiki page.

Revision as of 16:33, 12 August 2010

Picture Frame.png This page contains the design document for an enhancement or feature. It is a work of collaborative development, and may not represent the final design. If you are not part of the development or design group, please post comments and suggestions on the talk page and not in the middle of the design.


Overview

The Player Portal will consist of user management, group management, and server key management. It will also contain the weblogin page. It may or may not be secured via SSL.

Design Overview

  • Player portal
    • User management
      • Registration
      • User profile
      • Enable various other services (forum, wiki, API) (?)
    • Group management
      • Create/modify/remove groups
      • View where groups are being used (?)
      • View group membership
    • Server key management

Detailed Objective

This section will detail the expected final product in the ideal implementation. This may, of course, need to change in the future to accommodate limitations.

User Management

From this area, new users will be able to register global accounts for use in the game and with the various web services. The registration will require a unique callsign, a password, an email address, and it needs to handle COPPA. Registration will be protected via at least one anti-spam system, such as reCAPTCHA or a question.

It will be possible to update the user's callsign, password, email and additional information such as IM contacts, website URL from the user profile. Some operations, such as changing the email address, will require that the user confirm the request before it will be applied. In the case of changing the email, this will make it less likely that a user will change their email incorrectly and lose access to their account.

It will also be possible to enable other services and have them be tied to this global account. For instance, the user could enable a forum or wiki account. Once an additional service is created, it cannot be disabled. If the user profile is updated, any associated data in the enabled web services should be updated as well.

Group Management

Groups are used primarily for assigning user rights to specific users in-game. But generally, they are just collections of players. They may be usable by various web services when checking a token generated from weblogin.

Group names consist of two parts. The format is ORGANIZATION.GROUP with the period separating the two parts. There will be two or three reserved organizations. The DEVELOPERS organization is reserved for official BZFlag developers. The LOCAL organization is reserved for local groups on individual servers. This organization cannot be managed through the web interface. The last one that may be reserved is the BZFLAG organization. However, there is already several groups that are using that namespace, so that would have to be worked out with the owner of those groups.

The organization will be registered first and will then be reserved for use by that user. The user that registers a organization will be the founder of that organization. They can add additional co-founders or even transfer the founder right to another user.

Once an organization is registered, groups can be created within the organization. These will be created by the founder or co-founders. Once created, each group can be assigned one or more managers that will be able to add or remove users from the groups.

There will be various options for each group which the founders can modify. The founders can rename the group, add a description, and delete a group. There will also be a visibility setting and a setting to control how users can join the group.

For the visibility setting, there will be two options: private, and public. If the group is public, anyone can see the group and view the members. If the group is private, only members can see the group and other members.

There will also be settings to control how users can be added to or removed from the group. For this, there will be three modes: open, request, and closed. If the group is set to open, users can join or remove the group themself without any interaction from the organization founders or the group managers. The request group allows users to request to be added to a group, but they can remove themself or their request at any time. The founders or managers can approve or deny the user's request. The last type is closed, which allows only the founders or managers to add or remove users from the group.

This may differ slightly from the original plan for the Group Management System.


Server Key Management

Starting with BZFlag 3.0.0 (technically, with 2.99.x), in order to host a server on the official server list, a key is required. Typically, the owner of the server will generate this key. Keys are tied to a hostname or an IP address. The website will provide management for these keys. A registered user can create new keys and delete existing keys.

There is more information on the ServerAuthentication wiki page.