Re: [Standards] shared editing requirements

2007-08-16 Thread Joonas Govenius
On 8/17/07, Peter Saint-Andre <[EMAIL PROTECTED]> wrote:
> Here is my first attempt at summarizing the requirements for shared XML
> editing applications such as whiteboarding. The use of must and should
> is approximate. Not all of these requirements need to be addressed by a
> single specification. The requirements are not necessarily grouped by
> category. Further refinement will be necessary. This is a first pass.
>
> OK, here goes...
>
> 1. The underlying protocol is designed for synchronization of XML
> instances between entities that communicate via XMPP.
>
> 2. By "synchronization" is mean that all parties to a shared XML editing
> session must have the same representation of the XML object after all
> synchronization messages have been processed.
>
> 3. Ideally, it should be possible to use the protocol for multiple
> application types, e.g. SVG whiteboarding, XHTML document editing,
> collaborative data objects (XEP-0204).
>
> 4. There is no requirement to synchronize non-XML data.
>
> 5. It must be possible to synchronize XML object instances either
> between two entities or among more than two entities.
>
> 6. The protocol should not (unduly) limit the number of parties to a
> shared XML editing session.
>
> 7. It must be possible to use the protocol "directly" between two
> entities without assistance from intermediaries, either via an XMPP
> server (RFC 3920) or in serverless mode (XEP-0174).
>
> 8. It must be possible to use the protocol through a multi-user chat
> (XEP-0045) room.
>
> 9. It should be possible to use the protocol with a specialized
> synchronization component attached to an XMPP server.
>
> 10. Where possible, all edits should be commutative in order to minimize
> the need for locking of the XML object.
>
> 11. The protocol should be as lightweight as possible in order to
> minimize bandwidth consumption.
>
> 12. It must be possible to add new "nodes" (elements and attributes) to
> the XML object.
>
> 13. It must be possible to edit existing nodes.
>
> 14. It must be possible to remove existing nodes.
>
> 15. It should be possible to move a node from one location to another
> within the XML object.
>
> 16. It should be possible to re-use the XML object outside of a shared
> editing session (e.g., for offline editing in a different application,
> or for archiving).
>
> 17. It should be possible to specify the version of the protocol.
>
> 18. It should be possible to refer to outside resources (e.g., images
> hosted at websites) from within the protocol.
>
> 19. It should be possible to retrieve the current state of the XML
> object from a party to the shared editing session.
>
> 20. It should be possible to retrieve the history of edits to the XML
> object from a party to the shared editing session.
>
> 21. It must be possible to discover whether another entity can engage in
> a shared XML editing session.
>
> 22. It must be possible to discover which application types another
> entity can handle.
>
> 23. It must be possible to initiate, update, join, and terminate a
> shared XML editing session.
>
> 24. It must be possible to specify the roles of parties to a shared XML
> editing session.
>
> 25. It must be possible to uniquely identify each node in an XML object,
> both within the scope of a standalone shared XML editing session and if
> the edited object is shared with other appliclations or embedded in
> other objects.
>
> 26. It should be possible to validate synchronization messages against a
> defined schema for the application type in real time.
>
> 27. It must be possible to reject out-of-order synchronization messages.
>
> 28. It must be possible to specify the parent of any given node.
>
> 29. It should be possible to query an entity for the shared XML editing
> sessions to which it is a party.
>
> 30. It should be possible to query an entity for the XML objects it owns
> or knows about (which may be the result of a past editing session).
>
> 31. It should be possible to send the complete content of a node or only
> the difference between the last version of the node and the current version.
>
> 32. It should be possible to declare shared editing of the XML object to
> be complete (e.g., in preparation for archiving of the XML object or
> editing by another application).
>
> 33. It should be possible to declare shared editing of part of the XML
> object to be complete.
>
> 34. It should be possible to associate an XML object with other XML objects.
>
> 35. It should be possible to specify that all parties shall move their
> viewing context to a particular location in the XML data object.
>
> 36. It must be possible to represent human-readable text in a language
> and character set appropriate for a human user.
>
> 37. Certain applications may need to handle particular features of the
> XML syntax for that application type (e.g., layers in SVG or pages in
> XHTML); the protocol must not forbid such specialized semantics.
>
> 38. It should be possible to associate re

[Standards] shared editing requirements

2007-08-16 Thread Peter Saint-Andre
Here is my first attempt at summarizing the requirements for shared XML
editing applications such as whiteboarding. The use of must and should
is approximate. Not all of these requirements need to be addressed by a
single specification. The requirements are not necessarily grouped by
category. Further refinement will be necessary. This is a first pass.

OK, here goes...

1. The underlying protocol is designed for synchronization of XML
instances between entities that communicate via XMPP.

2. By "synchronization" is mean that all parties to a shared XML editing
session must have the same representation of the XML object after all
synchronization messages have been processed.

3. Ideally, it should be possible to use the protocol for multiple
application types, e.g. SVG whiteboarding, XHTML document editing,
collaborative data objects (XEP-0204).

4. There is no requirement to synchronize non-XML data.

5. It must be possible to synchronize XML object instances either
between two entities or among more than two entities.

6. The protocol should not (unduly) limit the number of parties to a
shared XML editing session.

7. It must be possible to use the protocol "directly" between two
entities without assistance from intermediaries, either via an XMPP
server (RFC 3920) or in serverless mode (XEP-0174).

8. It must be possible to use the protocol through a multi-user chat
(XEP-0045) room.

9. It should be possible to use the protocol with a specialized
synchronization component attached to an XMPP server.

10. Where possible, all edits should be commutative in order to minimize
the need for locking of the XML object.

11. The protocol should be as lightweight as possible in order to
minimize bandwidth consumption.

12. It must be possible to add new "nodes" (elements and attributes) to
the XML object.

