10 Replies Latest reply on May 18, 2012 10:16 AM by terminal

    XEP-0248 Support?

    Bronze

      Is it intended for there to be explicit support in Openfire for XEP-0248?

       

      The reason I ask is that the publish events generated when adding a leaf node to a collection node are non-compliant.

       

      Here is an example of what Openfire sends:

       

      <message from="pubsub.example.com" to="pubsub_user@example.com" id="device_state__pubsub_user@example.com__YbA91">

          <event xmlns="http://jabber.org/protocol/pubsub#event">

              <items>

                  <item id="leaf_node"/>

              </items>

          </event>

      </message>

       

      According to section 11 of XEP-0248:  http://xmpp.org/extensions/xep-0248.html#notify

       

      I would expect that the message would look like:

       

      <message to='pubsub_user@example.com' from='pubsub.example.com'>
          <event xmlns='http://jabber.org/protocol/pubsub#event'>
              <items node='leaf_node'>
                  <item id='ae890ac52d0df67ed7cfdf51b644e901'>
                      ...
                  </item>
              </items>
          </event>
          <headers xmlns='http://jabber.org/protocol/shim'>
              <header name='Collection'>device_state</header>
          </headers>
      </message>

       

      The 'item id' in the above is copied directly from the XEP.  I obviously would expect the actual response to contain a real item id.

       

      Am I missing something?

        • Re: XEP-0248 Support?
          rcollier KeyContributor

          I am guessing here, but OpenFire supports an older version of the specification.  The collections spec wasn't split off on its own until the most recent version of XEP-0060 (pubsub), so it may simply be a version difference.

            • Re: XEP-0248 Support?
              Bronze

              You're most likely correct, although I'm unsure where to find previous versions of XEPs in order to verify that.

               

              Unfortunately, that means my application won't be compatible with Openfire until it does have XEP-0248 support since I'm not keen on implementing separate code paths for various XMPP servers.

                • Re: XEP-0248 Support?
                  rcollier KeyContributor

                  You may find problems with the XEP-0060 support as well when it comes to versioning, depending on what features you are exercising.  I am currently in the process of getting pubsub brought up to the 1.12 spec (XEP-0060), which would also include bringing the collection node parts inline with XEP-0248.  I can't comment on what version of OpenFire that will appear in though.

                    • Re: XEP-0248 Support?
                      Bronze

                      Great, I'll keep an eye out for that and be sure to run some tests whenever it's available.  I definitely would prefer that my code work with the broadest range of XMPP servers possible (especially open-source ones).

                        • Re: XEP-0248 Support?
                          rcollier KeyContributor

                          On that note, I believe ejabberd has specific node naming conventions that are not part of the spec that you may want to be aware of.  I believe it is more restrictive (as the spec doesn't really care how it is named).

                            • Re: XEP-0248 Support?
                              Bronze

                              You are absolutely correct in that, at least concerning 2.0.x (the currently-release version).  The forthcoming version has the option to either use their hierarchical node naming or a more traditional style that *should* be compatible with Openfire's (and Tigase's, for that matter).

                               


                              Thanks again.

                    • Re: XEP-0248 Support?
                      Stefano Bronze

                      Any news on support for XEP-0248 ?

                       

                      I am trying to associate a node to a collection node and I get:

                       

                       

                      <iq type="error" id="2o030-0" from="pubsub.me.local" to="test@me.local/LoSha">
                           <pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
                                <collection node="test">
                                     <associate node="latest"/>
                                </collection>
                           </pubsub>
                           <error code="400" type="modify">
                                <bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
                           </error>
                      </iq>
                      
                      

                       

                      :V

                        • Re: XEP-0248 Support?
                          Garrett Bronze

                          Stefano,

                          Try:

                           

                          <iq to='pubsub.*.com' type='set' xmlns='jabber:client' id='3457:sendIQ'>
                             <pubsub xmlns='http://jabber.org/protocol/pubsub'>
                                <create node='latest'/>
                                <configure>
                                   <x xmlns='jabber:x:data' type='submit'>
                                      <field var='FORM_TYPE' type='hidden'>
                                         <value>http://jabber.org/protocol/pubsub#node_config</value>
                                      </field>
                                      <field var='pubsub#collection'>
                                         <value>test</value>
                                      </field>
                                   </x>
                                 </configure>
                             </pubsub>
                          </iq>
                          
                          
                          
                        • Re: XEP-0248 Support?
                          terminal Bronze

                          Have you managed to associate a leaf with multiple collection nodes? Is it possible in Openfire xep 248?