Перейти к основному содержимому

ADR-012. Банк задач владеет задачами

Контекст

Задачи использовались в LMS, олимпиадах, домашках, диагностике, но хранились разрозненно (внутри уроков, олимпиадных туров, статичных файлов). Это делало невозможным учёт истории решения и переиспользование.

Решение

Канонический владелец задачи (problem, problem_version, problem_solution, problem_hint, taxonomy_node, problem_taxonomy_link, problem_set, problem_variant, answer_schema, answer_key, checking_rule) — домен task-bank. Все остальные домены ссылаются на задачи через идентификатор.

Последствия

  • LMS не дублирует задачи внутри уроков;
  • competitions не хранит свои задачи отдельно;
  • история решения нормализована.
  • ADR-039 расширяет это решение до activity/program templates and content export snapshots, не отменяя владение canonical problems.

Связи

  • relates: ADR-013
  • extended-by: ADR-039