Как изменить рабочий процесс подписки на присутствие на сервере ejabberd?

Я что-то разрабатываю с сервером ejabberd. Пришла к необходимости изменить логику подписки. Я использую ejabberd-2.1.11

Мне нужно, как работает подписка, я хотел бы изменить логику, чтобы пользователи загружали свой реестр контактов с подпиской как автоматически, так и сразу же сохраняли в подписке rosterusers table-colum как B. Чтобы они могли иметь возможность видеть онлайн и в своих контактах хотя бы тогда, когда первый уже зарегистрировался на сервере. (надеюсь, это имеет для вас смысл и действительно)

Я очень новичок в архитектуре erlang и ejabberd, но я уже разработал некоторые базовые модули, мой вопрос к вам: можете ли вы помочь мне в этом отношении, насколько сложно внести это изменение и не могли бы вы дать мне несколько советов, где изменения будут


person Bran Gi    schedule 09.11.2012    source источник
comment
Я предполагаю, что работающий сервер ничего не будет знать о ваших прямых изменениях в базе данных, поэтому сервер выйдет из синхронизации и, возможно, будет иметь непредсказуемые результаты.   -  person Robin    schedule 09.11.2012
comment
Вы можете быть более конкретным? может быть, пример с userA и userB поможет   -  person user601836    schedule 12.11.2012
comment
Привет, @Bran - Удалось ли вам реализовать вышеупомянутую функцию? Есть несколько человек, которые ищут такую ​​функцию. Было бы действительно полезно, если бы вы могли поделиться своим опытом по этому поводу.   -  person PythonEnthusiast    schedule 18.02.2017


Ответы (1)


Я бы не стал модифицировать сервер, он соответствует стандартам и спецификации. Так что, если вам когда-нибудь понадобится перейти на другой сервер или обновить его, вы знаете, что это сработает. Для этого вы должны реализовать это поведение на клиенте, используя функции сервера. Если вы действительно уверены, что хотите изменить сервер, mod_roster.erl - это файл, который вы хотите просмотреть. Если вы используете внешнюю БД, вы также можете напрямую изменить БД, но изменения не будут отражены, пока клиенты не войдут в систему.

person Jorge Guntanis    schedule 18.09.2013