2016-01-27 3 views
0

http://www.xmpp.org/extensions/xep-0060.html#impl-association определяет атрибут под названием itemreply, который позволяет добавлять информацию издателя вместе с публикуемым элементом. Не похоже, что ejabberd реализовал вышеупомянутый вариант. Есть ли другой способ обхода?ejabberd - Получить издателя JID в pubsub item

В соответствии с https://support.process-one.net/browse/EJAB-1347 есть доступный патч, который может выполнить его, но я не уверен, как применить патч. Ищите руководство по тому же.

Спасибо, Митхун

ответ

0

Успели изменить код для добавления информации издателя. Вот шаги, необходимые для этого.

1) Открыть файл SRC/mod_pubsub.erl

2) Найти следующую функцию

itemAttr(ItemId) -> [{<<"id">>, ItemId}]. 

3) Добавить новую функцию ниже указанной выше функции

itemAttr(ItemId, From) -> [{<<"id">>, ItemId},{<<"publisher">>, From}]. 

4) Затем найдите функцию с именем

broadcast_publish_item(Host, Node, Nidx, Type, NodeOptions, ItemId, From, Payload, Removed) -> 

5) Заменить

Stanza = event_stanza(
       [#xmlel{name = <<"items">>, attrs = nodeAttr(Node), 
         children = [#xmlel{name = <<"item">>, attrs = itemAttr(ItemId), 
           children = Content}]}]), 

с

Stanza = event_stanza(
       [#xmlel{name = <<"items">>, attrs = nodeAttr(Node), 
         children = [#xmlel{name = <<"item">>, attrs = itemAttr(ItemId, jlib:jid_to_string(From)), 
           children = Content}]}]), 

6) Перекомпилируйте код с помощью

sudo make; sudo make install; 

Перезагрузите сервер, и вы должны получить информацию об издателе вместе с товаром, который публикуется.

0

Патч слишком стар, чтобы применить как на ejabberd кода. Его нужно будет обновить до последней версии, но я не думаю, что это очень запрошенная функция.

Вы, вероятно, следует отправить запрос функции по проекту Github: https://github.com/processone/ejabberd/issues

+0

У меня есть требование, когда мне нужно реализовать MUC с использованием pubsub и, следовательно, необходимо, чтобы вышеупомянутая функция. Я отправлю запрос функции. Надеясь, что он будет реализован в следующем выпуске. –

Смежные вопросы