Подготовка данных к массовому (пакетному) импорту
Вносить вручную сотни или тысячи строк (преподавателей, учеников, кабинетов, курсов…) редко имеет смысл. В Omniscol есть массовый импорт копированием и вставкой из любой электронной таблицы (Excel, Google Sheets, Numbers, Calc…) в формате CSV или TSV. Импорт запускается кнопками , обычно расположенными в верхней части списков сущностей. Некоторые из них служат только для экспорта данных, но большинство допускает и импорт.
Что можно импортировать?
| Сущность | Экран | Типичный объём |
|---|---|---|
| Преподаватели | Экспортировать данные в формате CSV | 10 - 1000 |
| Ученики | Экспортировать данные в формате CSV | 50 - 10 000 |
| Кабинеты | Экспортировать данные в формате CSV | 10 - 500 |
| Собственные дисциплины | Экспортировать данные в формате CSV | 10 - 1000 |
| Курсы расписания | Экспортировать данные в формате CSV | 100 - 10 000 |
Подготовка файлов
Золотые правила:
- Одна строка — одна сущность. Никаких объединённых ячеек и многострочных заголовков.
- Соблюдайте порядок столбцов, ожидаемый Omniscol. Экран импорта показывает шаблон со столбцами в целевом порядке, и вы можете переставить эти столбцы в Omniscol так, чтобы они совпали с порядком в исходной таблице. Тогда копирование из Excel или Google Sheets проходит чисто, и переписывать файл не нужно.
- Некоторые столбцы доступны только для чтения. Они выделены серым и нужны лишь для экспорта данных. Первый столбец, как правило, содержит идентификатор записи, уже сохранённой в базе данных.
- Столбцы, отмеченные «*», обязательны. Если обязательное поле не заполнено, строка игнорируется: при создании она не импортируется, а если запись уже есть в базе данных, то удаляется.
- Разделители внутри ячейки произвольны в списках (несколько преподавателей, групп или кабинетов у курса): запятая, точка с запятой, косая черта.
- Встроенный ИИ приведёт данные в порядок, но лишь до определённого предела: старайтесь, чтобы данные были чистыми и однозначными, иначе возможны неприятные сюрпризы.
Типичные поля по сущностям
Преподаватели
- Имя, Фамилия (обязательные).
- Эл. почта (рекомендуется для приглашений).
- Табельный номер / внешний ID (необязательно, но полезно для отслеживания).
- Преподаваемые дисциплины (список, разделители произвольны).
- Учебная нагрузка (число запланированных часов в неделю).
- Основная площадка (если площадок несколько).
Ученики
- Имя, Фамилия (обязательные).
- Эл. почта (рекомендуется).
- Идентификатор в школьной информационной системе (помогает не спутать однофамильцев).
- Уровень / Класс.
- Группы (группа по выбору, подгруппа).
- Статус (активен, предварительная запись, неактивен).
Кабинеты
- Название (обязательно).
- Площадка (обязательна, если площадок несколько; иначе Omniscol относит кабинет к площадке по умолчанию).
- Вместимость.
- Специализации (список).
- Здание (свободный ввод).
- Теги / комментарии.
Занятия
- Класс + дисциплина (как минимум).
- Продолжительность (если не указана, вычисляется по времени начала и окончания).
- День, время начала, время окончания (чтобы сразу расставить занятия; иначе оставьте пустыми и расставьте позже).
- Группа (необязательно).
- Тип занятия (лекция, семинар, практическое занятие, экзамен…).
- Преподаватель(и) (разделители произвольны).
- Кабинет(ы) (разделители произвольны; да, несколько кабинетов на одно занятие поддерживаются).
- Ресурс(ы).
- Чередование недель (формат
A/B,1/2и т. п.). - Комментарий (произвольный текст).
После подготовки
Порядок импорта зависит от экрана, на который вы загружаете данные. Как правило, экран полностью обновляется и показывает новые данные.
Об импорте курсов расписания см. Массовый импорт курсов из таблицы: там описан специальный мастер из четырёх шагов.
Экспорт
Тот же встроенный табличный механизм позволяет экспортировать данные. Для этого есть несколько способов:
- Скопировать и вставить во внешнюю таблицу (формат TSV, автоматически).
- Воспользоваться кнопками внизу, чтобы экспортировать данные сразу в файл PDF, CSV или Excel (XLSX).
Повторный импорт
Импорт не ограничивается первоначальной загрузкой. Можно импортировать массово в несколько приёмов. Первый столбец с заголовком «id» содержит доступный только для чтения идентификатор каждой сущности в базе данных; его можно найти и в URL-адресах. Если изменить строку с определённым идентификатором, данные этой сущности будут изменены.
Чтобы добавить новые данные, перейдите в самый низ таблицы: там всегда есть несколько пустых строк без идентификатора. Вставка новых данных, как при первоначальном импорте, соответственно увеличивает таблицу.
Повторно импортируемые сущности могут содержать сложные данные, которые нельзя импортировать и экспортировать (иногда для них есть столбец только для чтения, нужный лишь для экспорта этих данных). Так обстоит дело, например, с доступностью преподавателей и кабинетов или временными ограничениями классов. В этом случае они автоматически сохраняются без изменений.
Благодаря этому можно импортировать массово в несколько приёмов, не теряя дополнительных данных существующих сущностей, и при этом создавать новые сущности или удалять другие.
Массовое удаление
Как и при повторном импорте, первый столбец «id» позволяет определить сущности. Если стереть строку или хотя бы её обязательные столбцы, отмеченные «*», то при импорте опустошённые сущности будут удалены. Поскольку, как в обычной таблице, можно выделить несколько строк и столбцов, достаточно нажать клавишу Delete на клавиатуре, чтобы стереть сколько угодно строк и тем самым массово удалить из базы данных соответствующие сущности.