CDC Data Manifest Format¶
Manifest files are written in YAML and need to be in a file called manifest.yml
.
File Format¶
All dates must be in the format YYYY-MM-DD HH:mm
in order for IScorE to parse them correctly. While it may be able
to parse other formats, this format is the expected one that is guaranteed to work. There should always be a top-level
key version
that declares what manifest format is being used by the file. The current manifest version is 0.1
.
Linter¶
You can check your manifest by copying and pasting it into the manifest linter. The manifest linter can be found under the Admin Area in Competition Settings. If the manifest is invalid, the linter display an error message explaining what is wrong. If the manifest is valid, the linter will render a timeline (shown below) of the events in the manifest.
Anomalies¶
A basic manifest that defines an Initial Survey anomaly can be written as:
---
version: 0.1
anomalies:
- type: base
name: Initial Survey
opens: 2016-04-10 08:00
closes: 2016-04-10 16:00
max_score: 5
All manifest files may have a top level anomalies
list. Each item in the anomalies
list is a dictionary that
describes the anomaly.
type
- What kind of anomaly is this? Can be one of
base
,task
,ctf
. name
- The name of the anomaly; this is what will be displayed to the user.
dir
- The directory containing information about the anomaly. Defaults to a slug of the anomaly name.
opens
- What time the anomaly should be available.
closes
- What time the anomaly expires.
max_score
- The score for the anomaly
required
(default False)- This is a boolean that determines whether the anomaly is required or not.
file
(optional)- This can either be a filename, or a list of file names that should be zipped an attached to the anomaly.
description
(optional)- Can either be the filename of a markdown file describing the anomaly, inline markdown, or left out entirely. If left
out, the default of
description.md
will be used. grading
(optional)- Can either be the filename of a markdown file describing the grading of the anomaly, inline markdown, or left out
entirely. If left out, the default of
grading.md
will be used.
Note
All parameters involving files are relative to the anomalies directory. If dir
is not provided, this will be the
slug of the anomaly’s name.
CTF Anomalies¶
Anomalies of type ctf
also have the following parameters:
released
(default True)- Whether the score for this anomaly should be released. This is useful for teams to get points immediately upon submitting the correct flag.
Usability Checks¶
A basic manifest that defines a Morning Usability Check can be written as:
---
version: 0.1
usability:
lists:
- name: Morning Check
sections:
- name: www.teamN.iserink.com
order: 1
link: www.team{num}.isucdc.com
items:
- name: Log In
type: boolean
score: 1
order: 1
- name: Do Stuff
type: integer
score: 5
order: 2
- name: shell.teamN.iserink.com
order: 1
items:
- name: Do stuff as admin
type: boolean
score: 5
order: 1
checks:
- name: "9:00 Usability Check"
list: Morning Check
start_time: 2016-04-10 09:00
end_time: 2016-04-10 16:00
max_score: 25
All manifest files may have a top level usability
dictionary. The usability
directory MUST have the
following keys: lists
and checks
. The lists
key is a list of dictionaries describing a usability checklist.
The checks
key is a list of dictionaries describing a usability check.
lists
¶
name
- The name of the Check List.
sections
A list of usability check sections.
name
- The name of the section.
order
- The order this list is shown to the user in.
link
(optional)- A url that will be displayed to green team when performing the check. Provides the
{num}
format variable. items
A list of usability checklist items.
name
- The name of the checklist item.
type
- The type of the item. Can be
integer
orboolean
. score
- The maximum score for the item.
order
- The order the item is displayed to the user.
checks
¶
name
- The name of the usability check.
list
- The name of the checklist to use. This MUST match the name of a Check List.
start_time
- The time the check starts.
end_time
- The time the check ends.
max_score
- The maximum possible score for the check.