RnQHistoryToDB - хранение истории в базе данных

Больше
6 года 9 мес. назад - 3 года 11 мес. назад #1 от Sleuthhound
Sleuthhound создал эту тему: RnQHistoryToDB - хранение истории в базе данных
Текущая версия плагина RnQHistoryToDB v2.6 от 20.05.2014

Собственно процитирую главную страницу с моего сайта - www.im-history.ru

Проект IM-History позволяет организовать хранение истории сообщений ICQ, RnQ, QIP, Miranda, Trillian, Adium, Pidgin, qutIM в базе данных MySQL, PostgreSQL, Oracle, Firebird или SQLite.
Из дополнительных возможностей можно отметить хранения истории на сервере в зашифрованном виде, просмотр истории сообщений через любой im-клиент и просмотр истории через web-интерфейс сайта.

Проект является полностью открытым, все исходные коды плагинов для im-клиентов и другие наработки распространяются по лицензии GPLv3.

Теперь конкретно по плагину для RnQ

RnQHistoryToDB


Плагин для хранения истории RnQ в единой базе данных MySql, PostgreSQL, Oracle, SQLite или Firebird.

Автор: Михаил Григорьев
E-Mail: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
ICQ: 161867489
WWW: www.im-history.ru
Лицензия: GNU GPLv3

Системные требования:

ОС: Win2000/XP/2003/Vista/7
IM-клиент: RnQ
БД: MySQL 4.0, 4.1, 5.0, 5.1
MariaDB 5.x
PostgreSQL 7.1 - 8.3
SQLite 3
Oracle 8 - 11i
Firebird


Текущий функционал плагина:
1. Запись отправленных и присланных сообщений для разных протоколов в единую базу данных.
2. Запись сообщений чатов в единую базу данных.
3. Просмотр сообщений из единой базы данных с возможностью установки фильтра по дате (времени), поиск текста и т.д.
4. Возможность экспорта сообщений из БД в формат RTF или TXT.
5. Импорт истории сообщений из ICQ7, RnQ, QIP 2005/2010/Infium/2012 в единую базу данных.
6. Шифрование истории сообщений.

Одна из основных фишек плагина состоит в том, что структура базу данных одинакова для всей линейки плагинов под разные IM-клиенты => Что Вы можете читать одну и ту же историю пор разными IM-клиентами (RnQ, QIP, Miranda, Web-интерфейс). Необходимо лишь установить соответствующий плагин для IM-клиента.

Если сервер БД находится у вас в локальной сети, то оптимальным является метод синхронизации "По расписанию".
Если ж сервер БД находится в Интернет и ваше соединение не очень скоростное, то рекомендую выбирать "Ручной" метод
или метод "По расписанию".

Ближайшие планы:

1. Реализация Web-интерфейса чтения истории.
2. Доработка сайта, организация хранилища истории на моих серверах с возможностью чтения истории через Web.

Скриншоты:





Скачать RnQHistoryToDB v2.6 плагин можно здесь
www.im-history.ru/get.php?file=RnQHistoryToDB

Утилита для создания и управлением собственной БД для хранения истории (описание и скриншоты ниже) - v2.0 (Обновлена 20.05.2014)
http://www.im-history.ru/get.php?file=HistoryToDBCreateDB

Исходники доступны на Google Code
code.google.com/p/imhistory/

P.S. Огромная просьба ко всем кто будет качать исходники и что-то в них менять или дорабатывать. Если вы что то доработали, то прошу вас отправить это мне, для анализа и последующего добавления функционала в плагин. И не забываем писать комментарии в коде - это полезная вещь!

По многочисленным просьбам создана утилита HistoryToDBCreateDB для создания и управления собственной базой для хранения истории.

Утилита позволяет создать БД, создать/удалить пользователя, создать/удалить структуру таблиц, выдать/забрать права пользователю на эти таблицы.

Работа утилиты протестирована на последних версиях БД MySQL, SQLite, PostgreSQL, Firebird, Oracle.

Скачать можно здесь:
http://www.im-history.ru/get.php?file=HistoryToDBCreateDB

Если у Вас нет возможности хранить историю в своей БД или нет навыков в её создании/администрировании, то Вы можете воспользоваться моим сервером БД. Для регистрации в моей БД напишите запрос на этой странице
Последнее редактирование: 3 года 11 мес. назад от Sleuthhound.

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 9 мес. назад - 6 года 9 мес. назад #2 от SIVAKOV
SIVAKOV ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
Выдаётся вот такое сообщение!
Настройки такие:
Вложения:
Последнее редактирование: 6 года 9 мес. назад от SIVAKOV.

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 9 мес. назад - 6 года 9 мес. назад #3 от Sleuthhound
Sleuthhound ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
sivakvale писал(а):

