[Standards-JIG] Message importance

Tomasz Melcer liori at exroot.org
Sat Oct 7 19:35:47 UTC 2006


Hello!

Sometimes I want to send a message to friend to notify him of something 
unimportant, but he is DND and i don't want to disturb him. The ideal 
solution for that would be to mark message as 'unimportant', so that my 
friend's server would store it and send as soon as he is online.

My proposal is to add an optional element to <message/> elements, for 
example:

<message from="joe at example.com" to="frank at example.com">
   <body>We're playing golf. Come when you finish your work</body>
   <importance xmlns="..."><not-important/></importance>
</message>

We would also need a protocol to let server know when we don't want to 
get such messages. Actually, we only have to extend existing protocol - 
privacy lists. My proposal is to add special action for that. For 
example to let server know that we don't want to get messages marked as 
'not important' from anyone, it would look like:

<iq type='set'>
  <query xmlns='jabber:iq:privacy'>
   <list name='dnd'>
    <item action='store'>
     <message>
      <importance xmlns='...'><not-important/></importance>
     </message>
    </item>
   </list>
  </query>
<iq>

<iq type='set'>
  <query xmlns='jabber:iq:privacy'>
   <active name='dnd'/>
  </query>
</iq>

...which would mean to store messages of importance 'less or equal' to 
'not important'.

There could be few levels of importance: f.e. 'important', 'normal', 
'not important', 'bulk' (for messages from bots).

When the client changes active list, all stored messages could be 
refiltered, and ones which would fall into 'allow' action would be sent 
(and ones which would fall into 'deny' action would be deleted). The 
cache for such stored messages could be the same as for offline messages.

I can think of additional use case for this. Some time ago someone on 
jdev asked how to suspend/resume presences. We could just allow to apply 
'store' action to <presence-in/> to suspend them and 'allow' to resume 
and get them from the server.

That's only an idea. I hope that a solution will be developed. Any 
comments would be appreciated.

Tomasz Melcer



More information about the Standards mailing list