ejabberd(LINUX) + Maranda IM(win) + Roster (sorry Russian only) & some worst in english.

Добры день.
Имею внутри конторской сети несколько linux серверов, на одном из них установлен ejabberd сервер, с примерно 100 пользователями. На рабочих машинах установлена в основной своей массе winXP Pro, соответственно и клиентская часть джабера - это win клиент Miranda IM. Есть подключенный на сервере модуль shared roster, который при регистрации пользователей загружает группы (отделы) в список контактов Miranda. В принципе ростером я могу управлять на сервере, добавлять\удалять группы и пользователей из\в них. Но если например пользователь был Иванов, потом уволился и стал Петров, как бы я в ростере не изголялся, на конечных клиентах остается Иванов, пока в самой миранде не вычистишь ростер или вообще dat файл не грохнешь, как будто за каждым компом где -то закрепляется особенный ID.
Собственно вопрос, нельзя ли как -то сделать так, чтобы ростер с нуля загружался при каждом подключении в серверу- клиентом, ну как это происходит в самый первый раз при регистрации?
Может, кто сталкивался с таким у себя в практике? согласитесь не очень удобно (да и не делаю я этого) бегать по компам (даже удаленно) и перелопачивать пользователя ростер в ручника.

Try ENG:
Please, how to configurate ejabberd server with shared roster module, to load every time when client connects to server, renew roster exectly like it's sorted @ server part (from web iface). Make delete roster from client part and change it to server sorted style.
I hope some one can understand me.

Здравствуйте, iron_head. Вы

Здравствуйте, iron_head.

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

Всё же попробую помочь Вам. Миранда - клиент, который получает с сервера ростер, то есть список джидов с опциональным указанием для каждого групп и отображаемого имени. И получает его она каждый раз при логоне. А вот что с ним делать - сервер ей не указ. Она сама решает, как ей отображать данные ростера, и данный конкретный клиент делает следующее: ищет в своей БД контакт, тип которого jabber и у которого соответствующий джид. Если не находит - создаёт новую запись, и вносит туда отображаемое имя, полученное вместе с ростером. Если же такой уже есть - она игнорирует отображаемое имя, полученное от сервера, и использует то, которое хранится в БД. (Это несколько упрощённое описание, но сойдёт).

Если Вы хотите управлять отображением на клиенте, Вам нужно либо пользоваться средствами, предоставляемыми клиентом администратору, либо менять клиент (в т.ч. путём переписывания опенсурсных клиентов под свои хотелки, благо миранда джипиэльная). Что касается уже имеющихся средств, то, к сожалению, сама Миранда предоставляет только механизм autoexec.ini, который Вас не устроит, поскольку не может менять контакты - только настройки клиента. С другой стороны, Вы могли бы воспользоваться средствами автоматизации ОС - скажем, поместить в автозагрузку скрипт, убивающий БД Миранды. Но вот только понравится ли пользователям каждый раз терять все настройки говорилки, не говоря уж об истории - это вопрос.

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

Quote:

бегать по компам (даже удаленно) и перелопачивать пользователя ростер в ручника

С наилучшими пожеланиями, Mike.

Благодарю mikekaganski за

Благодарю mikekaganski за очень развернутый ответ. Многое стало на свои места, но не могли бы вы уточнить что имеете ввиду под словами

mikekaganski wrote:

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

Quote:

бегать по компам (даже удаленно) и перелопачивать пользователя ростер в ручника

С наилучшими пожеланиями, Mike.

Если в данном случае речь идет о аккаунтах в AD, то это естественно уже есть, если о аккаунтах в jabber (JID) то они так же имеются.

Исходя из слов Quote: Но

Исходя из слов

Quote:

Но если например пользователь был Иванов, потом уволился и стал Петров, как бы я в ростере не изголялся, на конечных клиентах остается Иванов, пока в самой миранде не вычистишь ростер или вообще dat файл не грохнешь, как будто за каждым компом где -то закрепляется особенный ID

я заключаю, что у пользователя Сидоров в ростере есть контакт Иванов. Иванов уволился, появился Петров. Вы что-то меняете в общем ростере (вопрос - что?). Но в ростере Сидорова не появляется Петров, и остаётся Иванов.

Я предположил, что у Иванова был JID, который теперь перешёл к Петрову (например, JID - это имя компьютера, за которым они работают), и Вы просто меняете имя, закреплённое за этим JIDом. Только так я смог объяснить себе Ваше описание (кстати, обратите внимание на абсолютно неудовлетворительное качество описания проблемы, в результате чего отвечающий должен либо догадываться о сути происходящего, либо задавать наводящие вопросы - не проще ли изначально уважать собеседника и вместо "разговорного" языка постараться формально и чётко всё расписать?). Так вот, если я прав, то это - пример неправильного подхода к аккаунтам, поскольку у каждого пользователя должен быть свой JID, не зависящий от компьютера, на котором он сидит. Если же я не прав, то соответственно неверно моё замечание (которое, собственно, Вы цитируете), за тон которого я извиняюсь. В этом случае нужно смотреть, что у Вас настроено неправильно (поскольку тогда при правильной настройке всё должно работать как часы - например, я использую связку FreeBSD/ejabberd - Win/Miranda IM, и никогда не наблюдаю картину, которую Вы описываете).

Для дополнительного понимания происходящего рекомендую воспользоваться XML-консолью миранды и посмотреть, что именно отправляет/получает клиент, на котором ощущается проблема.

Теперь я понял, что Вы имели

Теперь я понял, что Вы имели ввиду под созданием аккаунта. А насчет того что вы писали по поводу моего изложения проблемы, чтож... сколько людей, столько мнений. Как мне показалось на момент написания того поста, основная часть проблемы была описана достаточно подробно, и ни кто не запрещает задавать дополнительные вопросы. Опять же, я не совсем знал на тот момент, что тут не в серверной части дело.

iron_head wrote: Если в

iron_head wrote:

Если в данном случае речь идет о аккаунтах в AD, то это естественно уже есть, если о аккаунтах в jabber (JID) то они так же имеются.

Почему бы тогда не настроить авторизацию в ejabberd через AD (LDAP) и не воспользоваться mod_shared_roster_ldap ?

Syndicate content