Preparing a contestContest preparation is probably the most demanding part from contest directors. In order to accomplish the tasks described in this section, you first need to have a Mooshak "administrator" account (user admin) and then fulfill the following tasks:
New programming contestIn order to create a new programming contest, the following steps are mandatory:
Programming languages allowed
Inside the folder for the contest you are setting up, open the languages folder and do the following:
Repeat the above steps for each programming language you want to use in the contest.
Note that if you have previously setup some other contest that used the same set of programming languages and corresponding configuration, then you can reuse the previous definition by copying the languages folder from that contest and and pasting it within the new contest folder. First, you may have to remove the default languages folder created by the system for the new contest.
Adding groups and teams
Teams are usually created inside groups. Groups can be viewd as an Institution or a Country, and all teams inside a group share the same group-attributes (group nickname, display-colour, and country flag).
Inside the folder for the contest you are setting up, open the Groups folder and then to create groups and teams you can either do it step by step or else by importing data from a file.
Step by step:
You have to repeat
Importing data from a file:
Mooshak allows data describing groups and teams to be imported from a text file. In order to it, open the Groups folder and then press the button Import and give the file name.
The file being imported must be a text file with fields separated by tabs and must obbey the format supported by the ICPC central database, that is:
GlobalId LocalId Role Name Institution Team
Last, Mooshak also allows you export into a text file the data describing the participating teams. This feature may be of interest in case you need to do further processing on that data, namely produce labels for team-envelopes or produce a team-list for registration purposes.
In case you need to reuse the same team-data from a previous contest you can either export it into a file and import the file into the new contest, or else make use of folder copy/past facility provided by Mooshak.
cannot open //procedures/before/teams/#stepbystep
cannot open //procedures/before/teams/#importing
The problem set in Mooshak comprehends the definition of problem descriptions in html, figures referenced within the html file, input and output test cases and official solutions for the problem. Each problem resides in a separate folder.
Inside the folder for the contest you are setting up, open the Problems folder and then to create the problem set you can either do it step by step or else by importing from a tar-file.
Step by step:
You have to repeat
Please note that at every interface where you can upload a file (say a problem description, a program solution or input and output test files) you also have the opportunity to edit those files within Mooshak, once they have been uploaded. This gives administrators greater freedom to make quick fixes if necessary.
Importing data from a tar-file:
Mooshak allows data describing the problem set to be imported from a tar-file. In order to it, open the Problems folder and then press the button Import and give the file name.
The tar-file being imported must group the files that make the problem set in a directory hierarchy as expect by Mooshak. For example, a tar-file for a problem set with 2 problems (A and B) with 2 test cases each would produce a directory hierarchy as follows (file names are just indicative):
A: a.html a.c Images: a1.gif a2.gtif Tests: A1: in.1 out.1 A2: in.2 out.2 B: b.html b.c Images: b.gif Tests: B1: input.1 output.1 B2: input.2 output.2
Last, Mooshak also allows you export the problem set into an XML file (????). CONFERIR COM ZP QUESTAO DO XML.
cannot open //procedures/before/problems/#stepbystep
cannot open //procedures/before/problems/#importing
In some contests it is reasonable to allow the teams to print their programs so that they can debug their programs offline. Mooshak allows you to define a printing command in which you specify the printer that should be used for the contest. To this do the following:
Inside the folder for the contest you are setting up, open the Printouts folder and then define the Command attribute with the printing command line that should be used by the system when contestants try to print program listings.
The command line must include a reference to the file to be printed
using the variable
The distribution includes a printing command that produces a cover page. To use this command relace the command line with
/home/mooshak/bin/imprime.pl $Equipa $Problema $Programa $Tempo
An important feature of Mooshak is the replication of data between servers in different machines, or in the same machine running under different users. Using this feature it is possible to create a network of servers, which can be useful for different purposes such as
Data is replicated using a script based on
To create a network of Mooshak servers you must configure each node, specifying where data will be replicated, and from where it can be received. In particular you have to perform the following tasks:
cannot open //procedures/before/checks