Files
LMS/deploy/IMPORT.md
Vladislav Kopnin 6246d4c8d3 Materials: images with captions and video support
- markdown: new directives `:::figure assets/x.png | Подпись` and
  `:::video assets/x.mp4 | Подпись` rendered as figure/figcaption and a
  video player (works with HTML escaping on); sanitizer allows video/source/
  track/figure with safe attributes only
- assets: video extensions (mp4/webm/ogg) allowed, separate limits — images
  up to 10 MB, video up to 100 MB; correct content types
- upload limits raised: web/academic multipart 120 MB per file / 200 MB per
  request, nginx client_max_body_size 200m (covers media inside ZIP imports)
- docs: new docs/06-authoring.md (markdown, images, video, assets, limits,
  import semantics); import message now says "медиафайлов"
2026-09-17 15:44:16 +03:00

84 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Порядок наполнения LMS данными (через интерфейс)
Всё делается в админке, порядок: администратор → группы и студенты → лабораторная →
раздача вариантов → защита → материалы.
## Шаг 1. Деплой
См. [`DEPLOY.md`](DEPLOY.md): Docker + nginx + HTTPS. После старта сервисов
откройте домен — попадёте на `/setup`, создайте администратора (логин и пароль
храните в секрете, в репозиторий их не писать).
## Шаг 2. Группы и студенты
**Группы → Импорт** — загрузите `.xls`/`.xlsx`/`.csv` со списком группы
(столбцы: «Студенческий номер», «Фамилия Имя Отчество», «Основа обучения»).
Название группы берётся из файла или указывается при импорте. Логином студента
становится студенческий номер, пароль генерируется (временный, с обязательной
сменой при первом входе).
Дальше по каждому студенту при необходимости:
* **«Сбросить пароль»** — выдать новый временный пароль;
* **«Добавить существующего»** — перевести студента из другой группы;
* **«Отчислить из группы»** — убрать из группы (аккаунт и данные сохраняются).
Выгрузить логины: **«Логины XLSX» / «CSV»**.
## Шаг 3. Лабораторная
**Лабораторные → Импорт** — ZIP со структурой:
```text
lab.yaml # номер, название, points_max, уровни (code/title), сроки, статус
README.md # общее условие (markdown)
variants/01.md # вариант: front-matter (level, number, title) + текст задания
```
Примеры — в личном рабочем каталоге (не в репозитории). После импорта на
странице лабораторной:
* «Настроить» — срок сдачи, дата защиты, максимум баллов, статус;
* уровни/варианты можно править и добавлять прямо там же.
## Шаг 4. Раздача вариантов
На странице лабораторной — **«Распределить»**: выбрать группы, при необходимости
«пересоздать заново». Логика: случайная очередь по всем вариантам выбранного
уровня; без повторов, пока в уровне есть невыданные варианты; закрепленные
вручную не трогаются. Частично/точно — в списке назначений (уровень и вариант по
каждому студенту) или массово чекбоксами.
## Шаг 5. Оценки и защита
На странице группы (матрица):
* **«опубликовать оценки»** — показать/скрыть оценки и комментарии студентам;
* **«поставить оценку»** — балл + комментарии (позитивный/негативный/нейтральный);
* раздел «Индивидуальные задания (защита)»: «Назначить задание» или импорт CSV
(`студент;ЛР;задание` или `студент;задание` при выбранной ЛР), «выдать код»,
«изменить», «текст», после готовности — «доп. задание: начать заново».
## Шаг 6. Учебные материалы
**Лабораторные → материалы (`/learn`)** доступны гостям. Для наполнения:
создание глав/разделов/статей в админке или **импорт ZIP** со структурой:
```text
chapters/01-глава/01-раздел/01-статья.md # front-matter: title, slug
assets/ # картинки для md
```
Материалы видны всем; для редактирования — «Материалы» с правами администратора.
Медиа в материалах: картинки и видео кладутся в `assets/` архива и вставляются директивами
`:::figure assets/имя.png | Подпись` и `:::video assets/имя.mp4 | Подпись`. Лимиты: картинки —
до 10 МБ (`png/jpg/jpeg/gif/svg/webp`), видео — до 100 МБ (`mp4/webm/ogg`). Nginx и сервисы
настроены на загрузку до 200 МБ; подробности — в [`docs/06-authoring.md`](../docs/06-authoring.md).
## Замечания
* Данные в `*.xls`/PDF/PDF-пароли содержат персональные сведения — храните их во
временном каталоге и не коммитьте в репозиторий.
* Пароли студентов выдаются автоматически; временный пароль нужно менять при
первом входе (до смены другие страницы недоступны).