Продолжение. Начало в :
BigBlueButton часть 01: первичная настройка
BigBlueButton часть 02: меняем дизайн
Модульная организация BigBlueButton позволяет добавлять новый функционал “под себя”! Но обычно все ограничиваются базовым набором модулей (его достаточно для большинства решаемых задач) и не спешат разрабатывать дополнительные модули. Из этого “правила” есть приятное исключение: модуль опроса (Polling Module). Данный модуль позволяет организовывать опросы участников конференции во время её проведения и получить статистику ответов.
Установка модуля
Установка модуля очень проста:
- Скачайте модуль и загрузите его на сервер: Polling Module
- Распакуйте во временный каталог
- Запустите скрипт scripts/install-polling-module.sh
- Проверьте работу нового модуля!
Модуль установлен и готов к использованию, но есть несколько небольших проблем:
- у меня окно создания опроса при старте имеет две полосы прокрутки, что неудобно и некрасиво;
- перевод модуля на русский язык неполный;
- скрипт установки копирует свою версию перевода BigBlueButton, затирая Ваш перевод (если он был).
Будем править… Все изменяемые файлы найдете в архиве в конце статьи.
Доработка модуля
Для начала скопируйте содержимое bigbluebutton/bigbluebutton-client из архива модуля в каталог с исходными кодами клиента bigbluebutton. В моём случае это /home/user/dev/source/bbb/bigbluebutton-client. Код модуля Polling Module будет в src/org/bigbluebutton/modules/polling/
Размер окна
Размер окна создания опроса задан в views/PollingInstructionsWindow.mxml строка 23:
width="510" height="600"
Я просто увеличил эти параметры на 10 пикселей каждый.
Перевод модуля
Исходный перевод модуля смотрите в архиве модуля в locales/ru_RU/, там весь текст в UTF-8 в ASCII-формате, это совсем не нужно и неудобно, достаточно просто кодировки UTF-8. Сделайте перевод модуля как Вам хочется (Вы можете взять за основу мой перевод модуля, он в архиве в конце статьи). Строки из этого файла следует добавить к Вашему переводу клиента bigbluebutton, лучше в начало файла. Далее скомпилируйте файл локализации, процесс компиляции прост:
- Перейдите в каталог с исходными кодами bigbluebutton-client
- Выполните
ant locales
После этого скопируйте результат на сервер и насладитесь результатом своей работы 🙂
Правда останется одна небольшая ложка дёгтя: при запуске опроса в чате выводится строка “A poll is open for voting.” и её нет в файле локализации 🙁
Ну так добавьте её туда!
Добавьте в bbbResources.properties строку
bbb.polling.createPoll.start = Опрос открыт для голосования
и заставьте модуль опроса её использовать:
замените строку 109 файла views/PollingStatsWindow.mxml
messageForRecording("A poll is open for voting.");
на новую:
essageForRecording(ResourceUtil.getInstance().getString('bbb.polling.createPoll.start'));
Изменения, сделанные в коде модуля, вступят в силу только после его перекомпиляции:
Компиляция модуля
Процесс компиляции модуля хорошо описан на официальной странице wiki SampleModule. Я немного откорректировал для Вас предлагаемый там скрипт: вынес все используемые пути в переменные и перевел сообщения и комментарии:
#!/bin/bash SRC_BBB_CLIENT="$HOME/dev/source/bbb/bigbluebutton-client" FLEX_HOME="$HOME/dev/tools/flex" # проверка количества аргументов if [ ! -n "$1" ] then echo " " echo "Ошибка: Синтаксис использования команды: ./compile-module <имяМодуля> (без указания расширения)" echo " " exit fi # показать текущую версию скрипта if [ "$1" == "-v" ] then echo " bbb-client Module Compiler" echo " v 1.1 Создан: 3 июня 2012" echo " by Anatoly Spektor << http://myprogrammingblog.com >>" echo " by Александр Истомин << https://as.zabedu.ru >>" exit fi # если количество аргументов указано верно, то проверяем существует ли указанный файл if [ -f "$SRC_BBB_CLIENT/src/$1.mxml" ] then # если файл найден, то компилируем используя mxmlc с параметрами, указывающими пути к исходникам и библиотекам $FLEX_HOME/bin/mxmlc $SRC_BBB_CLIENT/src/$1.mxml -sp $SRC_BBB_CLIENT/src -l $SRC_BBB_CLIENT/libs -locale -accessible else echo "$1.mxml не найден, пожалуйста, укажите другое имя модуля" fi # если компиляция прошла успешно файл должен быть в текущем каталоге if [ -f "$SRC_BBB_CLIENT/src/$1.swf" ] then # если скомпилированный файл найден -> перемещаем его в bin mv $SRC_BBB_CLIENT/src/$1.swf $SRC_BBB_CLIENT/bin # выводим сообщение об успешной компиляции echo " ------------------------------------------------------------ " echo "Поздравляем, файл: $1.swf успешно скомпилирован и перемещен в:" echo " $SRC_BBB_CLIENT/bin " echo " ------------------------------------------------------------ " else # выводим сообщение об ошибке echo " ----------------------------" echo "$1.swf не был создан" echo " ----------------------------" fi
Скрипт также есть в архиве…
У меня этот скрипт называется compile, его лучше скопировать в src исходников bigbluebutton-client.
Для компиляции модуля из bigbluebutton-client выполните:
./compile PollingModule
Ваш новый модуль будет в каталоге bin. Просто скопируйте его на сервер в /var/www/bigbluebutton/client/.
Не могли бы подсказать где можно скачать модуль и перечень файлов и каталогов. Не получается установить.