13. It must be possible to edit existing nodes.

14. It must be possible to remove existing nodes.

15. It should be possible to move a node from one location to another
within the XML object.

16. It should be possible to re-use the XML object outside of a shared
editing session (e.g., for offline editing in a different application,
or for archiving).

17. It should be possible to specify the version of the protocol.

18. It should be possible to refer to outside resources (e.g., images
hosted at websites) from within the protocol.

19. It should be possible to retrieve the current state of the XML
object from a party to the shared editing session.

20. It should be possible to retrieve the history of edits to the XML
object from a party to the shared editing session.

21. It must be possible to discover whether another entity can engage in
a shared XML editing session.

22. It must be possible to discover which application types another
entity can handle.

23. It must be possible to initiate, update, join, and terminate a
shared XML editing session.

24. It must be possible to specify the roles of parties to a shared XML
editing session.

25. It must be possible to uniquely identify each node in an XML object,
both within the scope of a standalone shared XML editing session and if
the edited object is shared with other appliclations or embedded in
other objects.

26. It should be possible to validate synchronization messages against a
defined schema for the application type in real time.

27. It must be possible to reject out-of-order synchronization messages.

28. It must be possible to specify the parent of any given node.

29. It should be possible to query an entity for the shared XML editing
sessions to which it is a party.

30. It should be possible to query an entity for the XML objects it owns
or knows about (which may be the result of a past editing session).

31. It should be possible to send the complete content of a node or only
the difference between the last version of the node and the current version.

32. It should be possible to declare shared editing of the XML object to
be complete (e.g., in preparation for archiving of the XML object or
editing by another application).

33. It should be possible to declare shared editing of part of the XML
object to be complete.

34. It should be possible to associate an XML object with other XML objects.

35. It should be possible to specify that all parties shall move their
viewing context to a particular location in the XML data object.

36. It must be possible to represent human-readable text in a language
and character set appropriate for a human user.

37. Certain applications may need to handle particular features of the
XML syntax for that application type (e.g., layers in SVG or pages in
XHTML); the protocol must not forbid such specialized semantics.

38. It should be possible to associate relevant metadata with each node
in the XML object, which might include time of creation, identity of the
creator, time of last modification, and identity of last modifier.

39. It should be possible to log all synchronization messages and
associated metadata fo

Re: [Standards] whiteboarding and shared editing

2007-08-16 Thread Peter Saint-Andre
Bishop, Michael W. CONTR J9C880 wrote:
>> Requirements, requirements, requirements. Again, it would help for
>> someone to write a clear and comprehensive requirements doc.

OK I have re-read the three whiteboarding-related proposals:

http://www.xmpp.org/extensions/inbox/sxde.html
http://www.xmpp.org/extensions/inbox/whiteboard.html
http://www.xmpp.org/extensions/inbox/whiteboard2.html

As well as Mats's sync memo:

http://coccinella.im/memo/sync

And the collaborative data objects spec contributed by MITRE:

http://www.xmpp.org/extensions/xep-0204.html

I have also re-read some email messages sent both on-list and off-list
(e.g., some discussion that Ian Paterson, Joonas Govenius, and I had in
January about synchronization requirements).

So I hope that I can add helpfully to the requirements discussion. :)

I will send out another message in a new thread with a summary of the
requirements as I see them based on my reading.

>> It would also help for you to summarize the ways in which
> whiteboarding
>> is more than modifying an XML document. That would help us find common
>> ground and achieve consensus.
> 
> While I don't have a requirements doc, I can share the problems we tried
> to solve with our whiteboarding approach we recently submitted:
> 
> - The editing of shared XML documents.

As others have mentioned, this seems to be the basic synchronization
problem.

> - Logical ordering of said shared documents.

I'm not sure what exactly you mean by that. Do you mean that documents
need to be edited or presented in a specific order? Examples might be to
enable a workflow of collaborative data objects (XEP-0204) or a series
of XHTML documents in a presentation (think S5). To me this seems like
something that we'd build on top of the shared editing protocol in order
to bundle documents together.

> - Presentation. (Page changes and a future revision to support cursor
> position.)

I can see that communication of cursor position might be helpful in
certain contexts, but I think that this would be optional. It's kind of
like Chat State Notifications (XEP-0085) for shared editing, in a way,
since it provides information about the state of the participants, not
state about the data being exchanged in the stanza session itself (where
I use the term "stanza session" as an abstraction from chat session in
XMPP messaging, whiteboard, shared document, etc.).

> - Roles.  (Who can edit?  Who can only observe?)

I agree that this may be needed in larger groups, but it is probably not
needed in 1-to-1 mode or in small/informal MUC rooms.

> - Current state.  A user can join and get the current state.

Yes, this is common across several of the approaches.

> - History.  A user who got disconnected can rejoin and ask for the last
> X actions to occur.

This may be a subset of getting the current state.

>> If someone takes time and look into http://coccinella.im/memo/sync
> they will see that it is completely
>> generic and general. There is nothing specific to whiteboarding and it
> could be used in any context where
>> the basic assumptions are valid.
> 
> While reading some of the discussions on this topic in the list, I
> realized that our protocol shares some of the same characteristics.
> While it was designed specifically for whiteboarding using SVG as a
> medium, the protocol itself does not deal with SVG.  The manipulation of
> the SVG document can be applied to any XML in any namespace.  While it's
> been written as a whiteboard protocol, nothing forces it to be one.  It
> would work as-is as a shared XML document protocol with permissions,
> history, current state, and presentation.

Very interesting. We seem then to be converging on consensus about what
should be possible here. That is, it should be possible to develop an
approach to shared XML editing that enables us to edit different XML
formats, such as SVG, XHTML, and collaborative data objects (XEP-0204).

