Columns
| Column | Type | Size | Nulls | Auto | Default | Children | Parents | Comments | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| id | BIGINT | 19 | null |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| url | VARCHAR | 2048 | √ | null |
|
|
Url of the item, as will be loaded in the iframe |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| options | TEXT | 65535 | √ | null |
|
|
Options passed to the task, formatted as a JSON object |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| display_settings | JSON | 1073741824 | json_object() |
|
|
JSON object containing display/UI-only settings consumed by the frontend (e.g. children_layout, prompt_to_join_group_by_code). The backend does not interpret these settings; it stores and returns them as-is. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| platform_id | INT | 10 | √ | null |
|
|
Platform that hosts the item content. Auto-generated from |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| text_id | VARCHAR | 200 | √ | null |
|
|
Unique string identifying the item, independently of where it is hosted |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| type | enum('Chapter', 'Task', 'Skill') | 7 | null |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| uses_api | BIT | 1 | 1 |
|
|
Whether the item uses the task integration API, at the minimum the load and getHeight functions. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| read_only | BIT | 1 | 0 |
|
|
Prevents any modification of the scores for this item (typically, to display a contest item after the end date of the contest) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| hints_allowed | BIT | 1 | 0 |
|
|
Whether hints are allowed for tasks accessed through this chapter (currently unused) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| validation_type | enum('None', 'All', 'AllButOne', 'Categories', 'One', 'Manual') | 10 | All |
|
|
Criteria for this item to be considered validated, based on the status of the children. Ex: “All” means all children should be validated. Categories means items of the “Validation” category need to be validated. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| supported_lang_prog | VARCHAR | 200 | √ | null |
|
|
Comma-separated list of programming languages that this item can be solved with; not currently used. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| default_language_tag | VARCHAR | 6 | null |
|
|
Default language tag of this task (the reference, used when comparing translations) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| requires_explicit_entry | BIT | 1 | 0 |
|
|
Whether this item requires an explicit entry to be started (create an attempt) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| entry_participant_type | enum('User', 'Team') | 4 | User |
|
|
For explicit-entry items, the type of participants who can enter |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| entry_min_admitted_members_ratio | enum('All', 'Half', 'One', 'None') | 4 | None |
|
|
The ratio of members in the team (a user alone being considered as a team of one) who needs the “can_enter” permission so that the group can enter |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| entering_time_min | DATETIME | 19 | 1000-01-01 00:00:00 |
|
|
Lower bound on the entering time. Has the priority over given can_enter_from/until permissions. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| entering_time_max | DATETIME | 19 | 9999-12-31 23:59:59 |
|
|
Upper bound on the entering time. Has the priority over given can_enter_from/until permissions. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| entry_frozen_teams | BIT | 1 | 0 |
|
|
Whether teams require to have |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| participants_group_id | BIGINT | 19 | √ | null |
|
|
Group to which all the entered participants (users or teams) belong. Must not be null for an explicit-entry item. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| entry_max_team_size | INT | 10 | 0 |
|
|
The maximum number of members a team can have to enter |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| allows_multiple_attempts | BIT | 1 | 0 |
|
|
Whether participants can create multiple attempts when working on this item |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| duration | TIME | 8 | √ | null |
|
|
Not NULL if time-limited item. If so, how long users have to work on it. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| no_score | BIT | 1 | 0 |
|
|
Whether this item should not have any score displayed / propagated to the parent. |
Indexes
| Constraint Name | Type | Sort | Column(s) |
|---|---|---|---|
| PRIMARY | Primary key | Asc | id |
| fk_items_id_default_language_tag_items_strings_item_language_tag | Performance | Asc/Asc | id + default_language_tag |
| fk_items_platform_id_platforms_id | Performance | Asc | platform_id |
| unique_text_id_unique | Must be unique | Asc | text_id |