QIP Home QIP Forum

Go Back   QIP Forum > Все для QIP 2012 > QIP 2012. Доступные модули и утилиты. Plugins.

QIP 2012. Доступные модули и утилиты. Plugins. Здесь постить сами модули(плагины), утилиты и темы для их обсуждения.

Reply
 
Thread Tools Display Modes
Old 02.07.2011, 10:46   #1
sleuthhound
QIP User
 
Join Date: 07/2011
Posts: 188
Default QIPHistoryToDB - хранение истории в базе данных


QIPHistoryToDB
- Версия 2.6 (от 20.05.2014)

Плагин для хранения истории QIP 2012, RnQ, Miranda IM/NG, Skype в единой базе данных MySQL, MariaDB, PostgreSQL, SQLite, Oracle или Firebird.

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

Автор: Михаил Григорьев
E-Mail: sleuthhound@gmail.com
ICQ: 161867489
WWW: http://www.im-history.ru
Лицензия: GNU GPLv3

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

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

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

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

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

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

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

Скриншоты:

[+] Скриншот #1. Окно истории сообщений.


[+] Скриншот #2. Окно программы синхронизации.


[+] Скриншот #3. Окно настроек плагина.


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

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

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

Внимательно читаем readme.txt, там описан процесс установки для разных БД.

Исходники доступны на Google Code
http://code.google.com/p/im-history/


[+] Список изменений:



[+] FAQ


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

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

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


[+] Скриншот #1.


[+] Скриншот #2.

Обратите внимание на полезные ответы в этой теме!


Last edited by sleuthhound; 20.05.2014 at 15:15. Reason: скрины в подкат...
sleuthhound вне форума   Reply With Quote
Old 02.07.2011, 15:20   #2
bin
QIP Newcomer
 
Join Date: 05/2005
Posts: 70
Default

Будет ли добавлена возможность импорта раннее сохраненной истории?
__________________
bin
Best Regards!!!
bin вне форума   Reply With Quote
Old 02.07.2011, 15:34   #3
Providence
Specially for Natly
 
Providence's Avatar
 
Join Date: 06/2007
Posts: 10,566
Default

+1 к bin (хотя бы из текстовых файлов myhistory/shistory). так же хотелось бы возможность пользоваться не mysql/postgresql базами, но и sqlite. + обязательно поддержка чатов (иначе, лично для меня, нет смысла хранить историю в базе)
Providence вне форума   Reply With Quote
Old 02.07.2011, 16:17   #4
frostdim
QIP User
 
frostdim's Avatar
 
Join Date: 01/2010
Posts: 430
Default

спасибо за плагин, но хотелось бы SQLite и поддержку чатов, полностью согласен с Providence
frostdim вне форума   Reply With Quote
Old 03.07.2011, 21:34   #5
sleuthhound
QIP User
 
Join Date: 07/2011
Posts: 188
Default

Quote:
Originally Posted by bin View Post
Будет ли добавлена возможность импорта раннее сохраненной истории?
Да, будет. Чуть позже планирую написать отдельную программку для импорта истории в БД.

Quote:
Originally Posted by frostdim
спасибо за плагин, но хотелось бы SQLite и поддержку чатов, полностью согласен с Providence
SQLite сделаю в ближайшее время.

По поводу чатов: в текущем варианте их переписка разве не попадает в базу? Я как бы не тестировал работу с чатами, но по идее должно работать. Если не работает, то сделаю.
sleuthhound вне форума   Reply With Quote
Old 03.07.2011, 22:10   #6
Providence
Specially for Natly
 
Providence's Avatar
 
Join Date: 06/2007
Posts: 10,566
Default

Quote:
Originally Posted by sleuthhound View Post
По поводу чатов: в текущем варианте их переписка разве не попадает в базу?
пробежавшись по коду нашел там всего два упоминания chat и это остатки от плагина-примера . под чатами имелись ввиду джаббер-конференции... и не просто конференции, а ещё и с приватами...
Providence вне форума   Reply With Quote
Old 04.07.2011, 16:45   #7
sleuthhound
QIP User
 
Join Date: 07/2011
Posts: 188
Default

Добавил поддержку SQLite

http://www.im-history.ru/get.php?file=QIPHistoryToDB

С первого взгляда вроде все работает.

