cms-dev / cms

Contest Management System
http://cms-dev.github.io/
GNU Affero General Public License v3.0
897 stars 362 forks source link

Heavily refactor the format understood by YamlImporter #45

Open giomasce opened 12 years ago

giomasce commented 12 years ago

The format imported by YamlImporter is a blend of old conventions used in the Italian old contest system and a lot of different untidy updates. It requires a complete redefinition, possibly made in agreement with other people so that it can become a sort of standard for defining IOI-style tasks.

lw commented 12 years ago

Just a quick note: I think this new format should allow tasks to provide their own TaskType, to be installed on the system when they are imported. This would be the case for tasks like odometer and supper from IOI 2012 (and others too).

giomasce commented 12 years ago

I'm not so sure I agree. Anyway, I don't see it as an important target for the first version of the hypotetical new format.

giomasce commented 11 years ago

Before I forget this link again: http://www.problemarchive.org/wiki/index.php/Problem_Format

I don't think that format can be used for CMS as is, or even with non pervasive changes, since it describes a task model very different from ours. Yet, it is probably a good idea to consider it while thinking at our new format.

giomasce commented 11 years ago

Another note: it is probably better to avoid proposing another modification of the format understood by YamlImporter, but design one new from scratches. Then, I would rename YamlImporter (and friends) to ItalianImporter, in order to make it clear that it is not meant as a "general purpose" format, but only for restricted use case (backward compatibility with tasks written for Italian competitions).

Yet, I don't think that this would free the name YamlImporter for our new yet-to-exist format: giving the same name to a different thing would cause confusion, also because YAML is probably used by a lot of different people for their own task format. It's better to start a new format with a new name (and keep ItalianImporter for backward compatibility).

giomasce commented 11 years ago

Uh, another thing: it's probably better to finish deciding the data model (see #152) before discussing how to import it...

stefano-maggiolo commented 11 years ago

I was thinking that maybe we could add a minor modification to the YamlImporter format, namely making it understand English property names as well as Italian ones. This seems minor enough, retro-compatible and we could refer to the English names in the docs.

giomasce commented 11 years ago

Good idea, but probably better tracked in another report. I'm going to submit it.

lw commented 7 years ago

@wil93 How did the yaml format change in the past 4 years? In general, do you think this issue is still relevant?

wil93 commented 7 years ago

The format didn't change much. I think there were just some additions (e.g. the per_user_time field in contest.yaml and the support of English names).

The issue should still be relevant, but IIRC some IOI people already started working on a new standard format so, if that becomes common, then maybe it makes sense to just deprecate italy_yaml rather than refactor it.