Ragnarok Online


автострахование в тольятти оформить заявку. | замена замков в двери | Компания "Алгоритм" гарантирует соответствие высоким требованиям на нерудные материалы.

Miranda for Google Desktop 0.4.0.0

Иконка Miranda for Google Desktop

Этот плагин для Miranda IM позволяет индексировать все сообщения в реальном времени при помощи локального поискового сервиса Google Desktop Search (GDS). К сожалению Google закрыл данный проект 14.09.2011, как альтернатива подойдёт этот плагин: Miranda for Windows Search 1.0.0.4.

Плагин изначально создан не мной, но я решил поддержать его разработку т.к. сам им пользуюсь, а автор оригинального плагина куда-то пропал.

Плагин состоит из двух частей:

  1. "Miranda Messages to Google Desktop" (m2g.dll) - Отвечает за перехват сообщений в Miranda IM и отправку их в Google Desktop Search.
  2. "Miranda History to Google Desktop" (db2gds.dll) - Мастер импорта старых сообщений, по-умолчанию он установлен на однократный автозапуск. Чтобы им воспользоваться во второй раз - включите его вручную в опциях настройки загрузки плагинов Miranda IM.

Google Desktop с чатом из Миранды

Загрузка

Установка плагина производиться простой распаковкой данного архива в папку с плагинами Miranda IM (обычно в C:\Program Files\Miranda IM\Plugins) и перезапуском Miranda IM.

gds-0.4.0.0.zip (102.25 KiB, 6y ago, 353 downloads)

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

Для работы плагина требуется собственно установленные Miranda IM и Google Desktop версий 4.x или 5.x.

Плагин равно как и сама Miranda IM прекрасно работает во ВСЕХ 32/64-битных версиях Windows начиная с Windows 95 и заканчивая Windows 7.

Технические подробности

Плагин m2g.dll имеет сервисную функцию доступную для использования в других плагинах:

"Google/IndexThis"

Определение точно такое же как и у события ME_DB_EVENT_ADDED "DB/Event/Added":

wParam=(WPARAM)(HANDLE)hContact
lParam=(LPARAM)(HANDLE)hDbEvent

hDbEvent - действительный хэндлер события, hContact - действительный хэндлер контакта для которого произошло событие hDbEvent.

Лицензия

Программа выпущена под лицензией GPL 2 (русский перевод) .

Исходники

Исходные тексты плагина можно скачать в виде файла gds_src-0.4.0.0.zip (159.32 KiB, 6y ago, 320 downloads).

Обсуждение

Alexey Solomin, 2013/01/15 12:21

Ладушки, отписался в трекер. Вообще, насколько я понял, интерфейс в основном поменялся потому что ядро стало модульным, ну т.е. плагины от Miranda IM не грузятся поскольку Miranda NG не знает какой список ядреных модулей нужен плагину, вот и всё - имхо тут всё логично, и по другому никак.

raspopov, 2013/01/15 14:42

На самом деле не стало, т.к. оно уже было модульным задолго до ghazan'а. Просто теперь ядро состоит из туевой хучи dll-ек. Это сильно усложняет всё.

Alexey Solomin, 2013/01/15 16:51

С одной стороны так и есть, а с другой вроде как проще стало, чем то похоже на апм ОС, и избавляет от необходимости велосипедостроения

raspopov, 2013/01/15 18:13

Функционально ничего не поменялось (!), раньше вызовы сервисов был инлайновые и универсальные. А теперь, в NG, каждый вызов - это уникальная именная функция, связывающая плагин с несколькими dll-ками. Никогда не слышали про "DLL-Hell"? Ghazan вывел его на новый уровень.

Alexey Solomin, 2013/01/15 18:22
А теперь, в NG, каждый вызов - это уникальная именная функция, связывающая плагин с несколькими dll-ками.

Понятненько, ну точно как в ОС ^_^ , про DLL-Hell знаю, агу. Прошу прощения за рассуждения, я просто реализацию обоих форков не смотрел толком, лишь поверхностно, благодарю за разъяснения. В принципе это не так уж и страшно, хотя я наверно псих, ибо системный программист. :) Странно только почему апи в таком случае не обернули, хотя бы макросами, ну а чуть позже по честному до инлайн методов дописали бы.