> Peter wrote:
>> Greg Hudson wrote:
 On Mon, 2007-08-13 at 22:30 -0600, Peter Saint-Andre wrote:
>> I see nothing artificial about trying to build a generalized 
>> approach that we can re-use for shared editing and real-time 
>> synchronization of a wide variety of XML formats, not just SVG.
 I don't know if it's "artificial" or not, but "you should go back 
 and solve a much more general and more vaguely defined problem" is 
 generally a good way to kill a project.

 A generic XML editor isn't going to know much about the semantics 
 of the document it is editing.  It's not necessarily going to be a 
 good framework for a whiteboarding application, any more than emacs
> 
 is a good foundation for Photoshop.  They both edit files, but...
>> I don't think anyone is arguing for a general *application* that would
> 
>> do shared XML editing that would do whiteboarding, spreadsheets, word 
>> processing, presentations, and everything else under the sun. But it 
>> seems wasteful for us to define separat

Re: [Standards] whiteboarding and shared editing

2007-08-16 Thread Peter Saint-Andre
Joonas Govenius wrote:
> On 8/16/07, Bishop, Michael W. CONTR J9C880 <[EMAIL PROTECTED]> wrote:
>>> Right. Probably the biggest difference between the two proposed
>> approaches is the reliance on server-side
>>> support.
>>> http://www.xmpp.org/extensions/inbox/whiteboard2.html requires
>> server-side support while sxde tries to
>>> allow sessions 1-to-1 and in MUC rooms and includes the possibility of
>> specific server-side support merely
>>> as an optional enchancement to lessen some of the requirements on the
>> clients.
>>
>> Just to clarify, server-side support is needed for MUC rooms only; not
>> for 1-to-1 sessions.
> 
> Oh. Do you have any documentation or description of how the documents
> are kept identical in 1-to-1 sessions without the server as an
> arbitrator?

Yes, that would be helpful. As far as I can see, we would like the
standardized protocol to support 1-to-1 mode without any intermediary.
For example, this would be useful when running a whiteboarding session
over a link-local connection (XEP-0174), or in situations where a MUC
service or dedicated whiteboarding component is not available or not
trusted to relay the relevant stanzas.

Thanks!

Peter




smime.p7s
Description: S/MIME Cryptographic Signature


[Standards] UPDATED: XEP-0136 (Message Archiving)

2007-08-16 Thread XMPP Extensions Editor
Version 0.14 of XEP-0136 (Message Archiving) has been released.

Abstract: This document defines mechanisms and preferences for the archiving 
and retrieval of XMPP messages.

Changelog: Clarified text regarding preference syntax; completed copy edit. 
(psa)

Diff: 
http://svn.xmpp.org:18080/browse/XMPP/trunk/extensions/xep-0136.xml?r1=316&r2=1164

URL: http://www.xmpp.org/extensions/xep-0136.html



Re: [Standards] whiteboarding and shared editing

2007-08-16 Thread Joonas Govenius
On 8/16/07, Bishop, Michael W. CONTR J9C880 <[EMAIL PROTECTED]> wrote:
> > Right. Probably the biggest difference between the two proposed
> approaches is the reliance on server-side
> > support.
> > http://www.xmpp.org/extensions/inbox/whiteboard2.html requires
> server-side support while sxde tries to
> > allow sessions 1-to-1 and in MUC rooms and includes the possibility of
> specific server-side support merely
> > as an optional enchancement to lessen some of the requirements on the
> clients.
>
> Just to clarify, server-side support is needed for MUC rooms only; not
> for 1-to-1 sessions.

Oh. Do you have any documentation or description of how the documents
are kept identical in 1-to-1 sessions without the server as an
arbitrator?


Re: [Standards] whiteboarding and shared editing

2007-08-16 Thread Bishop, Michael W. CONTR J9C880
> Right. Probably the biggest difference between the two proposed
approaches is the reliance on server-side
> support.
> http://www.xmpp.org/extensions/inbox/whiteboard2.html requires
server-side support while sxde tries to
> allow sessions 1-to-1 and in MUC rooms and includes the possibility of
specific server-side support merely
> as an optional enchancement to lessen some of the requirements on the
clients.

Just to clarify, server-side support is needed for MUC rooms only; not
for 1-to-1 sessions.

Michael Bishop

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Joonas Govenius
Sent: Thursday, August 16, 2007 1:45 PM
To: XMPP Extension Discussion List
Subject: Re: [Standards] whiteboarding and shared editing

On 8/16/07, Bishop, Michael W. CONTR J9C880
<[EMAIL PROTECTED]> wrote:
> While reading some of the discussions on this topic in the list, I 
> realized that our protocol shares some of the same characteristics.
> While it was designed specifically for whiteboarding using SVG as a 
> medium, the protocol itself does not deal with SVG.  The manipulation 
> of the SVG document can be applied to any XML in any namespace.  While

> it's been written as a whiteboard protocol, nothing forces it to be 
> one.  It would work as-is as a shared XML document protocol with 
> permissions, history, current state, and presentation.

Right. Probably the biggest difference between the two proposed
approaches is the reliance on server-side support.
http://www.xmpp.org/extensions/inbox/whiteboard2.html requires
server-side support while sxde tries to allow sessions 1-to-1 and in MUC
rooms and includes the possibility of specific server-side support
merely as an optional enchancement to lessen some of the requirements on
the clients.


Re: [Standards] whiteboarding and shared editing

2007-08-16 Thread Joonas Govenius
On 8/16/07, Bishop, Michael W. CONTR J9C880 <[EMAIL PROTECTED]> wrote:
> While reading some of the discussions on this topic in the list, I
> realized that our protocol shares some of the same characteristics.
> While it was designed specifically for whiteboarding using SVG as a
> medium, the protocol itself does not deal with SVG.  The manipulation of
> the SVG document can be applied to any XML in any namespace.  While it's
> been written as a whiteboard protocol, nothing forces it to be one.  It
> would work as-is as a shared XML document protocol with permissions,
> history, current state, and presentation.

