Miranda NG Official Community Forum

Miranda NG русскоязычный форум => Общие разговоры о Miranda NG => Topic started by: Vladskiy on 10 07 2019, 08:30:50

Title: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 10 07 2019, 08:30:50
Подскажите пожалуйста, как решить данную проблему...
Есть Opnefire + Miranda NG с доменной авторизацией пользователей.
Настроил, что бы при наведение на пользователя в подсказках высвечивался его номер телефона.
У пользователя сменился номер телефона, в AD его поменяли. Но спустя долгое время в подсказках все равно телефон старый выскакивает. 
Обнаружил что он храниться в файле %appdata%\roaming\Miranda\jabber\jabber.dat 
При изменение его в том файле и перезапуске миранды номер телефона меняется. 
Вопрос... как новый номер телефона подтянуть с AD в jabber.dat??? 
 
Вариант зайти в миранде в информацию о пользователе что бы подтянулся телефон - не самый лучший. 
Более сотни пользователей это не объяснить и телефоны периодически меняются.
Хотелось бы как то автоматизировать это, что хотя бы при запуске миранды запрашивалась свежая информация.

PS: Miranda NG v0.95.5 build 17337
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 11 07 2019, 13:24:10
Vladskiy,
мы обсуждали это неоднократно с админами других корпоративных openfire.

проблема в том, что этот сервер не может присылать хэш своего вкарда в презенсах, т.о., другие клиенты лишены возможности автоматически перечитывать чужой вкард в случае его изменения.  свой собственный вкард миранда насильно запрашивает при старте, но другим отправить инфу об обновлении не может. насколько я понимаю, в ejabberd такая же ситуация
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 12 07 2019, 05:51:00
ghazan,
Обсуждения я видел, но каких то решений не нашел.

Описанный в этом топике плагин для openfire тоже не смог найти
https://forum.miranda-ng.org/index.php?topic=2149.0
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 12 07 2019, 14:47:57
Vladskiy,
собственно, проблема в том, что по соображениям безопасности сервер обязан выкидывать из презенса все незнакомые конструкции. на самом деле. если задача стоит обеспечить совместимость только между мирандами, то такое можно сделать в принципе, но остальные клиенты так и не будут работать
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 15 07 2019, 11:16:31
ghazan,
с учетом того, что на работе только миранда, то как это можно сделать?
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 15 07 2019, 16:07:19
Vladskiy,
я выкатил ночник, где приляпан определенный костыль
вроде бы этот костыль работает, в т.ч. на OpenFire, можно тестить

т.е. схема такая:
- раз в сутки каждый юзер принудительно стаскивает с сервера свой личный вкард
- если хэш вкарда меняется, то всем в ростер рассылается презенс с новым хэшем всего вкарда (а не только фотографии)
- получив новый хэш, все перечитывают его вкард, парсят и укладывают себе в профиль
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 16 07 2019, 06:37:57
ghazan,
это конечно круто... но...
В последней версии исчезли подсказки.
То есть если раньше я наводил на пользователя и у меня выводились в подсказках его телефон и почта, то сейчас в принципе нед подсказок в настройках.
и что бы посмотреть эти данные все равно надо лезть в инфо пользователя, что автоматом ведет обновление jabber.dat
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 16 07 2019, 09:40:08
Vladskiy,
не подтверждаю, забил себе два мыла, они оба аккуратно вписались в профиль и видны в типпере.
давай смотреть, что залилось в базу: на контакте rclick - открыть контакт в редакторе базы - модуль JABBER_1 - скриншот
настройки типпера - поле email - скриншот

