Hello, Codeforces!
I, ChurakovaAlexandra, and medvezhonokok are students of ITMO, and since this August, we started our internship at Codeforces. We are delighted that now we have the opportunity not only to write academic code but to do something that competitive programming enthusiasts from all over the world use.
Currently, we are working on minor improvements to Polygon — a system for preparing problems. Later, as we gain more experience and delve into the technologies, we will also start working on Codeforces.
A big thank you to our mentors geranazavr555 and MikeMirzayanov, who are always there to help and support.
Here's a list of the main improvements to Polygon that we've made (sometimes with significant help from our mentors) over these two months.
1. Problem statement save button in Edit-And-Preview mode
Now it is possible to save your changes in problem's statement using preview mode.
2. New features on the Search page
If you need to find problem by its URL, Сopy it, go to the 'Search' page, and find the desired problem if you have the necessary permissions.
Also, when searching for problems or contests, you can sort the results by relevance or modification time
3. Improved issue handling
Now you can close and reopen issues with one click.
4. Preview for one or several tests
If you want to create a preview for a few tests, you can go to the 'Tests' page, select the tests you need for this purpose, and click the 'Preview' button.
5. Multiple compiler change
Added the ability to change the language for all source files in bulk. This can be done in the 'sources' table on the 'Files' page, as well as in the 'solutions' table on the 'Solution Files' page (by selecting sources you need and clicking the 'Lang' button in 'Actions').
You can also change the language for this kind of files right on the 'Editor' page.
6. Contest's problems editing.
We supported the option to change TL/ML and problem name in the problem statements in different languages for all available problems in the contest. To use this, click 'Change names and TLs/MLs' link in sidebar on Contest Problems page.
7. Automatic translation of solutions from one programming language to another.
On the Solutions page, a 'Translate' button has been added next to each of the solutions.
When you click on it, you can choose a programming language and translate your solution into that language. Clicking the 'Get Translation' button opens an editor with the ability to edit and save the translated solution.
8. Mass operations with Checker tests.
Supported mass editing, adding, and opportunity to make changes during mass copying for Checker tests, you can also save the result using 'Ctrl+Enter'.
9. User settings update
In user settings, an option has been added to disable email notifications for task commits.
10. Contest problem switcher update
In the problem switcher for the contest, highlighting has been added to tasks that have uncommitted changes and/or open bug issues.
11. Testset and Group in Stress
Added the capability to include testset and group when editing a stress test. If a test is found for a stress and testset and group are specified, if you click 'add to test,' the testset and group will be automatically set without the need to specify them through a pop-up.
12. Multiple deletion/addition of dependencies to test groups.
Supported opportunity to add or remove dependence for multiple test groups.
13. Material editing improvements
Now, when creating a package and editing materials, there is an option for 'Test answers' to select only those tests that you have chosen as inputs.
Polygon API improvements:
- problem.commitChanges — commits problem changes
- problem.validatorTests — returns a list of validator tests for the problem
- problem.saveValidatorTest — add or edit validator test
- problem.checkerTest — returns a list of checker tests for the problem.
- problem.saveCheckerTest — adds or edits checker test
- todo: sashas api
You can find the full description of Polygon API here.
Other updates
- When editing materials, the option to select all tests has been added to highlight all tests.
- Added the display of the number of example tests in the 'Example' column on Tests page.
- Red highlighting has been added to issues count assigned to the user if at least one of them is open and not outdated.
- On the Contest page, the user does not see the 'Start/Continue' links for a task if they do not have permissions for it.
- Added new Warning for situation when there is a solution that has the same name as a file on the 'Files' page.