Last edited by sleuthhound; 16.10.2012 at 07:10.
sleuthhound вне форума   Reply With Quote
Old 04.07.2011, 17:11   #8
Providence
Specially for Natly
 
Providence's Avatar
 
Join Date: 06/2007
Posts: 10,566
Default

Quote:
04.07.2011 20:00:30:533: An exception occured in "QIPHistoryToDB.dll" plugin:
Exception Info: Access violation at address 00404371 in module 'infium.exe'. Read of address F28B562B
Occure in: 17 message (PM_PLUGIN_MSG_SEND: http://wiki.qip.ru/SDK_Messages#PM_PLUGIN_MSG_SEND) (WParam "1635620", LParam "375662372", NParam "0", Result "1")
Plugin disabled, contact developer.
при отправке сообщения. настройки во вложении.

p.s. а как включить sqlite?
Attached Thumbnails
Click image for larger version

Name:	Untitled-1.png
Views:	402
Size:	36.2 KB
ID:	21172  
Providence вне форума   Reply With Quote
Old 04.07.2011, 19:12   #9
sleuthhound
QIP User
 
Join Date: 07/2011
Posts: 188
Default

Quote:
Originally Posted by Providence View Post
при отправке сообщения. настройки во вложении.

p.s. а как включить sqlite?
Если верить скриншоту, то что-то у вас пустота в настройках, не указан ни адрес сервера, ни имя базы.

Вот мои настройки под SQLite, просто выбираете Тип БД - SQLite, в поле Имя БД вводите
полный путь до файла базы.

Click image for larger version

Name:	sqlite.PNG
Views:	354
Size:	21.5 KB
ID:	21173

Детально читаем в readme.txt

Quote:
Для работы с базой SQLite необходимо наличие последней версии библиотеки sqlite3.dll в каталоге C:\Program Files\QIP Infium
Скачать sqlite3.dll можно с сайта http://www.sqlite.org/download.html
Так же для корректной работы с SQLite в поле "Имя БД" необходимо указать полный путь до файла базы, например
C:\Program Files\QIP Infium\Plugins\QIPHistoryToDB\history.sqlite
Базу создаем с помощью sqlite3.exe, утилиту берем на оф. сайте http://www.sqlite.org/download.html

Как работать с sqlite3.exe можно найти в Инете.

Честно говоря, не пойму зачем вам SQLite вообще, по сети она не работает, толку от неё тогда? Для переноса истории все равно придется переносить файл БД.
sleuthhound вне форума   Reply With Quote
Old 04.07.2011, 19:33   #10
Providence
Specially for Natly
 
Providence's Avatar
 
Join Date: 06/2007
Posts: 10,566
Default

Quote:
Originally Posted by sleuthhound View Post
просто выбираете Тип БД - SQLite
проблема в том, что пункта SQLite в комбобоксе нету :)

Quote:
Originally Posted by sleuthhound View Post
не пойму зачем вам SQLite вообще, по сети она не работает, толку от неё тогда?
смысл её в том, что ставить mysql на локальный комп ради истории - бред, а объединить 400 метров истории в ~11 тыс файлов в одну базу с нормальным поиском очень хочется. или если не хочешь хранить историю где-то в интернете.
кстати... поиск-то есть в плагине?

Quote:
Originally Posted by sleuthhound View Post
Базу создаем с помощью
а можно для тупых скрипт какой-нибудь или пошаговую инструкцию?

Quote:
Originally Posted by sleuthhound View Post
Для переноса истории все равно придется переносить файл БД.
и тут нужен конвертер истории из формата myhistory/shistory в формат базы или вообще сразу импорт в базу.

Quote:
Originally Posted by sleuthhound View Post
у вас пустота в настройках, не указан ни адрес сервера, ни имя базы.
верно, но плагину падать от этого как-то неправильно ;)

---------- Post added at 22:33 ---------- Previous post was at 22:27 ----------

в любом случае утилиту для импорта истории в базу надо делать, иначе
Providence вне форума   Reply With Quote
Old 04.07.2011, 20:51   #11
sleuthhound
QIP User
 
Join Date: 07/2011
Posts: 188
Default

