Thanks Goffi,

Thanks! I agree: it is desirable to have a section in XEP-0060 that allows nodes to be discovered.

Am I right to assume that, in the context of XEP-0060 without XEP-0248, this is a single service disco#items request (to the pubsub service JID), that returns one result (possibly paginated/searchable)? If that is indeed true, then I think we should replace examples 9, 10, 11 and 12 (and corresponding texts) with just two examples that do 'only' that: this removes significant complexity. What is now 9, 10, 11 and 12 should go into XEP-0248.

As I explained in my previous email, I don't think that this is breaking backwards compatibility.

However, if Node Discovery is important, as you state (and I am certainly not arguing against that), then I think we need something extra. As I read section 5.2 of XEP-0060, Node Discovery functionality is not mandatory: it is a MUST only when the service implements a hierarchy of nodes. I don't think that we can have a hierarchy of nodes without Collection Nodes / XEP-0248, right? That means that it's not mandatory at all now. I think we should consider changing that.

Summarizing, the desired changes:
  1. Replace XEP-0248 Section 5.2 with much of the content that is now in XEP-0060 Section 5.2.
  2. Reduce XEP-0060 Section 5.2 to an example that does not include hierarchy / Collection Nodes.
  3. Add to XEP-0060 Section 5.2 that it must be possible to discover nodes (even if there's no hierarchy). I would like to add a MUST condition there, but given that this XEP is Stable, I don't know if we can. As this change adds a new requirement, it may cause pre-existing implementations to suddenly be no longer compliant. Is that "breaking backwards compatibility" as defined in XEP-0001?
What do you think?

Kind regards,

  Guus

On Thu, Sep 4, 2025 at 6:18 PM Goffi <goffi@goffi.org> wrote:
Le jeudi 4 septembre 2025, 15:52:25 heure d’été d’Europe centrale Guus der
Kinderen a écrit :
> Hello!
>
> Section 5.2 of XEP-0060 'Publish-Subscribe' describes how disco#items is
> used to discover nodes. Most of that section describes node discovery in
> node hierarchies and collection nodes.
>
> In version 1.12 of XEP-0060 text about collections was moved to XEP-0248
> 'PubSub Collection Nodes'. This specification contains a smaller paragraph
> on node discovery (which is also numbered 5.2).
>
> I would like to see the complexity of XEP-0060 be reduced. I believe that
> most, if not all of its section 5.2 should be moved to XEP-0248 and removed
> from XEP-0060.
>
> The suggested change should not affect backwards compatibility, as it
> doesn't result in a change of behavior: as far as I can see, the text only
> applies to hierarchies and collection nodes. The change therefore is
> permissible even considering XEP-0060 is Stable.
>
> Is there any objection to this? What would relevant Node Discovery content
> for XEP-0060 be (other than a reference to XEP-0248)?
>
> Kind regards,
>
>   Guus
>

Hi Guus,

While I agree that the reference to collections, root and leaf nodes should be
removed or moved away, node discovery is certainly useful in general use-case
and should be part of XEP-0060 IMO.

The mechanism itself is a usual disco#items query, the section mostly explain
how to interpret the result, so it doesn't really complexify the protocol.

Discovering nodes is useful (and used) to discovers things such as blogs,
XEP-0346 forms and other pubsub-based features.

Best,
Goffi_______________________________________________
Standards mailing list -- standards@xmpp.org
To unsubscribe send an email to standards-leave@xmpp.org