среда, 28 сентября 2011 г.

Проблемы с дисками по ОРКСЭ и их решение


В школы всей нашей необъятной Родины пришёл новый предмет  "Основы религиозных культур и светской этики". И книжки есть, и диски. Вроде всё здорово, но с этими дисками есть две проблемы: 
  • нужно устанавливать на каждый компьютер в классе
  • учебный комплекс хоть и написан на Qt и нормально запускается под Wine, но тестовые задания, использующие Flash, почему-то не везде работают.
Я написал небольшой php-скрипт, который решает обе эти проблемы разом, да еще и место на жестких дисках экономит: весь контент будет размещаться на сервере или компьютере учителя), а дети будут пользоваться им через браузер.
Теперь по порядку:
Нужно установить эти диски на компьютер. Если при установке ничего не менять, то диски установятся в ~/.wine/drive_c/Program Files/
Теперь нужно взять контент.
Рассмотрим на примере диска "Основы православной культуры ". Я его установил в ~/.wine/drive_c/Program Files/prav/ (см. Рисунок 1)
Хочу заметить, что  необязательно устанавливать диски именно на тот компьютер, который будет веб-сервером. Например, можно скинуть необходимые папки (о них чуть ниже) на диск/флешку/и т.д. и перенести на сервер. А нужны будут следующие каталоги: DATA и THEME.
рис. 1
каталог data брать со всем его содержимым (папка object и файл content.xml) и каталог theme

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

Для того, чтобы скрипт мог работать, необходим веб-сервер с поддержкой PHP5, а тот в свою очередь мог достучаться до simplexml. Предположим, на компьютере, который будет сервером, этого ничего нет, поэтому смело командуем:
# apt-get install apache2 php5 php-xml-serializer
Поставится и веб-сервер Apache2, и PHP5 c поддержкой XML.
Обычно (я ставил на Ubuntu) каталог веб-сервера находится в /var/www
Именно туда и нужно положить вышеупомянутые папки data и theme. Обращаю внимание на то, что доступа на запись в каталог веб-сервера у обычного пользователя нет - скопируйте папки от имени root-а. Получившуюся папку /var/www/data переименуйте в /var/www/ort (или prav, или pravoslav - кому как нравится). Извлеките из ЭТОГО АРХИВА файлы INDEX.HTML и STYLE.CSS в /var/www, а INDEX.PHP и ICO.PNG в /var/www/ort
Чтобы было понятней, вот рисунок.

Подредактируйте файл /var/www/index.html под свои нужды и зайдите через браузер на веб сервер.



По аналогии перенесите контент с другого диска.

PS: Пока не получается сделать просмотр видео фрагментов. Но их можно показать и с учительского компьютера через проектор - найти файлы video.flv
Специально для ленивых и тех, кому дороги ресурсы сервера, ВЫКЛАДЫВАЮ АРХИВ С ГОТОВЫМИ СТАТИЧНЫМИ HTML ФАЙЛАМИ, чтобы не было нужды ставить PHP - достаточно будет любого веб-сервера. 
PHP и CSS код далек от идеала, но он работает, так что :P
Все вопросы задавайте в комментариях - боюсь, что рядовая Мариванна даже по такой простой (ну, я так думаю)  инструкции не справится с установкой.