Author Topic: Хранить историю в базе данных  (Read 10016 times)

0 Members and 1 Guest are viewing this topic.

Offline nicebitTopic starter

  • Newbie
  • *
  • Posts: 11
  • Country: ru
  • Karma: 0
Ищу варианты синхронизации истории в двух Мирандах.

Сейчас синхронизирую с помощью Google Drive. На обоих компьютерах установил GoogleDriveSinc. Но, есть нюансы:
- на работе Миранда запускается автоматом, поэтому сразу помечает файлы профила как занятые и не даёт синхронизировать их. С этим можно бороться отложенной загрузкой.
- при выключении компьютера Миранда сохраняет профиль, но синхронизация-то не успевает произойти, т.к. компьютер уже выключается. Поэтому дома всё тот же старый профиль. Постоянно заранее выключать Миранду - не вариант. Итог: настройки меняю редко, поэтому их можно хранить в профиле, и если уж изменил настройки, то можно сразу выключить Миранду, дождаться окончания синхронизации и работать дальше. А вот историю нужно выносить куда-то отдельно.

В итоге наткнулся на сайты im-history.com и im-history.ru. На первом закрыта поддержка, а по второму как раз вопрос:
Кто-нибудь уже пользовался предлагаемым MirandaNGHistoryToDB? Держу сайт на хостинге. Поэтому вариант кажется очень заманчивым.
 

Offline Apollo2k4

Re: Хранить историю в базе данных
« Reply #1 on: 10 12 2013, 19:00:07 »
nicebit, использую описанный вами сетап уже года три (только использую Dropbox вместо Google Drive), но без автоматизации запуска. По моему выйти из миранды за две минуты до выключения машины и с утра запустить ярлыком не самая большая проблема.
А по поводу MirandaNGHistoryToDB не ясно в плане совместимости, автор пришёл и адаптировал под Miranda NG но более плагин не получил не одного коммита.
Сегодня в проекте убран из ночных сборок…
«Все глупости совершаются с серьёзным выражением лица» © Кён «Меланхолия Сузумии Харухи»

Правильно заданный вопрос – 50% решения.
Правила постинга

Tox ID: apollo2k4@toxme.io
 

Offline nicebitTopic starter

  • Newbie
  • *
  • Posts: 11
  • Country: ru
  • Karma: 0
Re: Хранить историю в базе данных
« Reply #2 on: 10 12 2013, 23:23:23 »
Apollo2k4, эх, не поверил, что что-то может быть плохо в плагине, если на оф.сайте написано, что версия стабильная, и решил всё-таки проверить.
Скачал все приблуды для плагина, поплясал с бубном, чтобы всё заработало (файлы libeay32.dll, libintl.dll, sqlite3.dll, ssleay32.dll пришлось положить в корень Миранды, а не в Plugin). Уже на этом этапе Миранда(а может и весь компьютер) начала притормаживать, а при выключении вообще около минуты еще висела в диспетчере (а иногда вообще не закрывалась). Дополнительная программа для плагина тоже иногда оставалась работать после выключения Миранды. Ну да ладно, проверять так проверять. Создал базу на хостинге, подключился к ней через HistoryToDBCreateDB, программа создала там таблицы. При старте Миранды плагин всё спрашивал не хочу ли я импортировать историю, ну, думаю, теперь можно. Жму "да", он просит обновиться, ладно согласен. Думаю, сейчас проверит, что всё в порядке и дальше пойдём. Да не тут-то было. Программа похоже без всякой проверки версии стала качать файлы (хотя я только что скачал последнюю версию). Ладно, закачка закончилась. Перезапуск, снова окошко о импортировании, снова "Да", и опять обновление... Да блин, это издевательство чтоли? Жму отмену.
Открываю историю плагина жму там импортировать из миранды, программа возмущается, что импортирование происходит из самой программы. Ладно, лезу в меню программы. В соответствующем подменю для плагина жму "Экспортировать историю"... И Миранда уходит в "запой". Ждал примерно час. За это время в оперативке Миранда разбухла с 30 до 120 МБ. Ну, это уже ни в какие ворота не лезет, я только месяц как пользуюсь Мирандой и она практически пустая, а тут столько "мыслей в пустоту". Причём в базу данных за это время ничего не передавалось.