PS: а если включить экстра-иконку почты, она заработает?
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 16 07 2019, 10:45:36
прикладываю как выглядят настройки старой и новой версии
в новой (0.95.11 alpha build #21992) в тонкой настройке у меня вообще отсутствуют подсказки
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 16 07 2019, 11:21:30
а плагин Tipper наличествует в Options - Plugins? или остался от старой версии, и за это забанен?
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 16 07 2019, 11:32:27
данный плагин отсутствует.
PS: все компьютеры на которых используется миранда не имеют выхода в интернет, поэтому как понимаю скачать этот плагин через pluginupdater не представляется возможным
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: dartraiden on 16 07 2019, 11:35:47
Поскольку для подсказок всегда был нужен Tipper, то логично предположить, что он у вас стоял, а затем каким-то образом удалился. Не стало Tipper - пропали и подсказки.
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 16 07 2019, 11:48:16
данный плагин отсутствует.
в старой версии он присутствовал, судя по наличию его настроек в общем диалоге, но потом куда-то исчез.
соответственно без этого плагина счастья не будет.
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 16 07 2019, 11:49:34
из-за работы немного неверную информацию дал.
в настройка- плагины - он отсутствует
в папке плагинов Tipper.dll есть
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 16 07 2019, 12:09:06
Vladskiy,
я как раз об этом. там лежит типпер от стабильной версии, он под транком работать 100% не будет, нужен типпер от транка
вероятно, вы забыли его подсунуть, раз доступа в интернет у Plugin Updater нету.
плагин можно скачать тут - https://wiki.miranda-ng.org/index.php?title=Plugin:Tipper/ru
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 16 07 2019, 12:19:38
ghazan,
спасибо. сразу об этом не подумал. скачал версию "в разработке" - в списке плагинов появился.
Сейчас сделаем изменения в AD и буду наблюдать.
Отпишусь по итогу
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 17 07 2019, 06:18:49
ghazan,
давай смотреть, что залилось в базу: на контакте rclick - открыть контакт в редакторе базы - модуль JABBER_1 - скриншот
в AD информация обновилась
в редакторе базы пока старый телефон.... жду дальше
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 17 07 2019, 14:58:10
Спустя сутки данные так и не подтянулись
Хотя в AD они есть.
Может плагин какой надо еще включить?
Настройки пользователя jabber_1 прикладываю.
некоторые данные скрыл
PS: на 10:40 утра ситуация аналогичная. данные в jabber_1 не подтянулись
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 22 07 2019, 14:36:25
Vladskiy,
на том конце провода старая Миранда, она и не будет уведомлять о каких-то изменениях
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 23 07 2019, 05:25:59
на том конце провода старая Миранда, она и не будет уведомлять о каких-то изменениях
Немного не понял... А причем тут старая миранда если данные OpenFire берет с AD (и редактируем их там)
То есть по идее моя новая миранда должна с него данные тянуть при изменениях данных пользователя, даже если миранда юзера, данные которого менялись, выключена. Или я чего то не понял?

То есть грубо говоря моя миранда при старте принудительно должна опрашивать свежее инфо о пользователях моего КЛ (из AD)
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 23 07 2019, 12:11:15
Vladskiy,
Немного не понял... А причем тут старая миранда если данные OpenFire берет с AD (и редактируем их там)
при том, что костыль с хэшированием вкарда исполняет (вследствие тупости протокола XMPP) сама Миранда. т.е. одна миранда скачивает по утрам вкард с сервера и проверяет его хэш, а в случае изменения залепляет всем презенс с обновленным хэш вкарда, а остальные миранды обучены присматривать за этим костылем и перечитывать вкард пользователя, если в презенсе прилетает этот самый обновленный хэш.

т.о. обновленная миранда нужна на обоих концах провода, иначе чуда не будет
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 23 07 2019, 13:51:21
при том, что костыль с хэшированием вкарда исполняет (вследствие тупости протокола XMPP) сама Миранда. т.е. одна миранда скачивает по утрам вкард с сервера и проверяет его хэш, а в случае изменения залепляет всем презенс с обновленным хэш вкарда, а остальные миранды обучены присматривать за этим костылем и перечитывать вкард пользователя, если в презенсе прилетает этот самый обновленный хэш.

т.о. обновленная миранда нужна на обоих концах провода, иначе чуда не будет

Хорошо... а будет ли этот костыль работать при следующей ситуации...
Произошли изменеия вкард. одна миранда поверила хэш и залепляет всем презенс с обновленным хэш вкарда.
Но на момент "залепления" половина пользователей отсутствовали в сети - отпуск или выходной.
Как у них пройдет обновление презенса?

Может сделать костыль каждая миранда по утрам скачивает вкард с сервера?
В принципе когда внедрял - особой нагрузки на сервак не замечено было при первом запуске миранды у всех. тем более ее не все одновременно запускают.
Можно сделать паузу между скачиваниями вкард
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 23 07 2019, 18:10:29
Хорошо... а будет ли этот костыль работать при следующей ситуации...
Произошли изменеия вкард. одна миранда поверила хэш и залепляет всем презенс с обновленным хэш вкарда.
Но на момент "залепления" половина пользователей отсутствовали в сети - отпуск или выходной.
Как у них пройдет обновление презенса?
Сервер фиксирует последний презенс, который юзер разослал от своего имени, поэтому когда другой юзер входит, на него валятся все презенсы от сессий, которые у сервера значатся в онлайне, соотв. все презенсы долетят.

Может сделать костыль каждая миранда по утрам скачивает вкард с сервера?
Так и сделано, но Миранда скачивает только свой вкард раз в сутки, а не вкарды всего ростера, что создавало бы реально недетскую нагрузку
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 26 07 2019, 05:41:37
Поставил одному пользователю новую версию (как и у меня).
Изменил у него в AD e-mail
За вчерашний день и сегодняшнее утро у меня обновление по его e-mail не произошло
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 26 07 2019, 08:48:10
Vladskiy,
тогда надо внимательно смотреть на нетворк лог:
- то, как он скачивает свой собственный вкард раз в сутки
- какой презенс он рассылает при этом, внутри презенса надо смотреть <x xmlns="vcard-temp:x:update" vcard="xxxxxxx"/>
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 29 07 2019, 08:44:30
тогда надо внимательно смотреть на нетворк лог:
а где его можно посмотреть?
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Apollo2k4 on 29 07 2019, 08:46:03
Vladskiy, Настройки - Сеть - Журнал... - Далее в списке выбрать Ядро и джаббер и куда сохранить.
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: dartraiden on 29 07 2019, 08:49:42
https://wiki.miranda-ng.org/index.php?title=Network_log/ru
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 31 07 2019, 06:28:02
Vladskiy,
тогда надо внимательно смотреть на нетворк лог:
- то, как он скачивает свой собственный вкард раз в сутки
- какой презенс он рассылает при этом, внутри презенса надо смотреть <x xmlns="vcard-temp:x:update" vcard="xxxxxxx"/>

Итак. полтора дня записи netlog...
поиск текста <x xmlns="vcard-temp:x:update" vcard= - ничего не дал
из похожего обнаружено только <x xmlns="vcard-temp:x:update"><photo/></x>
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 31 07 2019, 19:16:46
поиск текста <x xmlns="vcard-temp:x:update" vcard= - ничего не дал
из похожего обнаружено только <x xmlns="vcard-temp:x:update"><photo/></x>
это презенсы от старых миранд. а новая миранда, кстати, при входе нормально презенс кидает?
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 01 08 2019, 06:06:17
Вот что у меня в логе по тому пользователю при его включении

Отправитель - миранда у которой поменялись данные
Получатель - моя миранда

<presence type="unavailable" from="Отправитель/HOST" to="Получатель"/>
===IN: 150(15) bytes
[8:50:10 1490] [JABBER_1] recvResult = 150
[8:50:10 1490] [JABBER_1] JabberUpdateMirVer: for jid Отправитель@SERVER
[8:50:10 1490] [JABBER_1] bytesParsed = 150
[8:50:13 1490] [JABBER_1] Inflate: Z_OK
[8:50:13 1490] [JABBER_1] (ZLIB) Data received
<presence from="Отправитель/HOST" to="Получатель"><priority>0</priority><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://miranda-ng.org/caps" ver="RtmHllqJ50mNNk6y16YBdixFZD4=" ext="x86 mood activity mir_notes"></c><x xmlns="vcard-temp:x:update"><photo/></x><status>Да, я здесь.</status></presence>
===IN: 406(15) bytes
[8:50:13 1490] [JABBER_1] recvResult = 406
[8:50:13 1490] [JABBER_1] JabberUpdateJidDbSettings: updating jid Отправитель to rc HOST
[8:50:13 1490] [JABBER_1] JabberUpdateMirVer: for rc HOST: http://miranda-ng.org/caps#RtmHllqJ50mNNk6y16YBdixFZD4=
[8:50:13 1490] [JABBER_1] Отправитель online, set contact status to В сети
[8:50:13 1490] [JABBER_1] Avatar enabled
[8:50:13 1490] [JABBER_1] bytesParsed = 406
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 02 08 2019, 15:50:55
Vladskiy,
в понедельник выйдет на работу админ Openfire, мы с ним попробуем
уточните, пожалуйста, версию вашего сервера + плагины, если они есть
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 05 08 2019, 05:48:00
Openfire 4.3.2
Плагины Search и SASL Mechanisms
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Davis on 05 08 2019, 09:06:12
Я слегка поздно, но вдруг интересно. У меня изначальная задача решается таким действиями в автостарте:
1. Обновление собственного VCard - удалить LastLoggedServer в JABBER_1
2. Удалить собственный логин инфо(вдруг переименовали учетку в AD) - удалить jid и LoginName
3. Обновить все Vcard - запустить службу WhenWasIt/Birthdays/RefreshDetails

Все прекрасно, если б еще скрыть попап "обновляю дни рождения", то вааще
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Magic on 06 08 2019, 14:48:59
Я слегка поздно, но вдруг интересно. У меня изначальная задача решается таким действиями в автостарте:
1. Обновление собственного VCard - удалить LastLoggedServer в JABBER_1
2. Удалить собственный логин инфо(вдруг переименовали учетку в AD) - удалить jid и LoginName
3. Обновить все Vcard - запустить службу WhenWasIt/Birthdays/RefreshDetails

Все прекрасно, если б еще скрыть попап "обновляю дни рождения", то вааще
Выделенное жирным - на >1000 юзеров, когда каждый у каждого в ростере это ужас, дает большую нагрузку и долго работает
Тоже пользовался данным решением, но потом вырубил.
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Davis on 06 08 2019, 15:21:33
Дык это костыль, ясно дело, для 100-200 работает
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: max on 11 08 2019, 15:51:52
Добрый день! Так этот прикрученный костыль стабильно заработал?
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 12 08 2019, 05:37:12
увы. у меня пока никак не заработал :-(
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 13 08 2019, 06:47:44
Я слегка поздно, но вдруг интересно. У меня изначальная задача решается таким действиями в автостарте:
1. Обновление собственного VCard - удалить LastLoggedServer в JABBER_1
2. Удалить собственный логин инфо(вдруг переименовали учетку в AD) - удалить jid и LoginName
3. Обновить все Vcard - запустить службу WhenWasIt/Birthdays/RefreshDetails

Все прекрасно, если б еще скрыть попап "обновляю дни рождения", то вааще
А можно поподробнее, как это сделать?

для моих 80 пользователей будет вполне сносным решением
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Davis on 13 08 2019, 07:38:19
На форуме все есть, но повторю:
P.S. WhenWasIt - это плагин Birthday Remainder, надо его поставить
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 20 08 2019, 06:55:24
ghazan, есть какие нибудь новости?
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 20 08 2019, 15:27:49
Magic,
у тебя же всё работает, да?
можешь обозначить версию своего сервера?
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Magic on 20 08 2019, 15:52:27
Работает, сегодня проверял
Сервер 4.0.2
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 22 08 2019, 15:23:31
Долгими мучениями и изучением настроек и логов, а так же благодаря помощи ghazan все заработало!
Спасибо ему огромное за помощь!!

PS: завтра отпишусь что и как. работает в последнем релизе
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Vladskiy on 23 08 2019, 05:52:04
Итак, что бы все нормально в новом релизе необходимо настроить:
1) сеть - протокол
домен/ресурс указываем вида OpenFireServer.My.Domain.RU
убираем галочку "указать хост для подключения"

2) список контактов - контакты. "Фамилия Имя" поднимаем на самый верх

