Polygon Updates (August — September 2023)

Revision en10, by MikeMirzayanov, 2023-10-17 12:58:42

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. 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.

Screenshot

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.

Screenshot
2. 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').

Screenshot

You can also change the language for this kind of files right on the 'Editor' page.

Screenshot
3. 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.

Screenshot
4. 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.

Screenshot

Also, when searching for problems or contests, you can sort the results by relevance or modification time

Screenshot
5. 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.

Screenshot
6. Testset and Group in Stress

Added the capability to include testset and group when editing a stress. If a test is found for a stress and testset and group are specified, clicking 'add to test' link will set testset and group automatically without the need to specify them through a pop-up.

Screenshot
7. Solution tags autoset after invocation

After invocation is completed, you can click on 'Set solutions tags' link to automatically assign solution tags based on the invocation results.

Screenshot
8. 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.

Screenshot
9. Mass operations with Checker tests.

Support for mass editing, adding, and the ability to make changes during mass copying has been added for Checker tests. You can also save the result by using 'Ctrl+Enter'.

Screenshot
10. Problem statement save button in Edit-And-Preview mode

Now it is possible to save your changes in problem's statement using preview mode.

Screenshot
11. User settings update

In user settings, an option has been added to disable email notifications for task commits.

Screenshot
12. Improved issue handling

Now you can close and reopen issues with one click.

Screenshot
13. Multiple deletion/addition of dependencies to test groups.

Supported opportunity to add or remove dependence for multiple test groups.

Screenshot
14. 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.

Screenshot

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.
  • problem.buildPackage — starts to build a new Package.

You can find the full description of Polygon API here.

Other updates

  • Now you can see invocation progress when it's running.
  • 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.
  • Added warnings for built packages.
  • Now you can see TL/ML of the problem in column 'Info' in any table with problems.
  • In all forms, autofocus has been added, either on input or on errors, if they exist.
  • Added autofocus on 'Time Limit' field on 'General Info' page and on 'Testset name' field while creating new testset.
  • If you have only read access for the problem, in all problem lists it will be displayed with a star icon next to the its name and will have title with the text "read access only".
  • The 'Main correct solution' tag no longer gets removed when adding a valid solution via the API.
  • An 'Edit' link has been added while viewing the file.
  • Updated generator examples on the Files page.
Tags polygon, 2023, improvements

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en10 English MikeMirzayanov 2023-10-17 12:58:42 5 Tiny change: 'n\n\n[cut]\n\n\n####' -> 'n\n\n[cut]<br/>\n\n\n####'
en9 English MikeMirzayanov 2023-10-17 12:58:12 11 Tiny change: 'ths.\n\n\n####' -> 'ths.\n\n\n[cut]\n\n\n####'
en8 English vbandurin 2023-10-17 12:50:50 0 (published)
en7 English vbandurin 2023-10-17 12:49:21 4 Tiny change: 'ted, you click on ' -> 'ted, you can click on '
en6 English vbandurin 2023-10-17 11:31:16 326
en5 English vbandurin 2023-10-17 10:11:51 3887 Tiny change: 'ccess only.\n- The '' -> 'ccess only".\n- The ''
en4 English vbandurin 2023-10-17 01:52:19 3684 Tiny change: 'orces.com/57c613/translate' -> 'orces.com/0d55e7/translate'
en3 English vbandurin 2023-10-13 18:27:05 469 Tiny change: 'click the 'Preview' button.\n' -> 'click the **'Preview'** button.\n'
en2 English vbandurin 2023-10-13 18:03:53 1022 Tiny change: 'cking the '**Lang**' button in' -> 'cking the **'Lang'** button in'
en1 English vbandurin 2023-10-13 17:12:48 2041 Initial revision (saved to drafts)