Sorry, sent from a wrong email adress.
-------- Message original --------
Sujet: Re: [Standards] Categories in the Bookmarks XEP
Date : Tue, 11 Feb 2014 12:26:40 +0100
De : Jaussoin Timothée <[email protected]>
Pour : [email protected]
Copie à : [email protected]
Le 22/12/2013 23:24, Jaussoin Timothée a écrit :
Le 05/09/2013 22:54, Jaussoin Timothée a écrit :
Le 05/09/2013 22:36, Alexander Gnauck a écrit :
I like this idea. I would do it in a similar way than groups in the
roster. This would allow multiple tags on each bookmark, and also
hierarchical with a separator in the tag name.
sample:
<storage xmlns='storage:bookmarks'>
<conference name='Council of Oberon'
autojoin='true'
jid='[email protected]
<mailto:[email protected]>'>
<nick>Puck</nick>
<tags>
<tag>A</tag>
<tag>B</tag>
<tag>A:B nested under A</tag>
</tags>
</conference>
</storage>
Alex
we can also define this in a separate extension and namespace.
--
Alexander Gnauck
http://www.ag-software.de
xmpp:[email protected] <mailto:xmpp%[email protected]>
On Wed, Sep 4, 2013 at 6:34 AM, Jaussoin Timothée <[email protected]
<mailto:[email protected]>> wrote:
Le 22/08/2013 09:23, Jaussoin Timothée a écrit :
Le 19/08/2013 11:24, Jaussoin Timothée a écrit :
Le 15/08/2013 22:09, Jaussoin Timothée a écrit :
Le 15/08/2013 19:47, Peter Saint-Andre a écrit :
On 8/15/13 2:26 AM, Jaussoin Timothée wrote:
I have implemented the Bookmarks XEP
(http://xmpp.org/extensions/xep-0048.html)
in Movim (http://movim.eu/)
to store the conferences, URL and subscribed
Pubsub feeds of the user.
Maybe it can be a great idea to add a
"category" tag with some "default"
categories like news, blog, nsfw... With
this kind of feature I'll be
able to tag more precisely the Pubsub items
and maybe add special
behaviours one some of them (like hide by
default the content of the
nsfw items or display in priority the news
items).
In general, tagging is a good thing. :-)
Do you propose that we add a 'tag' attribute to
both the <url/> element
and the <conference/> element? Would it contain
a space-separated list
of tags?
Peter
Hi !
I've also added a specific element to bookmark the
pubsub nodes, this way :
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<items node="storage:bookmarks">
<item id="current">
<storage xmlns="storage:bookmarks">
<conference
jid="[email protected]
<mailto:[email protected]>" autojoin="1"
name="Movim">
<nick>edhelas</nick>
</conference>
<subscription
xmlns="urn:xmpp:pubsub:subscription:0" subid=""
node="BouletCorp" server="pubsub.movim.eu
<http://pubsub.movim.eu>">
<title/>
</subscription>
<subscription
xmlns="urn:xmpp:pubsub:subscription:0" subid=""
node="CerealesMatin" server="pubsub.movim.eu
<http://pubsub.movim.eu>">
<title/>
</subscription>
<subscription
xmlns="urn:xmpp:pubsub:subscription:0" subid=""
node="Chez_Kek" server="pubsub.movim.eu
<http://pubsub.movim.eu>">
<title/>
</subscription>
<subscription
xmlns="urn:xmpp:pubsub:subscription:0" subid=""
node="JournalDuGeek" server="pubsub.movim.eu
<http://pubsub.movim.eu>">
<title/>
</subscription>
<subscription
xmlns="urn:xmpp:pubsub:subscription:0" subid=""
node="LinuxFr" server="pubsub.movim.eu
<http://pubsub.movim.eu>">
<title/>
</subscription>
</storage>
</item>
</items>
</pubsub>
We can maybe re-use the same tag system than for the
atom elements :
<conference jid="[email protected]
<mailto:[email protected]>" autojoin="1"
name="Movim">
<nick>edhelas</nick>
<category term="Movim"/>
<category term="XMPP"/>
<category term="Jabber"/>
</conference>
It's just an idea :)
Hi !
I also think that allow subscriptions tags in Bookmarks
can be a great thing. For the moment we don't have any
way to list all the subscribed nodes on the user account.
Using <tag/> can be great too ;)
Tim
Hi everyone !
I really need your feedback on this thing to update the XEP.
edhelas
Hi !
I've made my modifications on the XEP, if you have some
feedbacks don't hesitate.
I'm not very sure of this syntax for the Bookmark Pubsub
subscription element :
<subscription xmlns="urn:xmpp:pubsub:subscription:0"
name="My family party"
server="pubsub.shakespeare.lit" node="party">
<title>Party at the Capulets</title>
</subscription>
Maybe we can merge the title and the name elements (here 'title'
is the officiel Pubsub node title, and 'name' is a personnal one).
edhelas
Yeah maybe creating a more general namespace can be interresting, I'd
love to tag bookmarks and also pubsub nodes the same way I can tag
atom elements :)
Our project is nowaday handling hundrer of posts/user/day so I
definitly need to have something to "manage" all theses contents.
edhelas
Hi everyone,
I didn't get any feedbacks from my Bookmarks XMPP update.
I've updated my client to add the urn:xmpp:pubsub:subscription:0
support in Bookmarks and I'm working on the tags implementation.
You can find enclosed the updated XEP.
edhelas
Hi again,
I didn't have any feedback for my Bookmarks XEP modifications. You can
find enclosed the patch file with the stuffs I've added last summer.
edhelas
--- xep-0048.xml 2013-12-01 15:24:15.000000000 +0100
+++ Desktop/xep-0048.xml 2014-02-11 12:21:56.967054813 +0100
@@ -30,6 +30,12 @@
<email>[email protected]</email>
<jid>[email protected]</jid>
</author>
+ <author>
+ <firstname>Timothée</firstname>
+ <surname>Jaussoin</surname>
+ <email>[email protected]</email>
+ <jid>[email protected]</jid>
+ </author>
&pgmillard;
&stpeter;
<revision>
@@ -69,8 +75,38 @@
</section1>
<section1 topic='Data Format' anchor='format'>
- <p>A storage element qualified by the 'storage:bookmarks' namespace may contain a collection of child elements, each representing a bookmark to be displayed in a client. At present, only two sub-elements are defined: <conference/> for bookmarking of &xep0045; rooms and <url/> for bookmarking of web pages.</p>
+ <p>A storage element qualified by the 'storage:bookmarks' namespace may contain a collection of child elements, each representing a bookmark to be displayed in a client. At present, only tree sub-elements are defined: <conference/> for bookmarking of &xep0045; rooms, <url/> for bookmarking &xep0060; nodes and <url/> for bookmarking of web pages.</p>
<p>All child elements allow a 'name' attribute, which is the friendly name by which they will be displayed in the client. If an element lacks a 'name' attribute, the client SHOULD generate an appropriate substitution based on the other available data.</p>
+
+ <section2 topic='Tagging elements' anchor='format-tags'>
+ <p>To manage more easily the differents Bookmarks elements you MAY add tags to them. Tags are defined using the <tag/> element.</p>
+
+ <example caption='An example of the tag element'><![CDATA[
+ <storage xmlns='storage:bookmarks'>
+ <conference name='Council of Oberon'
+ autojoin='true'
+ jid='[email protected]'>
+ <nick>Puck</nick>
+ <tag>Council</tag>
+ <tag>Family</tag>
+ </conference>
+ <url name='Complete Works of Shakespeare'
+ url='http://the-tech.mit.edu/Shakespeare/'>
+ <tag>Books</tag>
+ <tag>English</tag>
+ <tag>Litterature</tag>
+ </url>
+ <subscription xmlns="urn:xmpp:pubsub:subscription:0" name="My family party"
+ server="pubsub.shakespeare.lit" node="party">
+ <title>Party at the Capulets</title>
+ <tag>Party</tag>
+ <tag>Important</tag>
+ </subscription>
+ </storage>
+ ]]></example>
+
+ <p>Note : you can add several tags per Bookmark elements.</p>
+
<section2 topic='The conference element' anchor='format-conference'>
<p>A common use case is bookmarking of multi-user chat rooms. A room is bookmarked using the <conference/> child element. The syntax is as follows.</p>
<table caption='Syntax of conference element'>
@@ -156,6 +192,51 @@
<p>This bookmark would be displayed in the client as 'Complete Works of Shakespeare' and would take the user to <<link url='http://the-tech.mit.edu/Shakespeare/'>http://the-tech.mit.edu/Shakespeare/</link>> when selected.</p>
<p>Note: A bookmark set can contain any number of URLs.</p>
</section2>
+ <section2 topic='The Pubsub subscription element' anchor='format-pubsub-subscription'>
+ <p>The <subscription/> element is designed for bookmarking Pubsub nodes on the XMPP network. It use the 'urn:xmpp:pubsub:subscription:0' namespace. The syntax is as follows.</p>
+ <table caption='Syntax of Pubsub subscription element'>
+ <tr>
+ <th>Attribute</th>
+ <th>Definition</th>
+ <th>Datatype</th>
+ <th>Inclusion</th>
+ </tr>
+ <tr>
+ <td>'name' attribute</td>
+ <td>A friendly name for the bookmark.</td>
+ <td>string</td>
+ <td>RECOMMENDED</td>
+ </tr>
+ <tr>
+ <td>'server' attribute</td>
+ <td>Any server's address</td>
+ <td>string</td>
+ <td>REQUIRED</td>
+ </tr>
+ <tr>
+ <td>'node' attribute</td>
+ <td>The subscription node</td>
+ <td>string</td>
+ <td>REQUIRED</td>
+ </tr>
+ <tr>
+ <td>'title' node</td>
+ <td>The official title of the node</td>
+ <td>string</td>
+ <td>OPTIONAL</td>
+ </tr>
+ </table>
+ <p>When the user use this bookmark, the client SHOULD go to the node page and display all informations and items relative to this node.</p>
+ <example caption='An example of the Pubsub subscription element'><![CDATA[
+ <storage xmlns='storage:bookmarks'>
+ <subscription xmlns="urn:xmpp:pubsub:subscription:0" name="My family party"
+ server="pubsub.shakespeare.lit" node="party">
+ <title>Party at the Capulets</title>
+ </subscription>
+ </storage>
+ ]]></example>
+ <p>Note: A bookmark set can contain any number of Pubsub subscriptions.</p>
+ </section2>
</section1>
<section1 topic='Storage' anchor='storage'>
@@ -330,7 +411,18 @@
</xs:simpleContent>
</xs:complexType>
</xs:element>
-
+
+ <xs:element name='storage'>
+ <xs:complexType>
+ <xs:attribute name='name' type='xs:string' use='recommended'/>
+ <xs:attribute name='server' type='xs:string' use='required'/>
+ <xs:attribute name='node' type='xs:string' use='required'/>
+ <xs:sequence>
+ <xs:element name='title' type='xs:string' minOccurs='0'/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
<xs:simpleType name='empty'>
<xs:restriction base='xs:string'>
<xs:enumeration value=''/>