Cheers for all,

What do you think what could the best way for an entity "to know" it's
affiliation state after it has subscribed to a node?

Step 1: entity subscribes to a node:

<iq type='set'
    from='[email protected]/barracks'
    to='pubsub.shakespeare.lit'
    id='sub1'>
  <pubsub xmlns='http://jabber.org/protocol/pubsub'>
    <subscribe
        node='princely_musings'
        jid='[email protected]'/>
  </pubsub>
</iq>


Step 2: Service replies with success

<iq type='result'
    from='pubsub.shakespeare.lit'
    to='[email protected]/barracks'
    id='sub1'>
  <pubsub xmlns='http://jabber.org/protocol/pubsub'>
    <subscription
        node='princely_musings'
        jid='[email protected]'
        subscription='subscribed'/>
  </pubsub>
</iq>

In this point the entity does not yet know if it is a publisher, a
member, (or something else) in the node so it needs to retrieve it's
affiliation list
(http://xmpp.org/extensions/xep-0060.html#owner-affiliations-retrieve).
Same situation will happens with "Subscription Requests" with possible
Subscription approval notification.

Would it be completely silly idea to add the current affiliation state
of an entity to the success/event replies of above examples? Also what
is the reason to support "Retrieve Subscriptions" and "Retrieve
Affiliations" in separate stanzas?  Both must exists for an entity,
right? Would the workflow be more simply by adding the affiliation
state information to the "Retrieve Subscriptions" result set?

For example, Entity requests all current subscriptions

<iq type='get'
    from='[email protected]/barracks'
    to='pubsub.shakespeare.lit'
    id='subscriptions1'>
  <pubsub xmlns='http://jabber.org/protocol/pubsub'>
    <subscriptions/>
  </pubsub>
</iq>


Service returns all current subscriptions with affiliation state:

<iq type='result'
    from='pubsub.shakespeare.lit'
    to='[email protected]'
    id='subscriptions1'>
  <pubsub xmlns='http://jabber.org/protocol/pubsub'>
    <subscriptions>
      <subscription node='node1'
                           jid='[email protected]'
                           subscription='subscribed'
                           affiliation='publisher' />
    </subscriptions>
  </pubsub>
</iq>


Br,
--
Tuomas
xmpp:[email protected]

Reply via email to