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: &lt;conference/&gt; for bookmarking of &xep0045; rooms and &lt;url/&gt; 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: &lt;conference/&gt; for bookmarking of &xep0045; rooms, &lt;url/&gt; for bookmarking &xep0060; nodes and &lt;url/&gt; 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 &lt;tag/&gt; 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 &lt;conference/&gt; 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 &lt;<link url='http://the-tech.mit.edu/Shakespeare/'>http://the-tech.mit.edu/Shakespeare/</link>&gt; 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 &lt;subscription/&gt; 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=''/>

Reply via email to