Contest Data Package

From PC2wiki
Revision as of 19:51, 6 November 2014 by Doug Lane (talk | contribs) (PC² Import/Export: added list of files)
Jump to: navigation, search

A contest data package (CDP) is a description of files/directories that are input and output from a contest.

Introduction

This standard contains a description of the organization of contest data. Both the data that is input to the contest and the results of the contest.

Here are two example of the standard.

To learn how pc2 imports and exports the data see the Import/Export section below.

Sample One

config/hello/problem.yaml
config/hello/data/secret/hello.ans
config/hello/data/secret/hello.in
config/hello/data/problem_statement/problem.tex
config/teams.tsv
config/sumit/problem.yaml
config/sumit/data/secret/sumit.in
config/sumit/data/secret/sumit.ans
config/sumit/data/problem_statement/problem.tex
config/contest.yaml
config/problemset.yaml
config/groups.tsv
config/userdata.tsv

submissions/1/A.java
submissions/3/C.java
submissions/3/A.java
submissions/2/A.java

results/runs.tsv
results/scoreboard.tsv
results/results.tsv
backups/team1.tar.gz
backups/team2.tar.gz
backups/team3.tar.gz
video/reactions/reaction3.m2ts
video/reactions/reaction1.m2ts
video/reactions/reaction2.m2ts
images/teams/team3.jpg
images/teams/team2.jpg
images/teams/team1.jpg
images/logos/logo1.png
images/logos/logo3.png
images/logos/logo2.png

eventFeed/eventfeed.json
eventFeed/eventfeed.xml

Sample Two

backups/team1.tar.gz
backups/team2.tar.gz
backups/team3.tar.gz
config/contest.yaml
config/groups.tsv
config/problemset.yaml
config/teams.tsv
config/userdata.tsv
config/hello/problem.yaml
config/hello/data/problem_statement/problem.tex
config/hello/data/secret/hello.ans
config/hello/data/secret/hello.in
config/sumit/data/problem_statement/problem.tex
config/sumit/data/secret/sumit.ans
config/sumit/data/secret/sumit.in
config/sumit/problem.yaml
eventFeed/events.json
eventFeed/events.xml
images/logos/logo1.png
images/logos/logo2.png
images/logos/logo3.png
images/teams/team1.jpg
images/teams/team2.jpg
images/teams/team3.jpg
results/results.tsv
results/runs.tsv
results/scoreboard.tsv
submissions/1/run.properties
submissions/1/A.java
submissions/2/A.java
submissions/2/run.properties
submissions/3/run.properties
submissions/3/A.java
submissions/3/C.java
video/reactions/reaction1.m2ts
video/reactions/reaction2.m2ts
video/reactions/reaction3.m2ts

Layout / Structure

config/

Contains configuration (input) files to configure a CCS (pc2).


images/logos/

  • contains 600x600 images of each team's logo, in logo<x>.png format.

images/teams/

  • contains 1920x1080 images of each team, in team<x>.jpg format.

submissions/

  • contains a folder for each submission

submissions/##

  • contains run source file
  • contains run.properties file (see below for contents)

eventFeed/

  • contains a finalized event feed events.xml.

- may contain other files in the format "<x>-events.xml", e.g. "pc2-events.xml".

results/

  • contains results.tsv and other output files from the CCS.

results/<CCS>

  • contain CCS specific results files, ex. reports, ex results/pc2

video/reactions/

  • contains recorded reaction videos for each submission, in reaction<X>.m2ts format.

backups/

  • contains a final backups of each team's working folder in the form team<X>.tar.gz.


File Formats

runs.properties file

  • contains information about the run

Required names

mainfile= source file name of main (to be executed executed) source file

Optional names

contesttime= number of milliseconds since contest start when submission sent
submittedby= either a # meaning a team or a login account (like judge3)
language= language name, can be the file extension or the full title of the language used
problem= problem short name as found in the problemset.yaml
solved= boolean (yes/no or true/false)

TBD should we limit the boolean values to yes/no ?

sourcecount= number of source files submitted
source1= source file one
source2= source file two
sourceN= source file N

Examples

mainfile=Main.java
problem=low
language=Java
submittedby=28
contesttime=1897053
source1=Main.java
source2=Utilities.java
sourcecount=2
solved=Yes

PC² Import/Export

For each file or set of files, click on the link to learn how to import / export from PC². The articles also describe the contents of the files.

Notes

To start/configure a contest the only required folder is config/. A contest archive with only config/ is only useful for loading into a CCS to start configuring a contest.

Once the contest is complete, the final event feed and submission files should be added back into the archive.

Other content is added as available, e.g. some contests will have backups, reaction videos, or logos, and others won't.

See Also