Author Topic: Работа с ростером  (Read 7942 times)

0 Members and 1 Guest are viewing this topic.

Offline ahorn

  • Newbie
  • *
  • Posts: 1
Работа с ростером
« on: 18 04 2015, 16:27:20 »
Здравствуйте!
Завожу на предприятии ejabberd + Miranga-ng. SSO-авторизация, создание ростера на основе структуры LDAP - работает прекрасно, но есть несколько неудобств. Ростер создается и загружается лишь первый раз после создания профиля, а вновь создаваемых и удаляемых пользователей из AD не подтягивает с сервера. Приходится целиком удалять профиль пользователя. В качестве меньшей из зол хотелось бы вынести хранение ростера в отдельный файл из .dat-файла, чтобы можно было удалять его при выключении клиента, а при включении Миранда бы загружала с сервера обновленный список контактов.
Подскажите, как это можно реализовать.
 

Offline Magic

Re: Работа с ростером
« Reply #1 on: 20 04 2015, 06:30:29 »
Миранда нормально загружает и удаляет изменившиеся контакты, если сервер передает эту инфу.
Копайте в сторону сервера все-таки, с опенфайром данная схема работает без проблем.
Если ручки растут из попки - это ножки
 

Offline de1eted

  • Newbie
  • *
  • Posts: 7
Re: Работа с ростером
« Reply #2 on: 21 04 2015, 09:49:34 »
У меня OpenFire.
Контакты в ростер подгружает после синхронизации, либо можно в админке OF сбросить кэш.
Кушает группы и контакты. В настройках Jabbera стоит удалять контакты.
Все актуально кроме групп, так как они с сервака прилетают и становятся мирандными. И если группа на серваке исчезает, в миранде остается. Как победить пока не придумал.
 

Offline Magic

Re: Работа с ростером
« Reply #3 on: 21 04 2015, 10:08:43 »
У меня OpenFire.
Контакты в ростер подгружает после синхронизации, либо можно в админке OF сбросить кэш.
Кушает группы и контакты. В настройках Jabbera стоит удалять контакты.
Все актуально кроме групп, так как они с сервака прилетают и становятся мирандными. И если группа на серваке исчезает, в миранде остается. Как победить пока не придумал.
Поставить галочку "Скрывать пустые группы" - она просто не будет отображаться
Если ручки растут из попки - это ножки
 

Offline Davis

Re: Работа с ростером
« Reply #4 on: 28 07 2015, 09:00:56 »
0.95.4 + Openfire 3.10.1 + AD
Ростер общий - из домена.
Если я пользователя удаляю, то через некоторое время сервер синхронизируется и контакт исчезает из общего ростера на сервере, но в миранде он остается.
Ростер в миранде принудительно синхронизируется при старте вызовом WhenWasIt/Birthdays/RefreshDetails.
Эти удаленные контакты видны и через админку openfire, если зайти Users, выбрать пользователя  и  посмотреть его ростер.
Для проверки запускаю Spark, через 10 секунд удаленные исчезают и ростер клиента становится правильным, в том числе и если смотреть на него со стороны openfire.
Подскажите, пожалуйста, как добиться такого же от миранды?

UPD. перепроверил, похоже в Spark'е все то же самое. Т.е. сервер тут тоже участвует. И даже, наверное, главный виновник. Вопрос остался, но не к миранде.
« Last Edit: 28 07 2015, 09:21:45 by Davis »
 

Offline Magic

Re: Работа с ростером
« Reply #5 on: 28 07 2015, 10:46:14 »
скорее всего неверно настроены фильтры LDAP.
Удаление пользователя - это блокировка? или вы полностью стираете из AD?

P.S. WhenWasIt/Birthdays/RefreshDetails - это не синк ростера, он обновляет Vcard для контактов
« Last Edit: 28 07 2015, 10:57:11 by Magic »
Если ручки растут из попки - это ножки
 

Offline Davis

Re: Работа с ростером
« Reply #6 on: 31 07 2015, 11:11:43 »
Это  - удаление или полное переименование в AD, для опенфайра идентичны
Поисследовал вопрос - помогает очистка таблиц ofRoster и ofRosterGroups в openfire

P.S. я в курсе ,просто указал ,все что по моему разумению хоть как-то относится к теме
 

Offline Magic

Re: Работа с ростером
« Reply #7 on: 31 07 2015, 11:45:15 »
Это  - удаление или полное переименование в AD, для опенфайра идентичны
Поисследовал вопрос - помогает очистка таблиц ofRoster и ofRosterGroups в openfire

P.S. я в курсе ,просто указал ,все что по моему разумению хоть как-то относится к теме
оо, и у вас эта трабла с ofRoster :(
Я заметил ее, начиная с версии 3.9.2 и выше (сейчас сижу на 3.9.1)
С чем связана - непонятно, но через некоторое время работы, опенфайр записывает текущий ростер клиента в таблицу ofroster
Этот ростер имеет приоритет над ростером AD, в результате перемещения между отделами, удаления пользователей - не работают.
Очистка помогает временно, после следующей записи ростера в эту таблицу, все повторится.

Что это и почему происходит - пока не изучал, использую 3.9.1 опенфайр, там такого бага еще нет
Если ручки растут из попки - это ножки
 

Offline Davis

Re: Работа с ростером
« Reply #8 on: 01 08 2015, 14:28:38 »
Да, она.
Так-то не сложно даже руками после правок AD почистить эти таблицы. Даже на внутренней базе(плагин DB-что-то там), а вот когда перееду на mySQL, полагаю, это вообще можно будет легко автоматически делать раз в сутки, но потребовалсь куча времени для выяснения :)