3) перезапускаем миранду

4) заходим в базу данных в свои настройки, раздел "JABBER_1" и проверяем наличие
а) LastGetVCard
б) VCardHash


Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Davis on 28 08 2019, 09:59:53
1. Начиная с какой версии миранды работает?
2. По приведенному списку сделанного я так и не понял - какие настройки надо сделать именно для новой фичи. Никаких?
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Apollo2k4 on 28 08 2019, 10:02:07
Davis, пока что только на ночных версиях.
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Davis on 28 08 2019, 10:04:40
Apollo2k4, это то, что имеется в виду под "Версия в разработке" в обновлении плагинов?
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Apollo2k4 on 28 08 2019, 10:07:25
Davis, да, именно оно.
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Davis on 28 08 2019, 10:10:36
Apollo2k4, дык там же все равно версия есть, правда же? :) Вот и интересно, с какой версии эта фича появилась?
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Apollo2k4 on 28 08 2019, 10:12:57
Davis, в той которая на релизе будет 0.95.11
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 28 08 2019, 11:38:52
Apollo2k4,
не совсем так, вследствие незначительности изменений они были портированы и в стаблю, сейчас в этом отношении они одинаковы
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Davis on 28 08 2019, 14:03:33
ghazan, вот тут:
Quote
раз в сутки каждый юзер принудительно стаскивает с сервера свой личный вкард
1. Это типа по крону?
2. Можно ли сделать, чтобы это происходило: при запуске И раз в сутки в любом случае?
3. Если я удалю LastLoggedServer, то при следующем старте миранда считает свой вкард, новая фишка сработает при этом?
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 28 08 2019, 14:27:20
1. это типа по переменной Settings / Jabber_1 / LastGetVCard. если ее нет или разница с текущим временем больше суток, идет запрос на чтение вкард

2. не при каждом запуске. при первом запуске за сутки

3. нет, надо стирать LastGetVCard, это форсирует перезапрос
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Davis on 28 08 2019, 14:38:16
ага, с запуском ясно, а вот если комп все время включен и миранда все время запущена?
Будет раз в сутки опрашивать?
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: ghazan on 28 08 2019, 14:39:22
ага, с запуском ясно, а вот если комп все время включен и миранда все время запущена?
Будет раз в сутки опрашивать?
вроде нет, только при запуске
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Davis on 28 08 2019, 14:48:01
Я думаю стОит подумать о каком-то шедулере... Ну чтобы уж все красиво
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: dartraiden on 28 08 2019, 22:17:51
https://github.com/miranda-ng/miranda-ng/issues/2039
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: dartraiden on 29 01 2020, 18:35:19
Готово (https://github.com/miranda-ng/miranda-ng/commit/ca553c73ad639dbcbc2b470ec3d8f3a6473b3d53).
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Davis on 30 01 2020, 16:51:13
Отлично!!! :THUMBS UP:
Title: Re: автоматическое подтягивание свежей информации из AD
Post by: Davis on 27 05 2020, 07:03:55
Проверил на свежей альфа миранде в боевом домене - работает! Спасибо!