[standards-jig] thoughts on POP3 Offline (JEP-0013)

Peter Saint-Andre stpeter at jabber.org
Mon Nov 11 19:15:59 UTC 2002


Based on discussions held in the last Council meeting [1], I've thought
some more about JEP-0013 (POP3 Handling of Offline Messages) [2]. Here are
some tentative suggestions:

1. It would be good to bring the namespace into line with the newer
conventions (e.g., "http://jabber.org/protocol/offline").

2. It would be good for a user to receive more information in the headers.
Specifically, the subject and thread might be useful.

3. Section 2.4 (Compatibility) says the following:

   Without the ability to query a given client for feature sets, 
   POP3-like offline message handling is incompatible with the 
   existing offline model. 

This was true when the JEP was written but is no longer accurate given
the existence of JEP-0020 (Feature Negotiation) [3]. I suggest that
handling of offline messages is a fine example of feature negotiation. It
might work as follows:

Step 1. User logs in but does not send presence.

Step 2. User asks if the offline namespace is supported.

<iq type='get' to='myserver' id='a1'>
  <query xmlns='jabber:iq:disco'/>
</iq>

Step 3. Server replies in the affirmative.

<iq type='result' from='myserver' to='me at myserver/foo' id='a1'>
  <query xmlns='jabber:iq:disco'>
    ...
    <feature type='http://jabber.org/protocol/offline'/>
    ...
  </query>
</iq>

Step 4. User asks if pop3 handling of offline messages is supported.

<iq type='get' id='a2'>
  <query xmlns='jabber:iq:negotiate'>
    <feature type='http://jabber.org/protocol/offline'>
      <option>pop3</option>
    </feature>
  </query>
</iq>

Step 5. Server replies in the affirmative.

<iq type='result' from='myserver' to='me at myserver/foo' id='a2'/>

Step 6. User retrieves headers as shown in Example 1 of the JEP.

And so on from there.

4. David Waite suggested retrieving offline messages via disco. I played
around with this some but it would seem to require that at some point in
the process every message is a JID (e.g., me at myserver/indox/some-uid)
which is sub-optimal IMHO.

Thoughts?

Peter

[1] log at 
http://www.jabber.org/chatbot/logs/conference.jabber.org/foundation/2002-11-08.html

[2] http://www.jabber.org/jeps/jep-0013.html

[3] http://www.jabber.org/jeps/jep-0020.html

--
Peter Saint-Andre
Jabber Software Foundation
http://www.jabber.org/people/stpeter.php




More information about the Standards mailing list