Итог: Я прекрасно понимаю в каких моментах скорее всего происходят ошибки и при желании всё можно поправить, но слишком уж много негатива за несколько часов работы с одним плагином. Поэтому идёт лесом этот плагин. Сейчас придётся возиться вычищать его нафиг из Миранды (ступил, забыл скопировать папку для экспериментов). И дальше всё-таки буду пользоваться описанным вами способом с ручным включением и заблаговременным выключением.

P.S. Проверял на Win7, Миранда последняя, БД MySQL.
« Last Edit: 11 12 2013, 00:25:55 by nicebit »
 

Offline Apollo2k4

Re: Хранить историю в базе данных
« Reply #3 on: 11 12 2013, 06:30:42 »
nicebit, я в своё время тоже хотел использовать но меня на пол дороге остановило то, что его нужно с бубном настраивать.
«Все глупости совершаются с серьёзным выражением лица» © Кён «Меланхолия Сузумии Харухи»

Правильно заданный вопрос – 50% решения.
Правила постинга

Tox ID: apollo2k4@toxme.io
 

Offline watcher

Re: Хранить историю в базе данных
« Reply #4 on: 11 12 2013, 06:39:05 »
Apollo2k4, эх, не поверил, что что-то может быть плохо в плагине, если на оф.сайте написано, что версия стабильная

В Miranda NG совместимость гарантируется только, если плагин находится в репозитарии Miranda NG. Так что еще повезло, что не было каких-либо архитектурных изменений у нас, а то бы плагин просто "уложил" бы Миранду. Так что, в отличие от Miranda IM в NG скачивание плагинов со сторонних сайтов крайне нежелательно, в любых раскладах.
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline nicebitTopic starter

  • Newbie
  • *
  • Posts: 11
  • Country: ru
  • Karma: 0
Re: Хранить историю в базе данных
« Reply #5 on: 11 12 2013, 07:52:34 »
если плагин находится в репозитарии Miranda NG
Спасибо. Буду знать.

повезло, что не было каких-либо архитектурных изменений
Не совсем в этом уверен, поэтому на всякий случай не стал чистить старую сборку, а выдернул профиль и перенёс на чистое ядро. )
 

Offline watcher

Re: Хранить историю в базе данных
« Reply #6 on: 11 12 2013, 08:09:54 »
Не совсем в этом уверен, поэтому на всякий случай не стал чистить старую сборку, а выдернул профиль и перенёс на чистое ядро. )

Правильный подход :)
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline nicebitTopic starter

  • Newbie
  • *
  • Posts: 11
  • Country: ru
  • Karma: 0
Re: Хранить историю в базе данных
« Reply #7 on: 16 12 2013, 02:35:40 »
Наконец-то понял ошибку конфликта имён, возникающую в Google Drive.
Синхронизирую файлы на работе. Поработал дома, синхронизирую и тут. А потом на работе возникают файлы с добавкой к имени [Конфликт].

Получается, что в одном месте файлы синхронизируются. Потом прихожу в другое, там Миранда в конце свой работы удаляет файл настроек и тут же создаёт новый. Google Drive, похоже не успевает отследить, что файл был удалён и только видит, что появился новый. Поэтому, когда прихожу в первое место, Google Drive видит на компьютере старый файл профиля, для которого не поступило команды удалить, а на сервере лежит уже новый файл. В итоге старый отмечается добавкой [Конфликт], а новый ложится с нормальным именем.
Подобные конфликт постоянно возникает у файла профиля, у файлов SkipeKit и встречал у обновившихся картинок аватаров.

Apollo2k4, а в Dropbox есть такая проблема?
« Last Edit: 16 12 2013, 02:38:37 by nicebit »
 

Offline watcher

Re: Хранить историю в базе данных
« Reply #8 on: 16 12 2013, 09:03:48 »
а в Dropbox есть такая проблема?

Для нормальной синхронизации профиля в Dropbox нужно, чтобы Миранда работала только в одном месте (при двух одновременно работающих на разных компьютерах в папке дропбокса возникнет конфликт) и после выключения Миранды нужно дождаться окончания синхронизации профиля в Dropbox, а также при включении компьютера на другом месте - дождаться, чтоб Dropbox закончил синхронизацию с вебсайтом там, тогда никаких конфликтов нет.
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline Apollo2k4

