На данном рисунке показано управление динамической страницей-модулем на примере сайта spbpresent.ru, работающего на CMF OpenHazel. Управление происходит в интуитивно-понятном режиме, внешне похожем на управление страниц, представленном на рисунке 18.
Следует отметить, что данная панель администрирования доступна только для суперпользователя, другие же группы пользователей могут управлять сайтом напрямую с его страниц.
5.2 Интерфейс администратора
Все пользователи, входящие в пользовательскую группу "администратор" по сути должны обладать правами тьютора для управления подкастами а также для назначения прав доступа к ним. Единственное отличие – администратор может удалять и модерировать сообщения в "Обсуждениях" (рисунок 30). Тьютор же может только отвечать на сообщения обучающихся и создавать отдельные, новые темы.
Рисунок 30 – Внешний вид "Обсуждений" для администратора5.3 Интерфейс тьютора
Тьютор может управлять загруженными в систему подкастами (рисунок 31) за исключением их удаления. Также тьютор может назначать уровень доступа, иначе говоря – модет назначать группы студентов к просмотру данного видеокаста. Также тьютор может менять существующие правила доступа, добавив или удалив определенные группы из списка тех, кому доступен подкаст.
Также тьютор может отвечать на вопросы студентов в "Обсуждениях", причем его ответы автоматически будут выделаться среди вопросов студентов для акцентирования внимания студентов на ответах тьютора. Тьютор может одобрять вопросы студентов, разрешая их к просмотру (функция премодерации), отвечать на вопросы и удалять неадекватные вопросы и вопросы не по делу.
Рисунок 31 – Добавление подкаста5.4 Интерфейс студента
Интерфейс студента максимально упрощен, чтобы не возникало лишних вопросов при работе с системой [2]. Студенту доступны лишь подкасты, которые преподаватель разрешил к просмотру для его группы (рисунок 32), а также возможность осбудить материал и задать преподавателю вопросы в разделе "Обсуждения" (рисунок 33).
6 Возможности суперпользователя, администратора, преподавателя и студента
Суперпользователь – существующая по умолчанию пользовательская группа в CMF OpenHazel, которая подразумевает, что пользователи, входящие в эту группу, имеют абсолютные права в системе. Они могут просматривать, изменять, добавлять и удалять страницы на сайте, изменять настройки доступа к страницам, изменять настройки отображения страниц на сайте, работать с модулями сайта, просматривать ошибки и многие другие действия.
Касательно дипломной работы – суперпользователь может задать у студентов количество отображения подкастов на страницу. Также именно суперпользователь производит первоначальную настройку системы, где указывает, что все загружаемые видео- и аудиоподкасты должны быть видимы пользовательским группам "тьютор" и "администратор".
Также суперпользователь задает, сообщения каких пользовательских групп отображаются в "Обсуждениях" как ответы преподавателей.
Студенты максимально удалены от процессов настройки системы. Вообще настройка системы максимально скрыта от посторонних глаз. Студенты лишь видят доступные им видео- и аудиокасты, могут задавать вопросы преподавателям в "обсуждениях", просматривать ответы других студентов.
Преподаватели в системе обладают дополнительными возможностями по сравнению со студентами. Преподаватели могут загружать подкасты в систему и назначать студенческие группы к просмотру этих видеокастов.Также преподаватели могут просматривать вопросы студентов, одобрять стоящие вопросы (и отвечать на них), отклонять вопросы, заданные не по существу. Также преподаватели могут создавать новые темы в обсуждениях, не относящиеся к определенным видеокастам.
Администраторы системы обладают дополнительной возможностью удалять подкасты, ответы студентов и преподавателей в обсуждениях. Также администраторы имеют возможность полноценной модерации обсуждений и видеокастов.
7 Добавление, изменение и настройка прав доступа к подкастам
Подкасты добавляются в клиентской части сайта пользователями, входящими в пользовательскую группу "преподаватели". При загрузке подкдаста в систему вводится его название, краткое описание, а также задается список групп, которые будут иметь доступ к данному подкасту.
Процедура изменения аналогична процедуре добавления за исключением того, что нам не нужно все вводить вручную, и загрузка самого файла не является обязательной.
8 Обратная связь с обучающимися
Обратная связь осуществляется через страницу "Обсуждения", которая представляет собой упрощенный и направленный на обучение форум. Существуют глобальные категории, в каждой категории существуют ветки обсуждений, в которых студенты могут задавать вопросы преподавателям, а преподаватели могут на них отвечать.
При загрузке в систему видеокаста автоматически создается ветка обсуждения этого видеокаста. Связь между загруженным видеокастом и созданной веткой сохраняется в БД. Таким образом у каждого видео- и аудиокаста внизу есть ссылка на ветку обсуждений.
Отдельная часть, реализующая личные сообщения пользователей, не реализовывалась в виду ее ненужности в данной системе – все вопросы студенты могут задать в соответствующей ветке обсуждений.
9 Работа с пользователями системы
Специфика работы с пользователями системы обусловлена применением CMF OpenHazel. Использование данного фреймворка позволяет нам использовать *nix-подобную систему хранения пользователей и пользовательских групп.
На случай непредвиденных обстоятельств суперпользователь имеет возможность добавлять пользовательские группы и самих пользователей из панели администрирования, однако гораздо более удобный и простой интерфейс для этого существует у администраторов системы. Для них реализовано пакетное добавление пользователей в студенческие группы, а также точечное добавление пользователей в систему.
Пользователь системы имеет также такое понятие как "активность". Это значит, что пользователя можно деактивировать, тем самым запретив ему взаимодействовать с системой.
10 Итоговая проверка и тестирование системы
Разработанная система прошла первоначальную апробацию студентами и преподавателями кафедры КОТ. В систему были загружены видеокасты, посвященные проблемам философии, несколько скринкастов по веб-программированию и работе с графическими программами. Была протестирована функция изменения и удаления подкастов. Также в систему были успешно загружены несколько аудиокастов на тему "Бизнес-процессы в IT". Была проверена работоспособность плеера в различных браузерах и операционных системах [7]. В систему были добавлены пользователи каждой из групп, сформированы группы пользователей, для которых были сформированы правила доступа к подкастам. Форум (обсуждение подкастов) был протестирован на соответствие стандартам безопасности, скорость работы, а также на вывод лишь тех сообщений, которые были одобрены преподавателями [6]. Была осуществлена пакетная загрузка пользователей-студентов в систему через интерфейс администратора системы.
При апробации системы была протестирована и обработка исключительных ситуаций, таких, например, как ошибки ввода данных или намеренное занесение противоречивой информации. В случае попытки записи в базу данных некорректной информации система выдавала соответствующие предупреждения или автоматически уведомляла администратора о попытке взлома. Благодаря достаточному количеству функций, написанных на языке JavaScript, система во многих случаях скрывала логику работы, подгружая определенные части кода посредством AJAX-вызовов. Также система защищена от попытки загрузки на сервер файлов, не являющихся видео- или аудиокастами.
Сайт был загружен и протестирован во всех популярных браузерах и операционных системах. Все страницы, содержащие веб-интерфейс, выводили информацию одинаково в каждом из них. Распределение прав в системе происходит посредством разбиения пользователей по группам. Группы могут содержать неограниченное количество пользователей, то же самое можно сказать и о пользователях. Данная система во многом аналогична распределению прав в *nix-системах. При авторизации создается переменная в сессии, что обеспечивает возможность ограничения доступа к информации, просмотр которой запрещен определенным группам пользователей.
Также, в случае если пользователь не проходит аутентификацию, ему выдается сообщение об ошибке. Также ему запрещено выполнение тех или иных операций в системе.
В связи с тем, что система была протестирована успешно, она может быть рекомендована к размещению на сервере ИТМО, начиная со следующего учебного семестра. В свою очередь, сервер ИТМО оснащен всем необходимым программным и аппаратным обеспечением для внедрения системы.