WebChat
WebChat — это проект для чата CommFort, который позволяет реализовать веб-интерфейс для чата. На данный момент проект поддерживает CommFort чат версии 5.03 (для четвертой линейки есть более старая версия). Веб-интерфейс позволяет общаться через Ваш любимый браузер и поддерживает самые важные функции чата (выбор канала общения, мгновенная отправка и получение новых сообщений, авторизация в чате под своим ником и др.). Веб версия чата дает пользователям возможность сперва увидеть внутреннюю атмосферу чата и анонимно пообщаться с его пользователями. При выходе новой версии мы оптимизируем плагин под неё, соответственно под более старую версию, одной и той же линейки, плагин уже может работать не стабильно, поэтому своевременно обновляйте серверную часть чата.
- Содержание:
- Структура проекта
- Особенности
- Установка
- FAQ
- to do
- Известные проблемы
- Скриншоты
- Полезные ссылки
Структура проекта
Проект состоит из 2-ух частей:
- Плагин для сервера CommFort версии 5.xx.
- Пакет для CMS Drupal 6 или Joomla 1.5.x.
Плагин для CommFort
Название плагина: CommFort WebChat
Текущая версия: 1.07 (от 20.12.10)
- Разработчики:
- Аннеков Павел aka SteelRat
- Евгений Ионичев aka Mavashi
Требования: такие же как и у серверного приложения комфорта.
Последние изменения:
1.07
+ Опция проверки скрытости IP через сервер, а не через белый список, т.е. показатели скрытости запрашиваются напрямую у сервера
+ Опция отображения текущего времени работы плагина в главном окне
+ Бот теперь входит только в каналы, которые подходят под правила. Из остальных каналов он выходит
+ Показ сообщения, о превышении количества каналов, к которым бот должен подключиться (их не может быть больше 16-ти) и подключение к первым 16-ти каналам
6 мелких изменений
1.06
+ Кнопка создания структуры БД в Настройках
* Отображение диалога при первом запуске плагина
2 мелких изменения
1.05
+ Полностью переделан интерфейс Настроек
+ Визуальное логирование не ест оперативную память, когда оно выключено. После открытия визуального лога начинается подгрузка из файла лога и включается динамическое логирование в визуальный лог новых событий
+ Изменена структура файлового лога. Теперь она более стандартизированна
+ Работа со списком белых ников сделана также как и со списком каналов
+ Последние события в визуальном логе теперь показываются сверху, а не снизу, т.е. изменена сортировка
+ Изменен формат даты для файлов логов. Теперь он записывается в формате гггг.мм.дд, что удобно для сортировки
+ Запросы к БД теперь показываются только при ошибке в их синтаксисе
+ Добавлены ещё бета-тестеры
* Автоочистка БД теперь получает корректное количество записей и соответственно удаляет их
* Опция отслеживания каналов не сохранялась
5 мелких изменений
1.01
* После автоочистки БД появлялись критические ошибки Access Violation
* Показ причины невозможности подключения к БД, если указаны не правильно данные для подключения
* Показ критических ошибок, если была попытка подключения к БД с неправильными данными
1.00 Final
+ Много усовершенствований по ускорению работы плагина, оптимизация кода
1.00 beta2
+ Отображение содержаний запросов при включении плагина
* Ошибка при сохранении настроек бота
1.00 beta1
+ Поддержка авторизации с веба под своим ником. Для этого если человек зарегистрирован на сайте и в чате под одним ником — надо чтоб и его пароли совпадали. Если на сайте зарегистрирован, а в чате нет, то будет подана заявка на регистрацию
+ Мгновенная синхронизация с БД (публикация сообщений с веба, вход пользователей с веба…). Функция синхронизации с БД выделена в отдельный поток
+ Извлечение тем каналов для последующего отображения из на сайте
+ Отслеживание любых каналов ботом. Каналы выбираются в настройках
+ Пароли виртуальных пользователей (в т.ч. бота) теперь передаются и хранятся в md5 хеше
* Проблемы при изменении настроек
* Уход в минус количества пользователей онлайн
* Функция автоочистки таблицы сообщений раз в час, если больше 100-та записей (последние 10 записей не удаляются)
* IP адрес бота теперь и сохраняется и показывается в настройках
* Пароли бота и MySQL теперь прикрываются звёздочками
очень и очень много мелких, забытых ихменений…
1.00 alpha
Много чего добавлено (+) и исправлено (*), всё и не перечислить..
Модуль для CMS Drupal
Текущая версия: 1.7 (от 20.12.10)
Разработчик: Аннеков Павел aka SteelRat
Требования:
- CMS Drupal 6-ой линейки. Желательно самой последней версии.
- PHP версии 5.x.x.
Последние изменения:
6.x-1.7
+ Опция показа состояния соединения на странице чата (опционально). При задержке пинга от плагина от 30 секунд до 2-ух минут — показывает предупреждение на желтом фоне на странице чата, а при задержке более 2-ух минут показывает другое предупреждение на красном фоне.
+ Возможность общения в вебчате оффлайн, т.е. когда синхронизация в плагине не включена. Возможность активна только когда включена опция показа состояния соединения и когда соединения с сервером нет (задержка более 2-ух минут)
* Текст подсказки для кнопок открытия смайлов и настроек
* Сохранение выбранных пользователем настроек
* Стилизация темы канала
* Оптимизация смайлов при не стандартной структуре файла смайлов
6.x-1.6
+ Полная поддержка переключения каналов в вебе с запоминанием последнего активного канала
+ Новый перевод модуля
+ Ускорение всплытия информации о пользователе в списке
+ Сделана мгновенная очистка чата
+ Сделано сохранение настроек автоскрытия смайлов и звукового оповещения
+ Полная поддержка автосоздания/изменения страницы чата через настройки или при включении модуля
+ Глобальная опция "Включить звуковое оповещение" в настройках. Позволит по умолчанию включить/выключить оповещение
10 мелких изменений
6.x-1.5b
+ Добавлена кнопка настроек чата. Их пока две: звуковое оповещение, при появлении нового сообщения и авскрытие блока смайлов при выборе смайла
+ Поддержка динамической вставки\удаления пользователя, учитывая сортировку, из списка "Пользователей онлайн" при входе\выходе пользователя из канала
+ Поддержка вставки смайлов. Пока ограничил двумя первыми вкладками, из-за нагрузки на страницу
+ Мгновенное получение новых сообщений, опубликованных в чате (технология AJAX Comet) и мгновенная отправка сообщений с веба в чат
+ Поддержка авторизации с веба
+ Поддержка многоканальности
+ Извлечение новых сообщений с БД сделано по дате и по каналу
+ Добавлен раздел текущего пользователя к блоку "Пользователи онлайн"
+ Расстановка переносов строк. Теперь если в чате написали многострочное сообщение, то и в вебе оно отображается в несколько строк
+ Автосоздание страницы чата при включении модуля, если страницы не существует
* Пройдена валидация на XHTML Strict
* Дизайн блока сообщений. Разделение сообщений ели видными границами, время сообщения справа и др.
* Изменен метод очистки чата
* Кнопка очистки чата снесена вниз иконкой
* Фильтрование всех html тегов
очень и очень много мелких, забытых ихменений…
6.x-1.41
* Адрес канала, где происходит общение, теперь берётся из таблицы настроек, которую обновляет плагин
Пакет для CMS Joomla
Текущая версия: 0.4 (от 06.02.11)
Разработчик: Алексей Ткаченко aka Wearwoolf
Требования:
- CMS Joomla версии 1.5.x.
- PHP версии 5.x.x. На версиях 4-ой линейки не тестировался.
Последние изменения:
0.4
+ Возможность работать с таблицами без префиксов
* Подключение к родной базе в модуле
* Вид компонента
* Стабильность модуля и компонента
0.3
+ Перевод модуля (что то не заработало и пришлось что-то подправить)
+ Перевод на английский язык
+ Возможность по умолчанию подключаться к БД сайта, если таблицы расположены в ней.
+ Скрипты переписаны для библиотеки mootools 1.12
* Ошибка с именем компонента
* Ошибка со слешами для виндовс сервера
* Ошибка вызова функции getip() в модуле
* Ошибка с картиной "пользователь с web"
* Ошибка с иконками пользователей в списке пользователей
* Ошибки в переводе
0.1b
* Определение IP
0.1a
* Ошибка с именем компонента
* Ошибка со слешами для виндовс сервера
* Перевод модуля
0.1
+ Первая версия модуля и компонента…
Плагин для CMS WordPress
Текущая версия: 0.1a (от 06.02.11)
Требования:
- CMS WordPress версии 2.9 и выше.
- PHP версии 5.x.x. На версиях 4-ой линейки не тестировался.
Последние изменения:
0.1a
* Отправка сообщений пользователями с ролями выше Подписчика
0.1
+ Первая версия плагина…
Особенности
Главных особенностей собственно две:
- Работа с БД MySQL 5, на которой работают большинство современных сайтов.
- Плагин полностью поддерживается ОС Linux.
БД MySQL в качестве хранилища для информации поступаемой от плагина является надёжным хранилищем, а также широко используется в CMS Joomla, Drupal, WordPress и др. Если Вы используете какую-либо другую CMS для Вашего сайта, то Вы можете свободно настроить плагин и сделать модуль для этой CMS.
Быстрая настройка плагина позволит с помощью подсказок настроить подключение и взаимодействие с БД.
Плагин поставляется в специально сделанной для него установке, которая установит его в место, где находится серверное приложение CommFort и установит настройки по-умолчанию.
Плагин ведёт логирование событий, происходящих в канале и и записывает их в файлы логов, а также выводит собственно в содержимом своего окна.
Так как всем известно, что серверное приложение чата комфорт запускается на ОС Linux через WINE, то мы специально проводили тесты так, чтобы плагин работал одинаково под Windows и под WINE-ом. Если Ваш сервер комфорта уже работает на ОС Linux, то Вам не составит труда добавить к нему наш плагин.
Установка
Установка плагина и модуля производится в несколько этапов. Их краткое описание ниже.
Плагин для CommFort
- Распаковываем содержимое архива (webchat_cf_5.zip) и запускаем установку "webchat_cf_5_setup.exe".
- Указываем для установки папку с сервером комфорта.
- Запускаем плагин через меню в окне сервера: Сервер-Плагины-CommFort WebChat версия-Запустить.
- Делаем первоначальную настройку плагина.
Модуль для CMS Drupal
- Если CMS Drupal у Вас не установлена — качаем, устанавливаем.
- Распаковываем содержимое архива (webchat_dp_5.zip) в папку с CMS Drupal sites\all\modules. В итоге у Вас должна образоваться папка sites\all\modules\cf_webchat с некоторым набором файлов в ней.
- На странице модулей в администрировании Drupal (admin/build/modules) включаем модуль CommFort WebChat.
- Там же в админке, в настройках модуля (admin/settings/cf_webchat), вносим настройки на какой странице будет показываться чат и т.д.
Пакет для CMS Joomla
- Если CMS Joomla у Вас не установлена — качаем, устанавливаем.
- Распаковываем содержимое архива (webchat_jm_5.zip) в любую папку. Он содержит в себе 2 архива: com_webchat.zip — компонент и mod_webchat.zip — модуль.
- С помощью стандартного установщика модулей и компонентов Joomla устанавливаем оба архива (компонент и модуль).
- После установки в Администраторской панели компонента надо сделать настройку соединения с БД и выбрать дополнительные настройки.
- Создать модуль и привязать его к пункту меню, который будет вести на компонент чата.
Плагин для CMS WordPress
- Если CMS WordPress у Вас не установлена — качаем, устанавливаем.
- Распаковываем содержимое архива (webchat_wp_5.zip) в папку wp-content\plugins. В итоге у Вас должна образоваться папка wp-content\plugins\commfort-webchat с некоторым набором файлов в ней.
- На странице плагинов (wp-admin/plugins.php) включаем плагин CommFort WebChat.
- Делаем первоначальную настройку плагина на странице wp-admin/options-general.php?page=cf_webchat.
- Переходим на страницу виджетов (wp-admin/widgets.php) и переносим виджет CommFort WebChat в ту область, где вы хотите, чтобы он отображался.
- Для показа чата на странице надо зайти в редактирование любого поста или страницы и написать в контентной области (тело поста) строку — [cf_webchat].
- Если вы сделали все правильно, то на странице, куда вы вставили заветную строку будет показан чат, а сбоку будет виден виджет пользователей онлайн.
FAQ
Вопрос: Почему после установки новой версии плагина в его окне показывается всё равно старая версия (имеется ввиду, что сервер при этом не перезагружался)?
Ответ: Старый плагин никуда не делся, он до сих пор сидит в памяти и именно его запускает сервер комфорта. Или перезагрузите сервер комфорта или остановите плагин, потом после установки новой версии плагина измените в папке Plugins (которая находится в папке сервера комфорта) название файла wenchat.cfplug на какое-то другое и запустите плагин, в списке плагинов сервера, заново.
Вопрос: Как бороться со спамом и атаками?
Ответ: Всё довольно просто. В модуле для друпала есть специальное правило — "разрешить отправку сообщений" в разделе Разрешения (/admin/user/permissions). Убираем галку напротив этого правила в колонке "анонимный пользователь" и анонимные пользователи не смогут отправлять сообщения в чат с веб-интерфейса. Но если Вам надо, чтобы и зарегистрированные пользователи проходили проверку, то переходим на страницу "Параметры регистрации" (/admin/user/settings) и выбираем пункт "Посетители могут создавать учетные записи, но требуется разрешение администратора". Заблокировать какого-либо пользователя, чтобы он вообще не смог войти на сайт можно на странице "Правила доступа" (/admin/user/rules), где можно заблокировать пользователя по Имени, Хосту (ip или маска) или E-mail.
Вопрос: Как в логах найти ошибки\предупреждения?
Ответ: Визуальные логи в окне плагина выделяют оливковым цветом предупреждения и красным — ошибки. В текстовых логах события с ошибками помечаются как [error] после даты, а события с предупреждениями как [warn].
Вопрос: Я скопировал смайлы в папку со смайлами и в настройках указал, чтобы смайлы отображались, но они не показываются. Что делать?
Ответ: Проверьте не забыли ли вы нажать кнопку "Оптимизировать смайлы", её надо нажимать каждый раз когда вы изменяете файл "smiles_serv.txt". Так же проверьте, чтобы название этого файла было полностью строчными (маленькими) буквами. И не забывайте, что в Linux-серверах названия файлов\папок в файле "smiles_serv.txt" должно совпадать с реальными названиями (имеются ввиду строчные и заглавные буквы в названиях).
to do
- Поддержка администрирования чата через веб-интерфейс.
- Создание облегченной версии страницы с чатом адаптированной под мобильные устройства.
- http://webchat.reformal.ru/
Известные проблемы
Быстро решаются…
Скриншоты
Несколько скриншотов плагина и модуля Вы можете увидить ниже.
Плагин для CommFort
Модуль для CMS Drupal
Пакет для CMS Joomla
Полезные ссылки
- http://commfort.com/ru/forum/viewtopic.php?f=11&t=6346 — тема о плагине на форуме CommFort.
- http://ya.dn.ua/chat — пример работы чата на портале города Ясиноватой (Украина, Донецкая область).
- http://ru.wikipedia.org/wiki/Drupal — CMS Drupal на википедии.
- http://drupal.ru — русский источник информации по CMS Drupal.
- http://drupal.org/project/drupal — скачать последнюю версию CMS Drupal.
- http://drupalcookbook.ru — разные заметки и учебники по CMS Drupal.
- http://ru.wikipedia.org/wiki/Joomla — CMS Joomla на википедии.
- http://joomlaportal.ru — Официальный сайт Joomla Russian Translation Community.
In English








