[Standards] Tags and Pubsub subscriptions in XEP-0048 (Bookmarks)

Lance Stout lancestout at gmail.com
Wed Apr 30 15:43:57 UTC 2014


>> My proposal is quite simple. Take the "subscription" tag used in the XEP-0330 (
>> http://xmpp.org/extensions/xep-0330.html
>> ) to store the informations of the subscribed node and put them in Bookmark items.

The only hesitation that I have here is that this is going to create some nasty surprises due to how
bookmarks work with private XML storage. Ie, you have to fetch, edit, and save the entire XML blob
any time you want to make a change. Which is generally fine, but bookmarks are old and there is a lot
of existing code that assumes you are only storing MUC bookmarks (since no one ever actually used the
URL bookmark feature). So if you happen to use the wrong client somewhere, all of your subscription
bookmarks could disappear because they didn't know about subscriptions.


That's certainly wrong behaviour for clients, but such behaviour does exist in the wild.


The safest route is to use what you already have defined in XEP-0330. However, I'll note that PEP services
have not done well in allowing multiple items to be published to a single node like this requires.

XEP-0330 could be changed to save the full set of subscriptions in a single item to work around that, though
I'd really prefer the multi-item PEP nodes.


As a last resort, saving the full set in a new private XML storage element would work.


>> Furthermore it would be great to add some tags on the Bookmark items to organize and filter them.

+1 for this idea. However, it does carry the same consideration as above that older clients could cause you to lose this information.




—Lance
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mail.jabber.org/pipermail/standards/attachments/20140430/e1c98665/attachment.sig>


More information about the Standards mailing list