Difference between revisions of "Contest Data Package"

From PC2wiki
Jump to: navigation, search
(initial article)
 
(major addition, added 15+ new sections)
Line 2: Line 2:
 
are input and output from a contest.   
 
are input and output from a contest.   
  
The CDP is being developed now and this draft information [[User:Doug Lane|Doug]] ([[User talk:Doug Lane|talk]]) 07:44, 16 April 2014 (PDT)
+
=Introduction=
  
A CDP containst all files listed in the [[Contest Data Files]] article.
 
  
==Example CDP files==
+
==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/team1.tar.gz
Line 45: Line 85:
 
  video/reactions/reaction2.m2ts
 
  video/reactions/reaction2.m2ts
 
  video/reactions/reaction3.m2ts
 
  video/reactions/reaction3.m2ts
 +
 +
=Layout / Structure=
 +
 +
==config/==
 +
 +
* contains contest configuration files: yaml & tsv.
 +
 +
* <prob dir> - each problem's data files per Problem Format
 +
 +
==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
 +
 +
=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=
 
=See Also=
  
[[TBD]] add links to other files like event feed, etc.
+
* [[TBD]] add links to other files like event feed, etc.
[[TBD]] links to loading of contest data file functions in pc2
+
* [[TBD]] links to loading of contest data file functions in pc2
  
 
[[Category:CCS|CCS]]
 
[[Category:CCS|CCS]]
  
 
[[Category:Import and Export]]
 
[[Category:Import and Export]]

Revision as of 11:49, 6 November 2014

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

Introduction

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 contest configuration files: yaml & tsv.
  • <prob dir> - each problem's data files per Problem Format

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

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

  • TBD add links to other files like event feed, etc.
  • TBD links to loading of contest data file functions in pc2