Выдаётся вот такое сообщение!


Настройки такие:


Когда такое сообщение появляется? В какой момент?

Версия RnQ какая? У меня на 1116-1119 полет нормальный

Структуру таблиц какую создали?

Имя основной таблицы uin_root ?

Пароль рута то поставьте ;) А то похакают ;)
Последнее редактирование: 6 года 9 мес. назад от Sleuthhound.

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 9 мес. назад #4 от SIVAKOV
SIVAKOV ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
Не правильно делал. Сейчас сделал все по инструкции и выдало такую ошибку: "Не удаётся подключиться к БД. Ошибка: #42S02Table 'icq.uin_root' doesn't exist"
Переименовал таблицу в uin_root и нормально стало.

При синхронизации еще такая:
Вложения:

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 9 мес. назад - 6 года 9 мес. назад #5 от SIVAKOV
SIVAKOV ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
И такая:

З.Ы. Поснимал галки в настройках про лог-файлы и заработало все нормально.
Вложения:
Последнее редактирование: 6 года 9 мес. назад от SIVAKOV.

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 9 мес. назад #6 от SIVAKOV
SIVAKOV ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
Sleuthhound писал(а):

sivakvale писал(а):

Выдаётся вот такое сообщение!


Настройки такие:


Когда такое сообщение появляется? В какой момент?

Версия RnQ какая? У меня на 1116-1119 полет нормальный

Структуру таблиц какую создали?

Имя основной таблицы uin_root ?

Пароль рута то поставьте ;) А то похакают ;)


Версия у меня 1118.

Таблицу uin_username переименовал в uin_root.

Все, работает, но при нажатии в чате кнопки плагина выдаётся сообщение:
"Ошибка: Не удаётся подключиться к БД. Ошибка: #HY000Can't create/write to file '\tmp\#sqlc2c_5_0.MYI' (Errcode: 2)"
Хотя при нажатии кнопки "Показать" выводит всю историю верно и соединение с базой есть.

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 9 мес. назад - 6 года 9 мес. назад #7 от Sleuthhound
Sleuthhound ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
sivakvale писал(а):

И такая:



З.Ы. Поснимал галки в настройках про лог-файлы и заработало все нормально.


Исправил эту ошибку.

Качаем обновленную версию тут
www.im-history.ru/get.php?file=RnQHistoryToDBv10
Последнее редактирование: 6 года 9 мес. назад от Sleuthhound.

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 9 мес. назад - 6 года 9 мес. назад #8 от Sleuthhound
Sleuthhound ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
Добавил в плагин поддержку SQLite
Исправлено несколько досадных багов

Качаем обновленную версию тут
www.im-history.ru/get.php?file=RnQHistoryToDBv10
Последнее редактирование: 6 года 9 мес. назад от Sleuthhound.

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 9 мес. назад - 6 года 9 мес. назад #9 от SIVAKOV
SIVAKOV ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
Кнопка плагина в чате мельтешит постоянно(стрелки <- ->), ИМХО одного прохода анимации хватило бы.

Ну, и выдавать последние N сообщений с контактом при нажатии этой кнопки. А то история показывается по нажатии кнопки "Показать".
Последнее редактирование: 6 года 9 мес. назад от SIVAKOV.

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 9 мес. назад #10 от Sleuthhound
Sleuthhound ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
sivakvale писал(а):

Кнопка плагина в чате мельтешит постоянно(стрелки <- ->), ИМХО одного прохода анимации хватило бы.

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


Анимация отключаема, см. настройки.

N сообщений с контактом при нажатии этой кнопки итак выдаются без проблем. Или нет?

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 9 мес. назад #11 от SIVAKOV
SIVAKOV ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
У меня нет. Выводит это:
"Ошибка: Не удаётся подключиться к БД. Ошибка: #HY000Can't create/write to file '\tmp\#sqlc2c_5_0.MYI' (Errcode: 2)"

Но это, скорее всего, зависит от настроек сервера.

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 9 мес. назад #12 от Sleuthhound
Sleuthhound ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
sivakvale писал(а):

У меня нет. Выводит это:
"Ошибка: Не удаётся подключиться к БД. Ошибка: #HY000Can't create/write to file '\tmp\#sqlc2c_5_0.MYI' (Errcode: 2)"

Но это, скорее всего, зависит от настроек сервера.


Это проблема в Вашей БД, либо повреждена база, либо не хватает прав.

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 9 мес. назад #13 от Tyoma Sarukhanov
Tyoma Sarukhanov ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
спасибо за плагин.

