cms-dev / cms-dev/cms

Add required source code upload for OuputOnly tasks

Open
#1,202 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature_request tasktypes
Dominant language
Python
Stars
1k
Forks
412
Avg merge
6d 10h
Merged PRs (30d)
3

Description

Is your feature request related to a problem? Please describe.
We would like to organize a contest with the OutputOnly configuration. However, given the fact that the contest is supposed to run for a week and with multiple teams competing we would like to require every submission to be accompanied by its source code, so that we can check the code after the end of the contest for plagiarism and to make sure that the final submissions do produce the claimed output. As far as I know, this is also how Google Hashcode works.

To be fair, it seems that we could work with how CMS currently work, but this feature would make our life a little bit easier.

Describe the solution you'd like
Add the possibility to upload a source code file for each submission of a OutputOnly type task and make it required for making a submission.

Describe alternatives you've considered
I have tried changing the submission format adding taskname.%l, it works but the source code is not required. Also, for some reason, it eliminates the possibility to upload the solution as a zip file.

Original submission interface (no source code)
Laboratoriodialgoritmi—MozillaFirefox_2022-02-20_15:49:49

Changing submission format (do not worry about the secret warning, this is a test instance and not connected to the internet):
Admin:Laboratoriodialgoritmi—MozillaFirefox_2022-02-20_15:57:54

Example submission with and without source code, note that the possibility to upload a zip file has disappeared:
Laboratoriodialgoritmi—MozillaFirefox_2022-02-20_15:55:55
Laboratoriodialgoritmi—MozillaFirefox_2022-02-20_15:56:12

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how OutputOnly submissions are represented and validated, including the taskname.%l format workaround and the existing zip-upload path. Done means a source-code file can be uploaded with each OutputOnly submission, is required for submission, and does not remove zip-file support.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
full-stack
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.