Right. Probably the biggest difference between the two proposed
approaches is the reliance on server-side support.
http://www.xmpp.org/extensions/inbox/whiteboard2.html requires
server-side support while sxde tries to allow sessions 1-to-1 and in
MUC rooms and includes the possibility of specific server-side support
merely as an optional enchancement to lessen some of the requirements
on the clients.


Re: [Standards] whiteboarding and shared editing

2007-08-16 Thread Bishop, Michael W. CONTR J9C880
> Requirements, requirements, requirements. Again, it would help for
> someone to write a clear and comprehensive requirements doc.

> It would also help for you to summarize the ways in which
whiteboarding
> is more than modifying an XML document. That would help us find common
> ground and achieve consensus.

While I don't have a requirements doc, I can share the problems we tried
to solve with our whiteboarding approach we recently submitted:

- The editing of shared XML documents.
- Logical ordering of said shared documents.
- Presentation. (Page changes and a future revision to support cursor
position.)
- Roles.  (Who can edit?  Who can only observe?)
- Current state.  A user can join and get the current state.
- History.  A user who got disconnected can rejoin and ask for the last
X actions to occur.

> If someone takes time and look into http://coccinella.im/memo/sync
they will see that it is completely
> generic and general. There is nothing specific to whiteboarding and it
could be used in any context where
> the basic assumptions are valid.

While reading some of the discussions on this topic in the list, I
realized that our protocol shares some of the same characteristics.
While it was designed specifically for whiteboarding using SVG as a
medium, the protocol itself does not deal with SVG.  The manipulation of
the SVG document can be applied to any XML in any namespace.  While it's
been written as a whiteboard protocol, nothing forces it to be one.  It
would work as-is as a shared XML document protocol with permissions,
history, current state, and presentation.

Michael Bishop 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Mats Bengtsson
Sent: Thursday, August 16, 2007 2:54 AM
To: standards@xmpp.org
Subject: Re: [Standards] whiteboarding and shared editing


Peter wrote:
> Greg Hudson wrote:
>> > On Mon, 2007-08-13 at 22:30 -0600, Peter Saint-Andre wrote:
>>> >> I see nothing artificial about trying to build a generalized 
>>> >> approach that we can re-use for shared editing and real-time 
>>> >> synchronization of a wide variety of XML formats, not just SVG.
>> > 
>> > I don't know if it's "artificial" or not, but "you should go back 
>> > and solve a much more general and more vaguely defined problem" is 
>> > generally a good way to kill a project.
>> > 
>> > A generic XML editor isn't going to know much about the semantics 
>> > of the document it is editing.  It's not necessarily going to be a 
>> > good framework for a whiteboarding application, any more than emacs

>> > is a good foundation for Photoshop.  They both edit files, but...
> 
> I don't think anyone is arguing for a general *application* that would

> do shared XML editing that would do whiteboarding, spreadsheets, word 
> processing, presentations, and everything else under the sun. But it 
> seems wasteful for us to define separate XML editing/syncronization 
> protocols for each application type, unless there really are special 
> considerations that make it is impossible to use the same underlying 
> technology for each. Which is what we're talking about taking some 
> time to explore...
> 

If someone takes time and look into http://coccinella.im/memo/sync they
will see that it is completely generic and general. There is nothing
specific to whiteboarding and it could be used in any context where the
basic assumptions are valid.

However, the basic assumptions imply that we haven't dealt with editing
parts of CHDATA or parts of attributes, but elements are treated as
entities.

Mats


Re: [Standards] Removing PEP nodes?

2007-08-16 Thread Peter Saint-Andre
Peter Saint-Andre wrote:
> Ralph Meijer wrote:
>> On Thu, 2007-08-16 at 13:09 +0200, Magnus Henoch wrote:
>>> Peter Saint-Andre <[EMAIL PROTECTED]> writes:
>>>
 Andreas Monitzer wrote:
> On Jun 15, 2007, at 20:07, Peter Saint-Andre wrote:
>
>> Andreas Monitzer wrote:
>>> Hi,
>>> I'm currently implementing PEP into libpurple, and have some issue
>>> I can't quite find explained in the XEPs: How do I remove a
>>> personal event?
>> I think you would use the syntax defined in XEP-0060:
>>
>> http://www.xmpp.org/extensions/xep-0060.html#publisher-delete
> What should I supply as the item id? I don't have that value.
 Why not? You should have received it when the PEP service sent it to
 you (the account owner automatically receives a copy).
>>> The only reference to this that I can find is section 12.9 of
>>> XEP-0060, Auto-Subscribing Owners and Publishers, which says that the
>>> service MAY do so.  Did I miss some other place?  Is there anything
>>> PEP-specific that specifies this behaviour?
>> In both the current 1.0 (section 8) as well as the upcoming 1.1 version
>> of XEP-0163 [1], there is the mention of notifications to resources of
>> the node owner. The latter mentions that this is subject to filtered
>> notifications (section 10.2 of the upcoming 1.10 version of XEP-0060
>> [2]). It seems to me that what was meant is that your own account is
>> assumed to be in the group of entities that will receive notifications
>> when a resource sends the proper entity capabilities with +notify
>> suffixes.
> 
> Right. I'll check the working copies of XEP-0060 and XEP-0163 to make
> sure that this is clearer. The text should say that the service MUST
> send a notification to the account owner (subject to caps-based
> filtering etc.).

I've clarified that text here:

http://www.xmpp.org/extensions/tmp/xep-0060-1.10.html#auto-subscribe

