Хостинг, который может больше
03.01.2012

Образовательная система. Описание и инструкция

Цель образовательной системы – упростить процесс публикации учебных материалов в сети Интернет, обеспечив автоматизированное структурирование и интуитивно понятный доступ к опубликованным материалам.

Разрабатывая систему, я исходил из следующих соображений:

  • Интерфейс должен быть интуитивно понятным.
  • Студент должен найти учебный материал, воспользовавшись лишь теми знаниями, которые у него должны быть априори (студент знает на каком курсе и на какой специальности он учится, а также знает ФИО своего преподавателя и название предмета).
  • Система должна функционировать без необходимости постоянного вмешательства администратора.

Скачать образовательную систему (1.27 МБ, *.zip).

Внешний вид структуры опубликованных материалов

Главная страница образовательной системы отображает дерево категорий. В листьях дерева размещены ФИО преподавателей, опубликовавших в выбранном листе учебные материалы.

Клик по ФИО преподавателя открывает таблицу материалов, опубликованных выбранным преподавателем в данном листе дерева категорий.

Опубликованный учебный материал может быть доступен только для авторизованных пользователей, или открыт для любого посетителя.

Зарегистрироваться в системе может пользователь, имеющий секретный код.

На приведенном выше скриншоте страницы регистрации роль секретного поля выполняет номер зачетки студента.

Образовательная система работает по технологии клиент-сервер.

Серверная часть реализована на PHP (фреймворк Kohana 3) + MySQL. Для работы серверной части системы подойдет любой современный хостинг: Apache, PHP, MySQL.

О настройке локальной среды разработки Apache + PHP + MySQL можно прочитать здесь и здесь. Теме настройки хостинга на домашнем компьютере посвящен отдельный видеокурс.

Клиентский интерфейс отображается в любом современном браузере.

Установка

1. Скопировать содержимое архива на хостинг. В браузере набрать соответствующее доменное имя и следовать инструкциям.

2. На первом шаге установки система запросит имя и пароль для подключения к MySQL-базе данных. После нажатия на кнопку «Продолжить» система протестирует связь с базой данных и, в случае ошибки, сообщит о проблеме.

Рис. 1. Подключение к базе данных.

3. В качестве логина пользователя система использует адрес эл. почты. При регистрации нового пользователя пароль генерируется автоматически и отправляется на указанный при регистрации e-mail. В связи с чем системе необходимо иметь возможность отправлять сообщения на эл. почту. Для настройки данной функции используется второй шаг установки.

Самый простой способ – использовать SMTP-сервер популярных почтовиков (например, mail.ru).

В случае mail.ru настройки будут следующими:

  • SMTP сервер – smtp.mail.ru
  • Имя пользователя – vasha_pochta@mail.ru или vasha_pochta@inbox.ru
  • Пароль – пароль к учетной записи vasha_pochta@mail.ru
  • Порт и таймаут – задаются согласно требованиям почтового сервиса. В подавляющем большинстве случаев можно оставлять значения по умолчанию без изменений.
  • Домен – некоторые почтовики требуют указать доменное имя, на котором запущена образовательная система. В случае mail.ru данное поле можно оставить пустым.
  • Email администратора – vasha_pochta@mail.ru

Для проверки работоспособности указанных настроек введите проверочный адрес эл. почты в последнее поле ввода и нажмите кнопку «Проверить настройки». Если на проверочный адрес придет тестовое сообщение – значит все в порядке.

4. Процедура установки на этом закончена. Для доступа в админку необходимо использовать указанный на 3-м шаге e-mail администратора. Пароль по умолчанию – admin (его можно сменить в личном кабинете).

Вся настроечная информация храниться в текстовых файлах папки /application/config

В случае переезда на новый хостинг можно изменить содержимое настроечных файлов или просто их удалить. Если настроечных файлов в директории /application/config не найдено – запускается процесс установки, описанный выше.

Настройка

1. По завершению установки введите в браузере доменное имя образовательной системы и авторизуйтесь, используя ссылку «вход» в правом верхнем углу страницы.

  • Логин: vasha_pochta@mail.ru
  • Пароль: admin

2. После авторизации с правами администратора в правом верхнем углу появится ссылка «Админка».