Quote:
Originally Posted by Providence View Post
проблема в том, что пункта SQLite в комбобоксе нету :)
Скачайте плагин повторно, я обновил его + пофиксил пару незначительных проблем. Теперь с пустыми настройками нельзя будет работать ;)

Также написал детальные инструкции как начать работать с базой SQLite. Читайте readme.txt

Quote:
Originally Posted by Providence
смысл её в том, что ставить mysql на локальный комп ради истории - бред, а объединить 400 метров истории в ~11 тыс файлов в одну базу с нормальным поиском очень хочется. или если не хочешь хранить историю где-то в интернете.
кстати... поиск-то есть в плагине?
Для таких объемов мне кажется SQLite будет маловато, нагнется она как мне кажется. Хотя...
Поиск в плагине есть, конечно не супер навороченный, но есть. По диапазону дат + по словам (с учетом регистра и без учета)

Quote:
Originally Posted by Providence
а можно для тупых скрипт какой-нибудь или пошаговую инструкцию?
Все в архиве с плагином. Думаю sqlite3.dll с сайта http://www.sqlite.org/download.html сможете скачать ;)

Quote:
Originally Posted by Providence
и тут нужен конвертер истории из формата myhistory/shistory в формат базы или вообще сразу импорт в базу.
Будет, чуть позже. У меня всего лишь 2 руки и я еще 9 часов работаю на постоянной работе ;)

Quote:
Originally Posted by Providence
верно, но плагину падать от этого как-то неправильно ;)
Пофиксил, теперь есть проверка на параметры.
sleuthhound вне форума   Reply With Quote
Old 04.07.2011, 21:11   #12
Providence
Specially for Natly
 
Providence's Avatar
 
Join Date: 06/2007
Posts: 10,566
Default

sleuthhound, спасибо, заработало. вылезла другая проблема. на скриншоте
Attached Thumbnails
Click image for larger version

Name:	Untitled-4.png
Views:	382
Size:	28.3 KB
ID:	21179  
Providence вне форума   Reply With Quote
Old 06.07.2011, 16:16   #13
sleuthhound
QIP User
 
Join Date: 07/2011
Posts: 188
Default

Добавил поддержку хранения истории чатов для QIP Infium

http://www.im-history.ru/get.php?file=QIPHistoryToDB

Прошу потестировать и отписаться о найденных ошибках.

Пока вариант сыроват в плане интерфейса, но история уже ведется в БД и её можно читать.

P.S. Необходимо добавить новую таблицу в БД, смотрите соответствующие sql файлы в каталоге SQL. Для SQLite файл history.sqlite уже обновлен с новой табличкой.



---------- Post added at 18:16 ---------- Previous post was at 18:06 ----------

Quote:
Originally Posted by Providence View Post
sleuthhound, спасибо, заработало. вылезла другая проблема. на скриншоте
По данной ошибке пока что-то сложно сказать, попробую исправить. Думаю дело в кодировке текста.

Last edited by sleuthhound; 16.10.2012 at 07:11.
sleuthhound вне форума   Reply With Quote
Old 11.07.2011, 16:52   #14
sleuthhound
QIP User
 
Join Date: 07/2011
Posts: 188
Default

Обновил плагин

Из основных изменений - переход на бесплатную библиотеку (ZeosLib) по работе с БД

P.S. Пришлось убрать с сайта, т.к. возникли проблемы с клиентскими библиотеками.

Last edited by sleuthhound; 11.07.2011 at 19:11.
sleuthhound вне форума   Reply With Quote
Old 11.07.2011, 19:59   #15
Providence
Specially for Natly
 
Providence's Avatar
 
Join Date: 06/2007
Posts: 10,566
Default

sleuthhound, тормозит секунд на 3-5 при входе в конференцию, когда подсасываются последние 20 сообщений. т.о. если есть несколько конференций с автовходом и несколько лент, то квип запускается секунд 30-40...
может быть первые 30-60 сек после старта складывать все сообщения в буфер, а уже потом, одним запросом, сливать их в базу? да и вообще, может автоматический режим переделать в режим по расписанию с интервалом 10-30 секунд? вряд ли кому-то может реально понадобиться заливать сообщения в базу при получении/отправке каждого сообщения, а нагрузка на сервер заметно снизится...
Providence вне форума   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +4. The time now is 02:27.


Powered by vBulletin.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
©2004 - 2012 QIP.RU