Hello Peter,

On Sun, 05 Apr 2009 16:24:33 -0600, Peter Saint-Andre <stpe...@stpeter.im>
wrote:

> You are right -- the words "participating full JID" in the first
> paragraph of Section 7.2 unnecessarily and incorrectly limit the
> matching for collection retrieval. I've fixed that:
> 
>
http://svn.xmpp.org:18080/browse/XMPP/trunk/extensions/xep-0136.xml?%40diffMode=u&%40diffWrap=s&r1=2415&r2=2993&u=3&ignore=&k=

... in fact it seems I've managed to convince several people in the
opposite already (including topic-starter) based on current XEP-136 wording
;-) See discussion starting from this comment:
https://www.ndl.kiev.ua/content/modarchiveodbc-release#comment-117

Based on the diff I'm not really sure anymore what "retrieve" is supposed
to do now:

1) Allowing non-full JID means "retrieve" may match several collections.
2) Phrase "Both attributes MUST be included to uniquely identify a
collection" indicates it may not.

The following arguments imply that phrase about "unique collection
identification" is removed to bring it back to consistent state (and, thus,
allow several collections to be matched by "retrieve").

I'm not really sure that allowing to select several collections in
"retrieve" is such a good idea for the reasons mentioned in discussion at
the link above - to rephrase it shortly here, in my opinion "list" gets the
list of all collections matching some criteria, while "retrieve" gets all
messages _within specified collection_ matching some criteria.

Such change means that "retrieve" starts partially overlap with "list", and
this extension is not very natural:

1) "retrieve" still cannot be used to perform the same functionality as
"list": it does not support "end" attribute and gives different meaning to
"start" attribute thus not allowing queries within given time range, and it
already uses RSM to limit messages retrieved, so RSM cannot be used to
limit collections matched.

2) How RSM limiting of messages should work across several different
collections matched in single "retrieve" command? If it should treat all
messages as "linear" list, so that RSM-limited "retrieve" over several
different collections is a kind of sliding window, then we're back at our
argument about using change notifications in RSM, as then individual
collections versioning does not really help us anymore to detect changed
collections if change happened between two successive RSM queries.

I see two possible solutions:

1) Keep things like they were before, so that "retrieve" may return
messages from one collection only. Requires rollback of the last change to
XEP and removing "exactmatch" support by "retrieve" from 10.1 and from XML
Schema.

2) If support for several collections in "retrieve" is really required,
then some work should be done to bring all other dependent things to
consistent state: extend "retrieve" to support all the same attributes as
"list" does, allow two different RSMs (for collections and messages) in
"retrieve", specify the way RSM for messages works when multiple
collections are matched, and also I think that adding "changes
notifications" to RSM is inevitable then.

-- 
Good luck!                                     Alexander

Reply via email to