Open giomasce opened 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).
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.
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.
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).
Uh, another thing: it's probably better to finish deciding the data model (see #152) before discussing how to import it...
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.
Good idea, but probably better tracked in another report. I'm going to submit it.
@wil93 How did the yaml format change in the past 4 years? In general, do you think this issue is still relevant?
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.
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.