Руководство по администрированию портала
Введение
Главная страница административной панели Django.
Это руководство предназначено для администраторов портала оценки эффективности преподавателей. Оно описывает основные функции администрирования: управление пользователями, настройку критериев, работу с базой знаний и анализ статистики. Используйте административную панель Django (/portal/admin/
) и страницу статистики (/portal/statistics/
) для выполнения задач.
Основные обязанности администратора
Администратор обеспечивает стабильную работу портала и поддержку пользователей. Ключевые задачи:
- ➤
Управление пользователями: Создание учетных записей, назначение ролей (преподаватель, проверяющий).
- ➤
Настройка критериев: Определение критериев оценки, их вариантов и формул расчета баллов.
- ➤
Управление базой знаний: Создание и обновление справочных статей через CKEditor.
- ➤
Мониторинг системы: Анализ логов, устранение технических проблем.
- ➤
Анализ данных: Использование статистики для оценки эффективности и формирования отчетов.
Работа с административной панелью Django
Админ-панель (/portal/admin/
) предоставляет интерфейс для управления данными. Доступ возможен для пользователей с правами персонала или суперпользователей.
1. Пользователи и группы
Секция "Пользователи и группы" в административной панели.
User
):
- Добавление: Укажите имя, фамилию, email, пароль. Активируйте «Статус персонала» для доступа к админке. Используйте «Статус суперпользователя» только для полного доступа.
- Редактирование: Изменяйте данные, статус или сбрасывайте пароль.
- Профиль: После создания пользователя, не забудьте настроить его профиль (модель
Profile
), указав роль (teacher
илиreviewer
), кафедру и другие необходимые данные.
Group
):
- Используйте для назначения набора прав нескольким пользователям одновременно, если это предусмотрено вашей логикой разграничения доступа (помимо ролей в профиле).
Совет: Регулярно проверяйте список пользователей со статусом суперпользователя. Предоставляйте такие права только тем, кому они действительно необходимы, чтобы минимизировать риски несанкционированного доступа или случайных деструктивных действий.
2. Модели приложения (WEBAPP)
Раздел WEBAPP
в административной панели содержит основные модели данных, которые используются на портале:
Criterion
)
- Назначение: Определяют основные показатели, по которым оценивается эффективность преподавателей.
- Ключевые поля:
name
: Полное наименование критерия.criterion_number
: Уникальный идентификационный номер (например, 1.1, 2.3.4).group
: Привязка к группе критериев (например, «Учебная работа», «Научная работа»).level
: Уровень значимости критерия (Нормативный, Стратегический, Мониторинговый).reviewers
: Список пользователей с рольюreviewer
, ответственных за проверку заявок по этому критерию.
- Варианты критериев (
CriterionOption
): Это подпоказатели или детализация основного критерия. Добавляются как инлайн-записи при редактированииCriterion
.label
: Название конкретного варианта/показателя.points
: Базовое количество баллов за единицу этого варианта. Если используется формула, здесь можно поставить «-» или оставить пустым.formula
: Python-совместимая формула для расчета баллов (например,quantity * 5
, гдеquantity
– это количество, указанное преподавателем).
- Важно: Изменение значения в поле
points
или содержимого поляformula
дляCriterionOption
инициирует автоматический пересчет потенциальных баллов во всех существующих заявках преподавателей (TeacherCriterion
), которые связаны с этим вариантом. Преподаватели также получат уведомления об этих изменениях.
Пример формулы для CriterionOption
: Ограничение максимального количества баллов (например, не более 20): (quantity * 5) if (quantity * 5) <= 20 else 20
.
TeacherCriterion
)
- Назначение: Хранят информацию о заявках, поданных преподавателями по конкретным критериям.
- Ключевые поля:
teacher
: Ссылка на пользователя-преподавателя.criterion
: Ссылка на критерий, по которому подана заявка.year
: Отчетный год, к которому относится заявка.points
: Потенциальные баллы, рассчитанные на основе введенных преподавателем данных по опциям критерия (до проверки).total_approved_points
: Фактически одобренные баллы после проверки.status
: Текущий статус заявки (например, «not_submitted», «pending», «approved», «rejected»).reviewer_comment
: Комментарий проверяющего.
- Внимание: Старайтесь не изменять поля
points
иtotal_approved_points
вручную через административную панель, так как они рассчитываются автоматически или изменяются в ходе процесса проверки. Ручное вмешательство может привести к рассогласованию данных.
Profile
)
- Назначение: Расширяет стандартную модель пользователя Django, добавляя специфичные для портала поля.
- Ключевые поля:
user
: Связь один-к-одному с модельюUser
.role
: Роль пользователя на портале (teacher
илиreviewer
). Определяет доступный интерфейс и функции.department
: Кафедра, к которой приписан преподаватель или проверяющий.institute
: Институт.middle_name
,phone
,telegram_link
,avatar
,bio
: Дополнительная контактная и личная информация.structural_subdivision
: Структурное подразделение (актуально для проверяющих).
KnowledgeBaseArticle
)
- Назначение: Хранение справочных материалов, инструкций, ответов на часто задаваемые вопросы для пользователей портала.
- Ключевые поля:
title
: Заголовок статьи.content
: Основное содержимое статьи. Редактируется с помощью встроенного WYSIWYG-редактора CKEditor.slug
: Уникальный URL-дружественный идентификатор статьи (генерируется автоматически или задается вручную).
- Редактор CKEditor: Предоставляет богатые возможности форматирования текста, вставки изображений, создания таблиц, гиперссылок и другого мультимедийного контента непосредственно в административной панели.
Notification
)
- Назначение: Система автоматических оповещений пользователей о важных событиях на портале.
- Ключевые поля:
recipient
: Пользователь-получатель уведомления.notification_type
: Тип уведомления (например, «criterion_submitted», «criterion_approved», «criterion_weight_changed»).text
: Текст сообщения уведомления.is_read
: Статус прочтения уведомления.related_criterion
: Ссылка на объектTeacherCriterion
, если уведомление связано с конкретной заявкой.
- Уведомления обычно создаются системой автоматически при определенных действиях (подача заявки, ее одобрение/отклонение, изменение весов критериев и т.д.).
3. Логи активности (ActivityLog
)
- Назначение: Запись и хранение информации о действиях пользователей на портале. Это важный инструмент для мониторинга, анализа поведения пользователей и выявления возможных проблем или нештатных ситуаций.
- Ключевые поля:
actor
: Пользователь, совершивший действие.verb
: Краткое описание действия (например, "Зарегистрировал пользователя", "Обновил профиль", "Подал критерий на рассмотрение").description
: Более детальное описание действия, если необходимо.timestamp
: Дата и время совершения действия.target
: (Опционально) Ссылка на объект, с которым было связано действие (например, конкретный критерий или пользователь).
- Просмотр логов помогает администратору отслеживать активность, особенно привилегированных пользователей, и может быть полезен при расследовании инцидентов.
Страница статистики
Общий вид страницы статистики портала.
Страница /portal/statistics/
предоставляет суперпользователям инструменты для всестороннего анализа данных, собранных системой оценки.
1. Панель фильтров
Панель фильтров для настройки отображаемых данных.
- Доступные фильтры:
- Год (отчетный период).
- Институт.
- Кафедра.
- Диапазон набранных баллов (например, от 50 до 100).
- Поиск по ФИО преподавателя.
- Действия с панелью:
- Кнопка "Применить" для обновления данных на странице согласно выбранным фильтрам.
- Кнопка "Сбросить" для возврата к отображению всех данных (без фильтрации).
- Кнопка "Экспорт в Excel" для выгрузки отфильтрованных данных.
2. Графики
На странице представлены диаграммы, которые визуально сравнивают суммы потенциальных (заявленных) и одобренных (фактических) баллов. Эти сравнения проводятся в разрезе групп критериев для каждого из трех уровней критериев: Нормативный, Стратегический и Мониторинговый. Графики позволяют быстро оценить, насколько заявки преподавателей соответствуют итоговым оценкам, и выявить тенденции по различным направлениям деятельности.
Условный пример графика сравнения баллов.
3. Таблица результатов
Это основная таблица, представляющая детальную информацию по каждому преподавателю, соответствующему выбранным фильтрам.
Основные колонки таблицы:- ФИО преподавателя.
- Институт.
- Кафедра.
- Должность.
- Ставка.
- Количество выполненных критериев (по каждому уровню: Нормативный, Стратегический, Мониторинговый).
- Статус эффективности (эффективен/неэффективен, на основе выполнения нормативов и/или баллов).
- Общее количество одобренных баллов за выбранный год.
- Поиск по ФИО непосредственно в таблице (может быть реализован на стороне клиента или сервера).
- Пагинация для удобной навигации по большому количеству записей.
- Возможность перехода к профилю преподавателя или его детальной статистике (если такая функциональность предусмотрена).
4. Логи активности (на странице статистики)
В отдельной секции страницы статистики могут отображаться последние записи из логов активности пользователей. Часто предусмотрен фильтр по ФИО пользователя, чтобы администратор мог быстро просмотреть действия конкретного человека на портале. Это помогает отслеживать важные изменения и события.
5. Экспорт в Excel
Кнопка "Экспорт в Excel" позволяет выгрузить данные из "Таблицы результатов" в файл формата .xlsx
. Экспорт всегда учитывает примененные на странице фильтры, что делает эту функцию удобной для подготовки кастомизированных отчетов, дальнейшего анализа данных в сторонних программах или для предоставления информации руководству.
Рекомендации по администрированию
- 💡Обновляйте данные: Регулярно проверяйте актуальность критериев оценки, их формул, а также содержимое статей базы знаний. Своевременные обновления обеспечивают корректность оценок и информированность пользователей.
- 💡Контролируйте доступ: Минимизируйте количество учетных записей с правами суперпользователя. Назначайте права доступа исходя из принципа минимальных привилегий, необходимых для выполнения должностных обязанностей.
- 💡Тестируйте изменения: Прежде чем применять значительные изменения на рабочем ("боевом") сервере (например, изменение логики расчета баллов), тщательно протестируйте их на тестовой (staging) среде, если таковая имеется.
- 💡Обучайте пользователей: Поддерживайте базу знаний в актуальном состоянии. Создавайте понятные инструкции и руководства. При внедрении новых функций информируйте пользователей об изменениях.
- 💡Обеспечьте безопасность: Регулярно создавайте резервные копии базы данных и конфигурационных файлов портала. Следите за выходом обновлений безопасности для Django и всех используемых зависимостей. Настаивайте на использовании сложных паролей и, если возможно, двухфакторной аутентификации для административных учетных записей.
Заключение
Эффективное администрирование портала обеспечивает точность данных, корректность расчетов и удобство для всех пользователей. Следуйте этим рекомендациям, активно используйте инструменты административной панели Django и возможности страницы статистики для качественного управления системой и поддержки ее пользователей. Ваша работа является ключевым фактором успешного функционирования портала.