cms icon indicating copy to clipboard operation
cms copied to clipboard

Heavily refactor the format understood by YamlImporter

Open giomasce opened this issue 13 years ago • 9 comments

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.

giomasce avatar Oct 11 '12 16:10 giomasce

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

lw avatar Oct 13 '12 07:10 lw

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 avatar Oct 14 '12 15:10 giomasce

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 avatar May 28 '13 17:05 giomasce

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 avatar May 28 '13 17:05 giomasce

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

giomasce avatar May 28 '13 17:05 giomasce

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.

stefano-maggiolo avatar May 28 '13 17:05 stefano-maggiolo

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

giomasce avatar May 28 '13 17:05 giomasce

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

lw avatar Apr 04 '17 20:04 lw

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.

wil93 avatar Apr 04 '17 21:04 wil93