http://svn.xmpp.org:18080/browse/XMPP/trunk/extensions/xep-0060.xml?r1=1152&r2=1162

Peter

-- 
Peter Saint-Andre
https://stpeter.im/



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] Experimental XEPs

2007-08-16 Thread Peter Saint-Andre
Dave Cridland wrote:
> On Wed Aug 15 22:57:23 2007, Peter Saint-Andre wrote:
>> Based on my experience in the IETF since 2002, I am not familiar with a
>> formal process for doing draft proposals there. You just publish an
>> Internet-Draft, others may propose similar or competing I-Ds, and you
>> hash it out on mailing lists and at in-person meetings. Hmm, that sounds
>> awfully familiar...
>>
>>
> There is a formal process, it's just very lightweight.
> 
> In order to publish an ID, you need to have the formatting correct and
> have the IPR boilerplate correct (and current). You also need to name
> your draft correctly, and a handful of other minor things.

That's essentially the approach we had for the first 2+ years of our
existence.

> In return, the IETF Secretariat then publish it for you for six months.
> In practice, it's longer than that, since the Tools Team publish the lot
> in perpetuity.
> 
> This is all very similar to the Inbox we have, although there's a
> general expectation that a document still undergoing serious work will
> remain an ID - it's only published as an RFC much later in the process,
> when it's generally believed to be finished. This is in part a
> reflection of the original paper-based publication method - once
> something's published, you can't change it if it's been sent out in the
> post. (Anyone wondering why they used to be paper needs to figure out
> what the IETF developed).
> 
> For our purposes, simply lessening the expectation that anything hitting
> the Inbox should immediately be published or killed would be sufficient.

Or simply publish-at-will, but lessen the expection that publication as
a XEP means much of anything. It's advancement to Draft that has meaning
(roughly equivalent to advancement of an I-D to RFC).

> I would personally recommend revisiting XEP-1's section 5. In
> particular, I'd suggest that the publication of something in the Inbox
> and the request to the Council should be distinct actions, and the
> latter should be handled by the document author, not the XMPP Extensions
> Editor. (Although they're often the same person...)
> 
> I suspect that this would reduce the number of published XEPs, leaving -
> hopefully - only those that we want to keep, and only that subset of
> them that are reasonably stable and complete.

Or give Draft and Final XEPs special prominence, and Experimental XEPs
less prominence. We used to do this via http://www.jabber.org/protocol/
(showing only approved specs).

> As for developing WG-like entities again, we could certainly look at
> that. There are advantages to this kind of behaviour - we limit the
> traffic on mailing lists somewhat - but it can also lead to
> fragmentation. 

In the past it has led to fragmentation and fewer eyes reviewing specs.

> It might be better to encourage initial design work to
> happen on alternate lists, but to move back onto the primary list for
> finalization, to gain a wider audience (in particular before it becomes
> a XEP). I think it needs thought. (Which could come from a SIG, of course).

We've tried that too, but it hasn't worked so well either.

Maybe we need to have more groupchat meetings in the design phase (wow,
what a concept, use our own technologies!) and then move things more to
the list once we've finished that brainstorming/design phase.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] Experimental XEPs

2007-08-16 Thread Peter Saint-Andre
Dave Cridland wrote:
> On Wed Aug 15 21:01:07 2007, Peter Saint-Andre wrote:
>> The XSF is a standards development organization. We're supposed to be
>> developing standards. If people want to publish the results of their
>> experiments on their own websites as input to the XSF's standards
>> development process, they are free to do so. But as far as I can see,
>> nothing in the XSF's mission or bylaws dictates that such experiments
>> deserve to be published by the XSF.
> 
> Actually I disagree. Not publishing (in some way, it doesn't have to be
> as a XEP) experiments and early-stage working documents, and in
> particular encouraging these to be privately published, does not
> encourage the kind of commonly-owned specification that can be developed
> into (or used as input for) a proper standard.
> 
> I suspect - without much justification, I'll admit - that the result of
> encouraging specifications to be worked on outside the XSF would lead to
> fragmentation and proprietary extensions (by which I mean the term in
> the sense of not held under common ownership).

Yes, that result is to be avoided.

> A good SDO, therefore, not only encourages open participation (as we and
> the IETF do), but also encourages open publication of proposals (as the
> IETF does with it's I-D documents, which represent a low barrier to
> entry, centralized, publication mechanism). We tend toward promoting a
> "do or die" approach to publishing XEPs, which leads to the bulk of a
> specification being developed outside the XSF, potentially encouraging
> multiple non-interoperable approaches to the same goal.

Well, it's odd. I used to be very liberal about publishing JEPs (before
they were XEPs). This was back when the JEP Editor (me) decided which
specs would get published, and the only hurdle was that the spec was
properly formatted. Look at lots of the early specs and you'll see that
many of them were little experiments that people did. Then folks wanted
to control the process more and we instituted the Council as a gating
function. If it were still up to me I'd argue for the liberal approach.

> This has demonstrably happened with the whiteboarding proposals, and
> it's obviously not in our interests - whether that's as a result of the
> XSF's processes is most certainly a matter for debate, but I feel the
> XSF's processes might be adjusted to try to reduce this.

Yes, I prefererd the old way. But then I'm pretty much of an anarchist
anyway. ;-)

> I believe the best mechanism for encouraging interoperable protocols
> through the XSF is to support their publication, even when the proposal
> has flaws that the Council require to be rectified. Hence my comments in
> another message about adjusting our processes to allow for a long-term
> use of the Inbox without forcing publication as a XEP.

Or just publish-at-will and take greater care about reviewing specs.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] Jingle: UDP relays

2007-08-16 Thread Peter Saint-Andre
Unnikrishnan V wrote:
>  what about thoughts for using :
> http://www.xmpp.org/extensions/xep-0128.html