Re: Хранить историю в базе данных
« Reply #9 on: 16 12 2013, 16:27:59 »
nicebit, прости я немного не понял о чём речь, настройки и история хранятся в одном файле.
а в Dropbox есть такая проблема?
В целом watcher, правильно описал ситуацию, только не с сайтом, а с "облаком" :) Нужно дождаться чтобы выкачалась новая версия т.к. тот же Dropbox не подменяет уже выкачанным, а дописывает/докачивает.
Я обычно для верности после такого сообщения импортирую с помощью стандартной import.dll конфликтную базу в текущую чтобы уж наверняка, а потом удаляю конфликт.

Клиенты Dropbox, Google Drive или Яндекс.Диск и т.д. определяют изменение файла по каком-то своим критериям и иногда нужно время, чтобы они хешировали файл после того миранда его отдала (а она иногда может не спешить с выходом)
«Все глупости совершаются с серьёзным выражением лица» © Кён «Меланхолия Сузумии Харухи»

Правильно заданный вопрос – 50% решения.
Правила постинга

Tox ID: apollo2k4@toxme.io
 

Offline nicebitTopic starter

  • Newbie
  • *
  • Posts: 11
  • Country: ru
  • Karma: 0
Re: Хранить историю в базе данных
« Reply #10 on: 18 12 2013, 04:44:27 »
Перешёл на Dropbox, но одна проблемка осталась.
В Миранде подключен Skype.dll. Работаю дома (Win7) всё нормально. Прихожу на работу (WinXP), включаю Миранду и после некоторого времени появляется уведомление-ошибка "Skype P2P connection failed", а в папке "\Profiles\Chag\SkypeKit" появляется файл "shared (Конфликтующая копия с компьютера ChagJob 2013-12-18).xml".

Когда использовал GoogleDrive, то Миранда выдавала такую же ошибку, и файл "shared.xml" тоже давал конфликт (либо был отмечен красным крестом, либо также появлялся файл с добавкой "[Конфликт]").

чтобы Миранда работала только в одном месте
Я так понимаю имеется ввиду работала под одним профилем. Если на работе я включу со своим профилем, а дома жена со своим, то проблем не должно возникнуть?
 

Offline Apollo2k4

Re: Хранить историю в базе данных
« Reply #11 on: 18 12 2013, 05:14:10 »
Я так понимаю имеется ввиду работала под одним профилем. Если на работе я включу со своим профилем, а дома жена со своим, то проблем не должно возникнуть?
Имелось ввиду, что профиль должен быть загружен только на одной машине т.к. если и дома и на работе будет запущено с вашим профилем, то конечно будут конфликты. В описанной вами ситуации всё будет работать нормально.

Я какое-то время назад отказался от использования Skype плагина но когда был, Dropbox часто при запущенной Miranda говорил, что не может синхронизировать файлы из папки SkypeKit.
С вашей ошибкой не сталкивался, по моему – это у плагина ум за разум заходит т.к. история уже есть, а плагин считает, что её нужно вытащить из сети.
«Все глупости совершаются с серьёзным выражением лица» © Кён «Меланхолия Сузумии Харухи»

Правильно заданный вопрос – 50% решения.
Правила постинга

Tox ID: apollo2k4@toxme.io
 

Offline nicebitTopic starter

  • Newbie
  • *
  • Posts: 11
  • Country: ru
  • Karma: 0
Re: Хранить историю в базе данных
« Reply #12 on: 18 12 2013, 05:27:59 »
Я какое-то время назад отказался от использования Skype плагина
Ладно, я тогда тоже откажусь. Всё-равно в Скайпе пока мало контактов, поэтому если надо, то буду включать сам Скайп.
Спасибо за пояснение.
 

Offline Apollo2k4

Re: Хранить историю в базе данных
« Reply #13 on: 18 12 2013, 15:20:33 »
Ладно, я тогда тоже откажусь.
Существует не нулевая вероятность того, что уже не вернёшься т.к. плагин перестанет работать…
«Все глупости совершаются с серьёзным выражением лица» © Кён «Меланхолия Сузумии Харухи»

Правильно заданный вопрос – 50% решения.
Правила постинга

Tox ID: apollo2k4@toxme.io
 

Offline UncleStark

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
Re: Хранить историю в базе данных
« Reply #14 on: 24 01 2014, 13:38:55 »
Здравствуйте. Если ли возможность организовать одновременную работу двух миранд с одним профилем, в частности с историей. Суть в том, что у меня миранда стоит в дропбоксе и синхронизируется между компьютером дома и на работе. Возможно ли реализовать одновременный доступ к файлу базы данных, для записи истории синхронно, как это реализовано в скайпе например