groups


Description

A group can be either a user, a set of users, or a set of groups.

Columns

Column Type Size Nulls Auto Default Children Parents Comments
id BIGINT 19 null
attempts.participant_id fk_attempts_participant_id_groups_id C
group_item_additional_times.group_id fk_group_item_additional_times_group_id_groups_id C
group_managers.group_id fk_group_managers_group_id_groups_id C
group_managers.manager_id fk_group_managers_manager_id_groups_id C
group_membership_changes.group_id fk_group_membership_changes_group_id_groups_id C
group_membership_changes.member_id fk_group_membership_changes_member_id_groups_id C
group_pending_requests.group_id fk_group_pending_requests_group_id_groups_id C
group_pending_requests.member_id fk_group_pending_requests_member_id_groups_id C
groups_ancestors.ancestor_group_id fk_groups_ancestors_ancestor_group_id_groups_id C
groups_ancestors.child_group_id fk_groups_ancestors_child_group_id_groups_id C
groups_groups.child_group_id fk_groups_groups_child_group_id_groups_id C
groups_groups.parent_group_id fk_groups_groups_parent_group_id_groups_id C
groups_propagate.id fk_groups_propagate_id_groups_id C
permissions_generated.group_id fk_permissions_generated_group_id_groups_id C
permissions_granted.can_request_help_to fk_can_request_help_to_groups_id N
permissions_granted.group_id fk_permissions_granted_group_id_groups_id C
permissions_granted.source_group_id fk_permissions_granted_source_group_id_groups_id C
permissions_propagate.group_id fk_permissions_propagate_group_id_groups_id C
threads.helper_group_id fk_threads_helper_group_id_groups_id R
threads.participant_id fk_threads_participant_id_groups_id C
user_batch_prefixes.group_id fk_user_batch_prefixes_group_id_groups_id N
users.group_id fk_users_group_id_groups_id C
name VARCHAR 200
type enum('Class', 'Team', 'Club', 'Friends', 'Other', 'User', 'Session', 'Base', 'ContestParticipants') 19 null
text_id VARCHAR 255 null

Internal text id for special groups. Used to refer o them and avoid breaking features if an admin renames the group

grade INT 10 -2

For some types of groups, indicate which grade the users belong to.

grade_details VARCHAR 50 null

Explanations about the grade

description TEXT 65535 null

Purpose of this group. Will be visible by its members. or by the public if the group is public.

created_at DATETIME 19 CURRENT_TIMESTAMP
is_open BIT 1 0

Whether it appears to users as open to new members, i.e. the users can join using the code or create a join request

is_public BIT 1 0

Whether it is visible to all users (through search) and open to join requests

code VARBINARY 50 null

Code that can be used to join the group (if it is opened)

code_lifetime INT 10 null

How long after the first use of the code it will expire (in seconds), NULL means infinity

code_expires_at DATETIME 19 null

When the code expires. Set when it is first used.

root_activity_id BIGINT 19 null
items.id fk_groups_root_activity_id_items_id N

Root activity (chapter, task, or course) associated with this group

root_skill_id BIGINT 19 null
items.id fk_groups_root_skill_id_items_id N

Root skill associated with this group

open_activity_when_joining BIT 1 0

Whether the activity should be started for participants as soon as they join the group

send_emails BIT 1 0
is_official_session BIT 1 0

Whether this session is shown on the activity page (require specific permissions)

require_personal_info_access_approval enum('none', 'view', 'edit') 4 none

If not 'none', requires (for joining) members to approve that managers may be able to view or edit their personal information

require_lock_membership_approval_until DATETIME 19 null

If not null and in the future, requires (for joining) members to approve that they will not be able to leave the group without approval until the given date

require_watch_approval BIT 1 0

Whether it requires (for joining) members to approve that managers may be able to watch their results and answers

require_members_to_join_parent BIT 1 0

For sessions, whether the user joining this group should join the parent group as well

frozen_membership BIT 1 0

Whether members can be added/removed to the group (intended for teams)

max_participants INT UNSIGNED 10 null

The maximum number of participants (users and teams) in this group (strict limit if enforce_max_participants)

enforce_max_participants BIT 1 0

Whether the number of participants is a strict constraint

organizer VARCHAR 255 null

For sessions, a teacher/animator in charge of the organization

address_line1 VARCHAR 255 null

For sessions or schools

address_line2 VARCHAR 255 null

For sessions or schools

address_postcode VARCHAR 25 null

For sessions or schools

address_city VARCHAR 255 null

For sessions or schools

address_country VARCHAR 255 null

For sessions or schools

expected_start DATETIME 19 null

For sessions, time at which the session is expected to start

Table contained 1 rows

Indexes

Constraint Name Type Sort Column(s)
PRIMARY Primary key Asc id
fk_groups_root_activity_id_items_id Performance Asc root_activity_id
fk_groups_root_skill_id_items_id Performance Asc root_skill_id
fullTextName Performance Asc name
grade Performance Asc grade
name Performance Asc name
password Must be unique Asc code
text_id Must be unique Asc text_id
type Performance Asc type
type_name Performance Asc/Asc type + name

Relationships