XEP-0030 (augmented by XEP-0128) is for discovery of entities that can
communicate over an XMPP network. But many (most?) of the entities you
are talking about are not on the XMPP network (e.g., STUN, TURN, and
RSIP servers). Basically what you want is that your XMPP server will be
a "discovery proxy" to the wider world of services that do not
communicate via XMPP. So your XMPP server would do all the hard work of
discovering what services are offered in the world (via DNS SRV, DDDS,
NAPTR, etc.), and you could query your XMPP server about those non-XMPP
services. This could be done by querying a special node at your XMPP
server, where you would find a tree of non-XMPP services. Your XMPP
server could include XEP-0128 extensions in the data it returns for
those services. That seems like a reasonable approach. But as I said I'm
still researching SRV/DDDS/NAPTR etc. to see what kind of information
might be returned. I'll report more about that soon.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] Removing PEP nodes?

2007-08-16 Thread Peter Saint-Andre
Ralph Meijer wrote:
> On Thu, 2007-08-16 at 13:09 +0200, Magnus Henoch wrote:
>> Peter Saint-Andre <[EMAIL PROTECTED]> writes:
>>
>>> Andreas Monitzer wrote:
 On Jun 15, 2007, at 20:07, Peter Saint-Andre wrote:

> Andreas Monitzer wrote:
>> Hi,
>> I'm currently implementing PEP into libpurple, and have some issue
>> I can't quite find explained in the XEPs: How do I remove a
>> personal event?
> I think you would use the syntax defined in XEP-0060:
>
> http://www.xmpp.org/extensions/xep-0060.html#publisher-delete
 What should I supply as the item id? I don't have that value.
>>> Why not? You should have received it when the PEP service sent it to
>>> you (the account owner automatically receives a copy).
>> The only reference to this that I can find is section 12.9 of
>> XEP-0060, Auto-Subscribing Owners and Publishers, which says that the
>> service MAY do so.  Did I miss some other place?  Is there anything
>> PEP-specific that specifies this behaviour?
> 
> In both the current 1.0 (section 8) as well as the upcoming 1.1 version
> of XEP-0163 [1], there is the mention of notifications to resources of
> the node owner. The latter mentions that this is subject to filtered
> notifications (section 10.2 of the upcoming 1.10 version of XEP-0060
> [2]). It seems to me that what was meant is that your own account is
> assumed to be in the group of entities that will receive notifications
> when a resource sends the proper entity capabilities with +notify
> suffixes.

Right. I'll check the working copies of XEP-0060 and XEP-0163 to make
sure that this is clearer. The text should say that the service MUST
send a notification to the account owner (subject to caps-based
filtering etc.).

> Reading section 10 of XEP-0060 1.10pre5 again, I am wondering if the
> implementations working on PEP on the server side actually implemented
> it like this. As it is written now, I can have a node with identifier
> 'blah' that sends out notifications with geoloc payload. Clients sending
> the http://jabber.org/protocol/geoloc+notify feature would also receive
> these notifications. I am also wondering how clients would handle that.

Reports from the field would be appreciated. :)

> On item identifiers, they are optional in the publish request, and if
> not provided the server must generate an identifier when the node is
> persistent. If a publisher should send along an item identifier depends
> on how the node is supposed to be used.

Correct.

> We used to have an explicit 'current' item identifier for the different
> extended presence specs, but these seem to have been removed. I always
> assumed extended presence to have a more transient notion than one which
> may persist a history of changes (as each publish gets a unique id if
> you don't provide one). Peter, could you comment on this?

I don't think the "current" ItemID was ever meant to have special
meaning, it was just what pgmillard put into the examples. We removed
that so that people would no longer get confused.

> In general I think you should simply provide an identifier if you want
> to be able to retract them at a later point in time. I don't think we
> ever discussed how retraction works in the context of PEP.

Any use case not discussed in PEP is to be handled as defined in
XEP-0060. That applies to item retraction as well.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] Error in XEP-0100, Section 4.4.2?

2007-08-16 Thread Peter Saint-Andre
Daniel Henninger wrote:
> Hi folk!
> 
> Section 4.4.2, Alternate Flows (of 4.4 Login), example 30, shows the
> gateway informing the user of a failed login.  Section 9.3 Stanza Errors
> of RFC 3920 seems to indicate that  there MUST be a type="error" in that
> response.  Am I misunderstanding or is this just missing from the XEP at
> the moment?

That's a typo. I fixed this in SVN a few days ago:

http://svn.xmpp.org:18080/browse/XMPP/trunk/extensions/xep-0100.xml?r1=1136&r2=1151

Peter

-- 
Peter Saint-Andre
https://stpeter.im/



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] Removing PEP nodes?

2007-08-16 Thread Ralph Meijer
On Thu, 2007-08-16 at 13:09 +0200, Magnus Henoch wrote:
> Peter Saint-Andre <[EMAIL PROTECTED]> writes:
> 
> > Andreas Monitzer wrote:
> >> On Jun 15, 2007, at 20:07, Peter Saint-Andre wrote:
> >>
> >>> Andreas Monitzer wrote:
>  Hi,
>  I'm currently implementing PEP into libpurple, and have some issue
>  I can't quite find explained in the XEPs: How do I remove a
>  personal event?
> >>>
> >>> I think you would use the syntax defined in XEP-0060:
> >>>
> >>> http://www.xmpp.org/extensions/xep-0060.html#publisher-delete
> >>
> >> What should I supply as the item id? I don't have that value.
> >
> > Why not? You should have received it when the PEP service sent it to
> > you (the account owner automatically receives a copy).
> 
> The only reference to this that I can find is section 12.9 of
> XEP-0060, Auto-Subscribing Owners and Publishers, which says that the
> service MAY do so.  Did I miss some other place?  Is there anything
> PEP-specific that specifies this behaviour?