а можно задать sqlite файл по относительному пути? я крыску на флешке таскаю.
какую минимальную версию рнку поддерживает плагин?

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 9 мес. назад - 6 года 9 мес. назад #14 от Sleuthhound
Sleuthhound ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
tyoma53 писал(а):

спасибо за плагин.

а можно задать sqlite файл по относительному пути? я крыску на флешке таскаю.


В новой версии можно написать такую конструкцию в файл настроек HistoryToDB.ini

DBName=<RQUserPath>\history.sqlite

или в настройках плагина в поле "Имя БД":

<RQUserPath>\history.sqlite

Во время работы <RQUserPath> будет автоматически меняться на каталог с Вашим профилем.

К примеру:
RnQ лежит на диске G - <RQUserPath>\history.sqlite =====> G:\RnQ\161867489\history.sqlite
RnQ лежит на диске F - <RQUserPath>\history.sqlite =====> F:\RnQ\161867489\history.sqlite

tyoma53 писал(а):

какую минимальную версию рнку поддерживает плагин?


Версия RnQ должна быть выше 1074.
Если она ниже, то плагин не будет работать, на это есть проверка.
Но, данный факт я не проверял. Минимум работал на 1116
Последнее редактирование: 6 года 9 мес. назад от Sleuthhound.

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 8 мес. назад - 6 года 8 мес. назад #15 от Sleuthhound
Sleuthhound ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
Вышли новые версии плагина RnQHistoryToDB

Что нового в версии 1.1:
- Произведен переход на opensource библиотеку ZeosLib по работе с БД
- Произведен переход к использованию кодировки UTF8 в БД
- Добавлена возможность указания относительных путей при работе с БД SQLite
- Произведена оптимизация кода во многих процедурах и функциях

Внимательно читаем readme.txt, там описан процесс установки с учетом нововведений.

Вроде бы и немного изменений, но работы проделано прилично. ;)

Теперь о главном: Как обновиться с версии 1.0 до 1.1. Основная засада - это конечно кодировка базы.
Хоть я и постарался реализовать механизм проверки кодировки в БД, но с ним возможны глюки.
Есть 2 варианта обновления:
1. Пересоздать базу с нуля и радоваться кодировки UTF8.
2. Конвертировать текущую базу из WIN1251 в UTF8
3. Понадеяться что мой механизм определения кодировок работает и ничего не делать.

Лично я поступил по 2 варианту.

Скачать можно здесь:
www.im-history.ru/get.php?file=RnQHistoryToDBv11
Последнее редактирование: 6 года 8 мес. назад от Sleuthhound.

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 8 мес. назад #16 от S. 0. A. R.
S. 0. A. R. ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
А данный плагин не умеет экспортировать в БД уже имеющуюся историю?

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 8 мес. назад #17 от Avatarpr
Avatarpr ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
Удваиваю предыдущий вопрос
Плагина для adium еще нет?
Планируется ли использование https вместо обычного соединения для чтения истории в вебе?

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 8 мес. назад #18 от Sleuthhound
Sleuthhound ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
Вышли новые версии плагина RnQHistoryToDB

Что нового в версии 1.2 от 29.07.2011:
* Исправлены проблемы с кодировкой UTF8

Скачать можно здесь:
www.im-history.ru/get.php?file=RnQHistoryToDBv12

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 8 мес. назад #19 от Sleuthhound
Sleuthhound ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
S. 0. A. R. писал(а):

А данный плагин не умеет экспортировать в БД уже имеющуюся историю?


Пока не умеет, пишу отдельную утилиту для этих целей.

Пожалуйста Войти , чтобы присоединиться к беседе.

Больше
6 года 8 мес. назад - 6 года 8 мес. назад #20 от Sleuthhound
Sleuthhound ответил в теме RE: RnQHistoryToDB - хранение истории в базе данных
avatarpr писал(а):

Удваиваю предыдущий вопрос
Плагина для adium еще нет?
Планируется ли использование https вместо обычного соединения для чтения истории в вебе?


Под Adium пока не начал писать. Не хватает времени. :( + Где то нужно раздобыть мак бук. :(

Соединение с базой по http/https планируется реализовать в ближайших версиях, это приоритетная задача ;) Не все могут напрямую обращаться к базе.

Сама web-оболочка по чтению истории пока в разработке...
Последнее редактирование: 6 года 8 мес. назад от Sleuthhound.

Пожалуйста Войти , чтобы присоединиться к беседе.

Модераторы: bassvazoozaDelphukdekR.D.
Время создания страницы: 0.477 секунд
Работает на Kunena форум