Название: NodeChat
Автор: MSW
CMS: DLE 8.3 - 10.2
Версия модуля: 1.4
Описание:
NodeChat - Чат на основе nodejs для CMS DataLife Engine.
Особенности:
- работает на сокетах: мгновенная доставка отправленного сообщения всем пользователям чата;
- для идентификации пользователей используется база сайта и механизмы куков и пхп-сессий;
- возможность включать и отключать показ чата;
- плавающий чат по странице: то есть пользователь может перемещать чат на странице в любое удобное для него место;
- встроенный чат в страницу: пользователь может выбрать чат должен быть плавающий или встроенный в страницу;
- изменяемые размеры плавающего чата;
- все настройки чата сохраняются у пользователя в куках;
- не использует php
Модули NodeJS:
- socket.io
- hiredis redis
- node-mysql
Системные требования:
- VDS/VPS
- Остальные требования необходимые для установки и работы NodeJS.
- Остальные требования необходимые для установки и работы DLE.
- jQuery + jQuery UI + jQuery UI CSS
1. Установить на сервер NodeJS( http://nodejs.org/ ) и redis ( http://redis.io/download ) : Установка NodeJS и Redis
2. Скачиваем DLE NodeChat на сервер:
git clone https://github.com/MSergW/dle_nodechat
3. В файле config.js указать данные для подключения к БД сайта.
4. На сервере проверить что в фаерволе открыт порт 9090.
5. Файл шаблона main.tpl:
Перед:
</head>
Добавить: (заменив MYSITE.COM на домен сервера где установлен и запущен чат)
<link type="text/css" media="screen" href="{THEME}/nodechat/styles.css" rel="stylesheet">
<script src="http://MYSITE.COM:9090/socket.io/socket.io.js"></script>
<script type="text/javascript" src="{THEME}/nodechat/jquery.cookie.min.js"></script>
<script type="text/javascript" src="{THEME}/nodechat/jquery.markitup.min.js"></script>
<script type="text/javascript" src="{THEME}/nodechat/nodechat.min.js"></script>
Добавить в нужном месте:(если такого айди по умолчанию в вашем шаблон нет)
<div id="mainContent"></div>
Кнопка для закрытия и открытия чата:
<a title="Чат" href="#" id="nodechat_btn">Чат</a>
6. В файлах: nodechat.min.js и nodechat.js так же указать свой домен на котором работает чат: io.connect('http://SITE.COM:9090');
7. Поместить содержимое папки dle_templates в папку используемого вами шаблона.
8. Поместить содержимое папки dle_uploads в папку /uploads/
9. На сервере перейти в папку с чатом и установить необходимые для чата модули:
npm install socket.io hiredis redis
npm install git://github.com/felixge/node-mysql.git
10. На сервере перейти в папку с файлами чата и запустить командой:
node server.js
11. Для автоматического запуска чата можно применить init-скрипт: DLE NodeChat: скрипт запуска (nodejs + forever)
Внимание! Необходима полноценная версия jQuery UI!!! Вместе со стилями!
Но так как на DLE не работают последние версии jQuery и jQuery UI то выкладываем эти js скрипты отдельно:
*** обновление 03.06.2014 * v1.4 ***
1. Убран модуль nodejs - express
2. Код изменён под актуальные версии модулей nodejs
3. Повышена стабильность работы чата.
*** обновление 04.04.2013 * v1.3 ***
1. Убрана авторизация по кукам, что вызывало на последних версию nodeJS частые падения чата.
*** обновление 29.03.2013 * v1.2.1 ***
1. Оптимизация под новые версии nodejs и используемых модулей.
*** обновление 10.02.2013 * v1.2 ***
1. Хранение истории сообщений в redis. Это значит что после перезапуска чата история сообщений в чате сохраняется.
2. Добавлена опция указания часового пояса. Сдвиг времени в часах, относительно времени установленного на сервере.
*** обновление 15.01.2013 ***
исправлена проблема закрытия чата, которая происходила из-за таймаута подключения MySQL.
Сервер чата останавливался при получении ошибки закрытия подключения к мускулу по его таймауту, когда на сайте небыло посетителей и чат не выполнял запросы в базу.
Теперь таймаут чат устанавливает 7 суток.