[JDEV] Avatar: no per-resource public XML storage in 1.4.1

Jens Alfke jens at mac.com
Thu Sep 6 19:10:12 CDT 2001


Looks like Jeremie was a bit off base in his description of public XML 
storage; or it wasn't implemented correctly. When I tried to store the 
avatar picture data on my own resource, the server (1.4.1 Solaris) just 
bounced it back to me as it would any regular IQ query.

I sent:
<iq type="set" id="00000003" to="jens at myserver/myRsrc">
<query xmlns="jabber-storage:iq:avatar">
<data mimetype="image/jpeg">
/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkz 
.......
</data></query></iq>

and I promptly got back:

<iq type='set' id='00000003' to='jens at myserver/myRsrc' 
from='jens at myserver/myRsrc'>
<query xmlns='jabber-storage:iq:avatar'>
<data mimetype='image/tiff'>
/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkz 
......
</data></query></iq>

I'm assuming from this that the data didn't get stored on the server. :-(

Looks as though our options are:
(1) Don't use server-side storage for avatar pictures; the client has to 
respond to the queries. This is the way it was in the original spec. 
It's flexible but causes bandwidth problems for dial-up clients and 
doesn't allow you to get the picture of an offline user.
(2) Make avatar pictures per-account, not per-resource, and gain 
server-side storage but lose interesting features.
(3) Fix the server's public XML storage implementation to store resource 
data (and make it nonpersistent as temas suggested)
(4) Add a server module specifically for storing avatar pictures.

For now I'm going to implement according to (1) or (2) since I have no 
desire personally to muck with the server code! In the long run I guess 
I would prefer (3) to (4) because I would rather see an existing generic 
facility improved rather than add Yet Another Special Purpose Hack to 
the server.

--Jens




More information about the JDev mailing list