Рис. 2. Переход в админку.

3. В админке необходимо сформировать дерево категорий.

Рис. 3. Переход в раздел управления категориями.

Процесс создания дерева категорий интуитивно понятен и не требует дополнительных пояснений. Хочу заметить, что уровень вложенности категорий неограничен, тем самым можно сформировать структуру любой сложности.

Материалы можно будет размещать только в конечную категорию (в лист дерева категорий).

4. Раздел Управление пользователями предназначен для создания и редактирования пользователей системы. Из данного раздела админки можно создать пользователя любой группы: администратора, преподавателя или студента.

Для удобства группировки введен параметр «Примечаение». Таким образом, одинаковый параметр можно задать, к примеру, для студентов одной группы (в качестве параметра можно указать шифр учебной группы или год поступления).

Рис. 4. Примечание в таблице пользователей.

Система разделяет активных и неактивных пользователей:

  • Активный – это пользователь, зарегистрировавшийся по полученному секретному коду.
  • Неактивный – пользователь, получивший секретный код, но так им и не воспользовавшийся.

Для активных пользователей в графе код/email таблицы отображается e-mail, указанный при регистрации. Для неактивных – отображается секретный код.

Рис. 5. Отображение кода или адреса эл. почты пользователя.

5. Раздел Загрузка пользователей предназначен для быстрой загрузки большого количества пользователей. Для этого используется csv-файл, указанного на странице формата.

Для подготовки csv-файл оптимально подходит бесплатное приложение Calc пакета OpenOffice.

Добавление учебного материала

Для добавления учебного материала используется раздел Учебные материалы личного кабинета.

Рис. 6. Просмотр всех учебных материалов, добавленных в систему.

Добавлять материалы в систему имеет право только пользователь, принадлежащий к группе Преподаватели и Администраторы.

Администратор видит все материалы, добавленные в систему преподавателями, преподаватель – только свои.

Администратор может добавить материалы от имени любого преподавателя.

Рис. 7. Интерфейс добавления материала в образовательную систему.

Добавлять материал можно только в конечную ветку дерева категорий (в лист дерева).

Материал может быть доступен как только для авторизованных пользователей, так и для гостей системы (на выбор преподавателя).

По каждому опубликованному материалу ведется статистика скачивания.

Рис. 8. Переход в раздел статистики загрузок материала.

Скачать образовательную систему (1.27 МБ, *.zip).

С уважением, Андрей Морковин.


Если статья вам понравилась и вы не хотите пропустить свежие публикации, то подписывайтесь на RSS-ленту или получайте обновления сайта на эл. почту.


Похожие материалы:


Отзывов: 26 на «Образовательная система. Описание и инструкция»

  1. Валерий, 03.01.2012 в 22:34

    Впечатление от этой системы не однозначное, приходилось использовать нечто подобное, уточнять не буду, а то скажут , что я троль.

  2. Ejas Tower, 04.01.2012 в 11:08

    Системка неплохая вроде как… Но мне всё таки кажется, что лучше использовать свою систему. Своё всегда лучше, если времени и умений на её разработку хватает!

    • Андрей Морковин, 04.01.2012 в 11:31

      Если готовое решение удовлетворяет потребности, то зачем изобретать велосипед?

      • Ejas Tower, 06.01.2012 в 08:16

        Новый велосипед можно оборудовать под свои нужды, а для разработки дополнительных функций уже готового велосипеда, то нужно сначала изучить его устройство, — а это уже время. Мне процесс разработки всегда доставлял удовольствие!

  3. Dima, 06.01.2012 в 19:15

    Выдает ошибку при установике…раза три переустанавливал…
    вот сам текст ошибки
    http://i31.fastpic.ru/big/2012/0106/b2/0e096abf1365795dfaa4b7374b1907b2.png

    • PS, 06.01.2012 в 22:31

      Похоже, что Ваша MySQL не поддерживает кодировку UTF8.
      Какая у Вас версия MySQL ?

      • Dima, 07.01.2012 в 13:31

        как раз другой сайт на утф8…а какая версия не знаю…

        • Максим, 07.01.2012 в 16:51

          там как я Вам Дмитрий уже сказал, не корректно сделан дам sql и я его Вам подправлял уже.

          • Dima, 07.01.2012 в 16:54

            Максим, ответил в тикет

          • PS, 07.01.2012 в 17:47

            Мне тоже интересно, в чем там некорректность ?

            • Dima, 08.01.2012 в 00:41

              завтра пере установлю и все ошибки покажу

  4. Евгений, 06.01.2012 в 22:10

    А moodle не пробовали использовать? ;)

    • Андрей Морковин, 06.01.2012 в 23:27

      Ну как же — как же, moodle даже очень пробовали. В результате решили отказаться от moodle и написать свою систему.

      Теперь аргументирую решение :)

      Moodle — отличная система, для организации дистанционного образования. Т.е. там реализована куча функционала, позволяющая создавать вполне достойные on-line курсы, структурируя по темам изучаемый материал. Кроме того, в Moodle реализованы возможности оценки знаний (тестирование, рефераты и т.д.). Но, как у многих продуктов, разрабатываемых свободным сообществом программистов, юзабилити Moodle ХРОМАЕТ (это если мягко выражаться).

      Без пол литры и курения мануалей понять что к чему вообще не реально, особенно пользователю ПК с поверхностными знаниями.

      В результате Moodle превращается в монстра, отпугивающего не только преподавателей (которые в Word-е с трудом ориентируются), но и студентов. Вот яркий тому пример: http://ds.pstu.edu/ (для того, чтобы понять, что именно нужно делать, придется прочитать толстенную инструкцию).

      Или, в лучшем случае, получается аналог предлагаемой в данном посте образовательной системы: http://moodle.onma.edu.ua/ Но, приведенный пример изобилует лишним функционалом. Кроме того, имеет место быть серьезная проблема — преподаватель не сможет самостоятельно, посредством админки Moodle, добавить курс. Постоянно будет упираться либо в лишние заморочки, либо в отсутствие требуемого предмета, который не добавил администратор. Кроме того, админу нужно будет следить за актуальностью материалов, т.к. преподаватель дисциплины может смениться (а вместе с преподавателем поменяются и материалы).

      Мы же постарались максимально упростить систему, откинули все лишнее и оставили лишь действительно востребованные функции.

      На самом деле нет задачи организовать дистанционный курс. Перед нами стояла задача упростить публикацию материала, их структурирование, поиск и поддержание актуальности.

      • Максим Устин aka mxmustin, 25.01.2012 в 16:38

        У меня мать — преподаватель иностранного языка в ВУЗе. Не буду говорить, в каком. Но у них там тоже «мудл». Тому кто это придумал, надо в голову гвоздь забить! Естественно, задача «разобраться, куда тут нажимать» легла не меня. Как маме не помочь? Но я скажу так… что даже с моим опытом (я за компом с 1992 года) было не так уж просто понять логику тех, кто это писал.

        Андрей, Вам скажу только то, что сразу бросилось в глаза. Если вы хотите, чтобы было «интуитивно понятно», то не надо выражаться в терминах сущностей системы. Нужно выражаться на языке пользователя.

        Например, не «создать аккаунт пользователя», а
        «зарегистрировать преподавателя» и (! да, да, для системы это одна и та же сущность — пользователь, но для пользователя — это очень разные вещи) — и «зарегистрировать студента»

        Пусть Вас не испугает то, что придется вводить лишнюю переменную, которая может принимать значения «преподавателя», «студента», «ученика», «стажера». и т.д. и т.п. Ведь Вы как-то справляетесь с многоязычными интерфесами. Именование сущностей должно быть на языке пользователей, а не на языке системы.

        Никаких «управление категориями» быть не должно. Это — абракадабра для преподавателя иностранных языков. Причем, абракадабра на совершенно непонятном языке (была б еще это «китайская грамота» — они б позвали переводчика с китайского).

        Кнопок (ссылок) должно быть столько, сколько видов сущностей имеется. Если категория — это «дисциплина», «курс», «раздел» и т.д., то должно быть три кнопки. Пусть даже они ведут в одно и то же место. (впрочем, уверен им можно придать и дополнительную «полезность»)

        В остальном, — согласен. Чем проще — тем лучше. Все лишнее должно быть убрано с глаз долой. Шрифты — покрупнее (многие преподы плохо видят).

        (в очередной раз подчеркиваю — это мое ИМХО. задачи поучать кого-то не ставлю. являюсь новичком. поэтому могу где-то случайно попасть пальцем в небо. прошу за это не пинать)

  5. net, 10.01.2012 в 12:35

    edu.tsu.ru :)

  6. Виктор, 12.01.2012 в 14:01

    В инструкции добавьте, что после копирования нужно установить права записи на файл bootstrap.php и каталоги cache, config и logs в каталоге application. А то пришлось методом тыка искать.

    • Виктор, 12.01.2012 в 14:35

      При попытке добавить неактивного пользователя вывел ошибку:
      «ErrorException [ Notice ]: Undefined index: email
      APPPATH/classes/controller/admin/users.php [ 173 ]«

    • Андрей Морковин, 12.01.2012 в 19:20

      Большое спасибо за комментарий.

      Ошибку попроавили и перезалили отремонтированную систему, теперь неактивные пользователи будут создаваться.

  7. Виктор, 15.01.2012 в 09:35

    Систему обновил, немного по тестировал.
    Замечания:
    1. Неудобно, что подкатегории нельзя переносить из одной категории в другую. Если ошибся или что-то изменились придется удалять категорию и создавать её в новом месте.
    2. Если удалить категорию в которой есть материалы, то при заходе в раздел «Учебные материалы» выдает ошибку «Exception [ 0 ]: Node id=7 does not exist.».
    3. Я так понял, что если студент зарегистрирован, то он имеет доступ ко всем материалам, которые предназначены для зарегистрированных пользователей. Независимо от того, какой преподаватель выложил материал и в какой категории находится этот материал. Было бы неплохо, чтоб преподаватель имел возможность сам определять доступ к своим категориям. Так ценность всей системы регистрации снижается.
    4. В процессе добавления материала выяснилось, что необходимо установить права на запись для каталога files. Тоже ругался.
    5. И в данной инструкции нужно убрать ссылку на старую версию системы. В конце статьи дана обновленная версия, в начале — старая, от 3 января.

    • Виктор, 15.01.2012 в 09:42

      И последнее.
      6. Как можно добавить что-то на главную страницу? Хотя бы по минимуму, что-то вроде:
      «Добрый день. Если хотите пользоваться системой, то перейдите на страницу по ссылке и прочитайте как связаться с администратором»

    • Андрей Морковин, 16.01.2012 в 12:08

      Большое спасибо за интерес к системе и важные комментарии. Я поправил ссылку в начале статьи. В ближайшее время решим проблему по пункту 2.

      3. Думаю, нет смысла ограничивать студента в скачивании материалов любого преподавателя. Имеет смысл запретить скачивать материалы гостям (дабы соблюдать авторское право преподавателей).

      6. Пока текст можно изменить просто поправив файл вида. Для главной страницы (application/views/layouts/main.php). Все остальные виды лежат в папке application/views/layouts/

      • Виктор, 17.01.2012 в 18:14

        Поменять текст на главной странице получилось. Спасибо.

        Про ограничение на скачивание: если говорить об авторских правах, то как раз и нужно вводить ограничение по крайней мере по учителям. Обязательно кто-нибудь скажет — как это так, я делал, а скачать может кто угодно. Если же рассматривать это как идеологию (добавление функций системы это путь в сторону Moodle), то можно оставить и так.

        По пункту 2: наверное проще сделать так — если есть материалы в категории, то её не удалять. Пусть администратор разберётся сначала с материалами. Ну или можно удалять всё сразу — и категорию и материалы, содержащиеся в ней.

        Как простую, удобную систему распространения материалов её, как мне кажется, вполне может использовать. Спасибо за работу!

        Покажу знакомым преподавателям — что они скажут.

    • PS, 16.01.2012 в 17:38

      6. Текст главной страницы задается с помощью Вида (шаблона). Для главной страницы это ‘application/views/main.php’. Все остальные виды лежат в папке application/views/
      Главный шаблон находится в файле ‘application/views/layouts/main.php’

  8. Александр, 22.01.2012 в 20:22

    Андрей, а почему Вы не используете модуль ORM-MPTT вместо класса NsTree?

Ваш отзыв

MAXCACHE: 0.88MB/0.00043 sec