zhuk09
24-07-2014, 12:29
Всем добрый день! Объясню задачу автоматизации. Есть 2 сервера openfire в разных xmpp доменах соединенные между собой. Пользователи и группы берутся из AD. Встала задача объединить 2 ростера, т.е чтобы пользователи 1-го xmpp домена вмдели пользователей 2-го xmpp домена. Сделать это можно либо в ручную в клиенте у каждого пользователя, либо через базу MySQL, таблицы ofRoster and ofRosterGroups https://community.igniterealtime.org/message/200961#200961.
Хотелось бы автоматизировать все это, т.е скрипт который
1.выбирает пользователей с их username определенных групп (CN) из AD в массив (или текстовый вид csv) в одном домене AD (xmpp - домене), потом тоже самое в другом домене AD (xmpp-домене).
2. далее алгоритм таков, в базе SQL в таблице ofRosterGroups одного домена А должны создаться строки с названием группы другого домена В по принципу, в домене А 30 пользователей, а в домене В в эту группу входит 7 пользователей, значит в домене А в базе SQL в таблице ofRosterGroups должно создаться 210 строк с названием группы домена В.
INSERT INTO `ofRosterGroups`(`rosterID`, `rank`, `groupName`) VALUES ([value-1],[value-2],[value-3])
3. далее в базе MySQL домена А в таблице ofRoster уже непосредственно создаем для каждого из 30 пользователей, пользователей домена В (7 пользователей) по тому же принципу 7*30=210.
INSERT INTO `ofRoster`(`rosterID`, `username`, `jid`, `sub`, `ask`, `recv`, `nick`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5],[value-6],[value-7])
4. Далее поочередно запустить скрипт в разных доменах и получить искомый результат.
Если что-то не понятно в моем объяснение, пишите, постараюсь подробно изложить данный вопрос!
Хотелось бы автоматизировать все это, т.е скрипт который
1.выбирает пользователей с их username определенных групп (CN) из AD в массив (или текстовый вид csv) в одном домене AD (xmpp - домене), потом тоже самое в другом домене AD (xmpp-домене).
2. далее алгоритм таков, в базе SQL в таблице ofRosterGroups одного домена А должны создаться строки с названием группы другого домена В по принципу, в домене А 30 пользователей, а в домене В в эту группу входит 7 пользователей, значит в домене А в базе SQL в таблице ofRosterGroups должно создаться 210 строк с названием группы домена В.
INSERT INTO `ofRosterGroups`(`rosterID`, `rank`, `groupName`) VALUES ([value-1],[value-2],[value-3])
3. далее в базе MySQL домена А в таблице ofRoster уже непосредственно создаем для каждого из 30 пользователей, пользователей домена В (7 пользователей) по тому же принципу 7*30=210.
INSERT INTO `ofRoster`(`rosterID`, `username`, `jid`, `sub`, `ask`, `recv`, `nick`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5],[value-6],[value-7])
4. Далее поочередно запустить скрипт в разных доменах и получить искомый результат.
Если что-то не понятно в моем объяснение, пишите, постараюсь подробно изложить данный вопрос!