1.1- release notes

New features

Safer execution
The safe execution module was completely rewritten. It controls more effectively most error situations and it actually controls memory limits, unlike in previous Mooshak versions.
Full XML import/export
Mooshak folders can be exported to and imported from XML documents or archives containing an XML manifest. Simple XML documents are used only for folders not containing any files and archives must be used otherwise. Several archiving formats are supported, including zip, tar, tgz, tbz2. This commands are available in menu File.
Contest types
The admin user can assign a type to a contest that will pre-define a number of variables that are typically used in that type of contest. The available types in this moment are:
  • default tradition Mooshak flavor
  • SWERC modifications for SWERC
  • IOI International Olympiad in Informatics
  • short shortest program competition
A prototype of each contest type is included in the distribution.
Preventing resubmition
Some teams submit more than once the same program, most of the time by mistake, and get penalized for that is they are not accepted. Mooshak will not accept a program if it has already been submited by that team. Also, too frequent (and probably malicious) submissions can be prevented setting a minimum interval in the Submissions folder. In this folder a maximum number of pending submissions can also be set.
Profile management
Mooshak includes a special folder configs/folder to keep the definition of user profiles. In these folders the user can grant or deny access to commands. For instance, using this feature is possible to deny access to the register command for the guest profile, thus denying access to email registering to unauthorized users.
Notifications to teams
Teams are now notified of judge decisions that are relevant to them. They are notified by a Javascript alert windows in their next request, or the next time that Mooshak automatically refreshes a page. Notifications include: answers to the questions asked by teams and final acceptance of a problem.
Single login point
There is a single login dialog to all profiles. After login the users interface is selected depending on the associated profile. This provides a more intuitive and convinient way to change profile: you just have to logout and login again with a different user.
Bulk printing
Printing passwords and certificates can now be done in a single printing job (or one job per page as before). Passwords can also be generated to an archive that can be sent by email.
Session management
Session management reduces the use of cookies to preserve state, improves security and allows communication between users. In particular it was used to implement notification to a team. It is also used for monitoring the number of logged users.
Auditing
Executed commands are registered in audit_log with a timestamp, session identifier, user profile, user name, command name and arguments.
Teams location
Dialogs for delivering printouts and balloons indicate the teams location, provided that this field has been previously set in the teams folder.
Dealing with missing data
In the Admin screen, if a folder's data is missing or its class is unknown then it can be reset using the new command File | Reset. In general this version of Mooshak is more robust in when data files are corrupted.

Fixed bugs

  • Certificates printed in correct order
  • Directories without write and execution permissions for others
  • Lists in problem selectors
  • Spaces in filenames of submitted programs are converted to underscores;
  • Reset page number when switching listings
  • HTML tags are stripped from questions and their subjects.
  • Questions and answers are preformatted with monospaced font