In both the current 1.0 (section 8) as well as the upcoming 1.1 version
of XEP-0163 [1], there is the mention of notifications to resources of
the node owner. The latter mentions that this is subject to filtered
notifications (section 10.2 of the upcoming 1.10 version of XEP-0060
[2]). It seems to me that what was meant is that your own account is
assumed to be in the group of entities that will receive notifications
when a resource sends the proper entity capabilities with +notify
suffixes.

Reading section 10 of XEP-0060 1.10pre5 again, I am wondering if the
implementations working on PEP on the server side actually implemented
it like this. As it is written now, I can have a node with identifier
'blah' that sends out notifications with geoloc payload. Clients sending
the http://jabber.org/protocol/geoloc+notify feature would also receive
these notifications. I am also wondering how clients would handle that.

On item identifiers, they are optional in the publish request, and if
not provided the server must generate an identifier when the node is
persistent. If a publisher should send along an item identifier depends
on how the node is supposed to be used.

We used to have an explicit 'current' item identifier for the different
extended presence specs, but these seem to have been removed. I always
assumed extended presence to have a more transient notion than one which
may persist a history of changes (as each publish gets a unique id if
you don't provide one). Peter, could you comment on this?

In general I think you should simply provide an identifier if you want
to be able to retract them at a later point in time. I don't think we
ever discussed how retraction works in the context of PEP.

[1] http://www.xmpp.org/extensions/tmp/xep-0163-1.1.html
[2] http://www.xmpp.org/extensions/tmp/xep-0060-1.10.html

-- 
Groetjes,

ralphm



[Standards] Error in XEP-0100, Section 4.4.2?

2007-08-16 Thread Daniel Henninger

Hi folk!

Section 4.4.2, Alternate Flows (of 4.4 Login), example 30, shows the  
gateway informing the user of a failed login.  Section 9.3 Stanza  
Errors of RFC 3920 seems to indicate that  there MUST be a  
type="error" in that response.  Am I misunderstanding or is this just  
missing from the XEP at the moment?


Daniel


Re: [Standards] Experimental XEPs (was: Re: whiteboarding and shared editing)

2007-08-16 Thread Dave Cridland

On Wed Aug 15 21:01:07 2007, Peter Saint-Andre wrote:
The XSF is a standards development organization. We're supposed to 
be

developing standards. If people want to publish the results of their
experiments on their own websites as input to the XSF's standards
development process, they are free to do so. But as far as I can 
see,
nothing in the XSF's mission or bylaws dictates that such 
experiments

deserve to be published by the XSF.


Actually I disagree. Not publishing (in some way, it doesn't have to 
be as a XEP) experiments and early-stage working documents, and in 
particular encouraging these to be privately published, does not 
encourage the kind of commonly-owned specification that can be 
developed into (or used as input for) a proper standard.


I suspect - without much justification, I'll admit - that the result 
of encouraging specifications to be worked on outside the XSF would 
lead to fragmentation and proprietary extensions (by which I mean the 
term in the sense of not held under common ownership).


A good SDO, therefore, not only encourages open participation (as we 
and the IETF do), but also encourages open publication of proposals 
(as the IETF does with it's I-D documents, which represent a low 
barrier to entry, centralized, publication mechanism). We tend toward 
promoting a "do or die" approach to publishing XEPs, which leads to 
the bulk of a specification being developed outside the XSF, 
potentially encouraging multiple non-interoperable approaches to the 
same goal.


This has demonstrably happened with the whiteboarding proposals, and 
it's obviously not in our interests - whether that's as a result of 
the XSF's processes is most certainly a matter for debate, but I feel 
the XSF's processes might be adjusted to try to reduce this.


I believe the best mechanism for encouraging interoperable protocols 
through the XSF is to support their publication, even when the 
proposal has flaws that the Council require to be rectified. Hence my 
comments in another message about adjusting our processes to allow 
for a long-term use of the Inbox without forcing publication as a XEP.


Dave.
--
Dave Cridland - mailto:[EMAIL PROTECTED] - xmpp:[EMAIL PROTECTED]
 - acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
 - http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade


Re: [Standards] Removing PEP nodes?

2007-08-16 Thread Magnus Henoch
Peter Saint-Andre <[EMAIL PROTECTED]> writes:

> Andreas Monitzer wrote:
>> On Jun 15, 2007, at 20:07, Peter Saint-Andre wrote:
>>
>>> Andreas Monitzer wrote:
 Hi,
 I'm currently implementing PEP into libpurple, and have some issue
 I can't quite find explained in the XEPs: How do I remove a
 personal event?
>>>
>>> I think you would use the syntax defined in XEP-0060:
>>>
>>> http://www.xmpp.org/extensions/xep-0060.html#publisher-delete
>>
>> What should I supply as the item id? I don't have that value.
>
> Why not? You should have received it when the PEP service sent it to
> you (the account owner automatically receives a copy).

The only reference to this that I can find is section 12.9 of
XEP-0060, Auto-Subscribing Owners and Publishers, which says that the
service MAY do so.  Did I miss some other place?  Is there anything
PEP-specific that specifies this behaviour?

-- 
Magnus
JID: [EMAIL PROTECTED]



Re: [Standards] Experimental XEPs

2007-08-16 Thread Dave Cridland

On Wed Aug 15 22:57:23 2007, Peter Saint-Andre wrote:
Based on my experience in the IETF since 2002, I am not familiar 
with a

formal process for doing draft proposals there. You just publish an
Internet-Draft, others may propose similar or competing I-Ds, and 
you
hash it out on mailing lists and at in-person meetings. Hmm, that 
sounds

awfully familiar...



There is a formal process, it's just very lightweight.

In order to publish an ID, you need to have the formatting correct 
and have the IPR boilerplate correct (and current). You also need to 
name your draft correctly, and a handful of other minor things.


In return, the IETF Secretariat then publish it for you for six 
months. In practice, it's longer than that, since the Tools Team 
publish the lot in perpetuity.


This is all very similar to the Inbox we have, although there's a 
general expectation that a document still undergoing serious work 
will remain an ID - it's only published as an RFC much later in the 
process, when it's generally believed to be finished. This is in part 
a reflection of the original paper-based publication method - once 
something's published, you can't change it if it's been sent out in 
the post. (Anyone wondering why they used to be paper needs to figure 
out what the IETF developed).


For our purposes, simply lessening the expectation that anything 
hitting the Inbox should immediately be published or killed would be 
sufficient. I would personally recommend revisiting XEP-1's section 
5. In particular, I'd suggest that the publication of something in 
the Inbox and the request to the Council should be distinct actions, 
and the latter should be handled by the document author, not the XMPP 
Extensions Editor. (Although they're often the same person...)


I suspect that this would reduce the number of published XEPs, 
leaving - hopefully - only those that we want to keep, and only that 
subset of them that are reasonably stable and complete.


As for developing WG-like entities again, we could certainly look at 
that. There are advantages to this kind of behaviour - we limit the 
traffic on mailing lists somewhat - but it can also lead to 
fragmentation. It might be better to encourage initial design work to 
happen on alternate lists, but to move back onto the primary list for 
finalization, to gain a wider audience (in particular before it 
becomes a XEP). I think it needs thought. (Which could come from a 
SIG, of course).


Dave.
--
Dave Cridland - mailto:[EMAIL PROTECTED] - xmpp:[EMAIL PROTECTED]
 - acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
 - http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade


Re: [Standards] Group Name with Gateway Registration

2007-08-16 Thread Ian Paterson

Ian Paterson wrote:
Currently the name of the group that contacts will be added to tends 
to be hardcoded on the gateway. This causes problems if there are 
language issues or, more typically, if the user has two accounts on a 
legacy service (accessed via two instances of a gateway server) - in 
which case the contacts will end up being mixed within the same group.


To solve this I'd suggest adding a new example (see [1] below) to 
Section 7 "Contact Lists" that indicates how the client/user might 
specify during registration a group name (see the "group"  
below) that the gateway will use whenever it adds contacts to the 
user's roster.


Someone mentioned offlist that some legacy services now support groups, 
and that some gateways now use these group names (instead of a single 
hardcoded group).


So it may be useful for the client to be able to indicate a 
prefix/suffix for all group names, instead of a single prefered group 
name. (A zero length prefix/suffix would be equivalent to no change to 
the group names at all.) I'd suggest a second additional field like the 
one in the examples below.


- Ian

SERVER SENDS:
.
.
.
 var='groupmodify'>

   
 prefix
   
   
 suffix
   
   
 fixed
   
 
 
   
 
.
.
.

CLIENT SENDS:

.
.
.
 
   suffix
 
 
(Yahoo Work)
 
.
.
.



Re: [Standards] Group Name with Gateway Registration

2007-08-16 Thread Ian Paterson

Tomasz Sterna wrote:

Dnia 15-08-2007, śro o godzinie 18:31 +0100, Ian Paterson napisał(a):
  

Currently the name of the group that contacts will be added to tends
to be hardcoded on the gateway.



You are talking about gateway XEP-0144 usage?
  


Yes, or the direct roster editing that some server-hosted-plugin 
gateways seem to perform.


- Ian



Re: [Standards] XEP-0170 Recommended Order of Stream Feature Negotiation

2007-08-16 Thread Mridul

You can get sasl to provide the means to establish an encrypted channel
after authentication (digest-md5 for example) - which is the reason to
establish compression after sasl.
Since we already have tls, I dont know what sort of value add it would
provide in xmpp case ... but the order of feature negotiation is based
on the assumption that this could be leveraged sometimes in the future
(like when tls cant be used, etc), and it would be the right order.

iirc xep 170 is based on more recent feedback and discussions than 138
... it is possible that not many servers would have moved to it already,
and so the issues you observed.

Regards,
Mridul

Mats Bengtsson wrote:
> FYI:
> Since there is (was) conflicting recommendations in XEP-0170,
> Recommended Order of Stream Feature Negotiation,
> (SASL -> compression)
> and XEP-0138, Stream Compression, (compression -> SASL), but St Peter
> said 0170 is the correct one, I thought about investigating what servers
> say:
> 
> OpenFire 3.3.2: It accepts both ways but continue to offer SASL even
> after the process SASL -> compress
> which it shouldn't
> ejabberd 1.1.2: It only accepts compression before SASL (XEP-0138)
> 
> Mats


[Standards] XEP-0170 Recommended Order of Stream Feature Negotiation

2007-08-16 Thread Mats Bengtsson

FYI:
Since there is (was) conflicting recommendations in XEP-0170, Recommended Order 
of Stream Feature Negotiation,
(SASL -> compression)
and XEP-0138, Stream Compression, (compression -> SASL), 
but St Peter said 0170 is the correct one, I thought about investigating what servers say:


OpenFire 3.3.2: It accepts both ways but continue to offer SASL even after the 
process SASL -> compress
which it shouldn't
ejabberd 1.1.2: It only accepts compression before SASL (XEP-0138)

Mats


Re: [Standards] Group Name with Gateway Registration

2007-08-16 Thread Tomasz Sterna
Dnia 15-08-2007, śro o godzinie 18:31 +0100, Ian Paterson napisał(a):
> Currently the name of the group that contacts will be added to tends
> to be hardcoded on the gateway.

You are talking about gateway XEP-0144 usage?


-- 
Tomasz Sterna
Xiaoka Grp.  http://www.xiaoka.com/