raspopov, 2013/01/16 03:18

Это страшно вот по какой причине: если раньше вызов несуществующего сервиса (даже ядра) приводил к штатной ошибке и плагин мог как-то на это среагировать (ограничить свою функциональности, попросить юзера загрузить плагин и т.п.), то в NG плагин вообще не может быть загружен из-за отсутствующего импорта функции. Вследствии этого ghazan объявил, что все плагины он будет собирать сам для каждой конкретной версии ядра, и что совместимость между версиями не гарантируется. Однако… умудрился преподнести это как достоинство, сославшись на то, что у него теперь большой репозитарий плагинов. Вот из-за таких идеологических разногласий и не в последней степени благодаря личной конфликтности он был вынужден уйти из команды Миранды.

Alexey Solomin, 2013/01/16 14:25

В целом согласен, но разве PluginUpdater не следит за зависимостями? Вообще, если честно, NG у меня работает стабильно, и всё баг репорты о крешах, которые мая отправлял в сентябре-октябре были пофикшены примерно тогда же. С IM я могу показать, чуть ли не десяток баг репортов в трекере проекта, которые закрыли с пометкой - не официальный плагин, мы ничего не знаем, и чинить не будем, хотя репорты в NG для тех же плагинов были обработаны командой.

что совместимость между версиями не гарантируется.

это да, это не устранимый минус, с другой стороны есть полноценное авто обновление, и необходимость длительной межверсионной обратной совместимости становится не критичной.

В общем поживём, увидим, имхо стоит подождать примерно годик, ну т.е. где то до сентября 2013, вот тогда уже точно можно будет отценить все плюсы и минусы получившегося решения.

raspopov, 2013/01/16 15:00
В целом согласен, но разве PluginUpdater не следит за зависимостями?

Конечно нет. Более того он даже версии не проверяет, и легко заменит более свежую версию на старую но "официальную" (см. вики Mranda NG).

чуть ли не десяток баг репортов в трекере проекта, которые закрыли с пометкой - не официальный плагин

Странно чужие баги репортить… Вы ведь баги миранды не репортите в Microsoft? А ведь всё работает под Windows от Microsoft… 8-)

Alexey Solomin, 2013/01/16 16:12
Конечно нет…

Жалко, ибо это не удобно.

Странно чужие баги репортить… Вы ведь баги миранды не репортите в Microsoft?

не чужие ;) репортил баг с плагином для твиттера, меня отшили, на ещё несколько багов, в т.ч. с MenuEx ответили оообщением: "это старые плагины, мы ничем помочь не можем, да они могут вызывать глюки, просто удалите их" :) В общем сейчас всё в одной репке, и мне, как пользователю, не нужно искать и морочиться общением с каждым автором по отдельности. А это в свою очередь повышает качество продукта. Фактически сейчас получается так, что моя конфигурация самых последних стабильных плагинов всё так же глючит на IM, но при этом восхитительно работает на NG. Так что лично для меня NG профит :)

raspopov, 2013/01/16 16:38

Это 100% чужие баги - плагин твиттера и менюэкс не входят в проект Miranda IM.

И просто невозможно поддерживать все плагины Миранды в одиночку. Более того, если автор оригинального плагина что-то будет делать со своим плагином, то кто будет сливать изменения в репозитарий NG?! Ведь интерфейс плагина был сломан и просто положить его к NG и проверить уже не получится.

Alexey Solomin, 2013/01/16 16:42

Автор плагина для Твиттера теперь в команде, вроде как, а весь код в одном месте. MenuEx теперь лежит там же, и развивается дальше новой командой.

raspopov, 2013/01/16 16:47

Загляните на SVN и увидите, что это не так.

Alexey Solomin, 2013/01/03 20:58

Доброго времени суток! Подскажите пожалуйста: планируется ли появление данного плагина для Miranda NG?

raspopov, 2013/01/04 07:06

Нет. Плагины совместимы в принципе, но ghazan, автор форка Miranda NG, специально изменил интерфейс плагинов так, чтобы NG не загружала плагины от IM, не привнося никакой дополнительной функциональности. Похоже он хотел сам всё компилировать, не будем ему в этом мешать.

Только авторизованные участники могут оставлять комментарии.

© Николай Распопов