From c5510443f07144110da18b21f7f0e20c399b83fc Mon Sep 17 00:00:00 2001 From: stpeter Date: Wed, 20 Apr 2011 10:28:07 -0600 Subject: [PATCH] 0.2 --- xep-0277.xml | 197 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 189 insertions(+), 8 deletions(-) diff --git a/xep-0277.xml b/xep-0277.xml index cd5ce7b1..5e0adcae 100644 --- a/xep-0277.xml +++ b/xep-0277.xml @@ -10,7 +10,7 @@ This specification defines a method for microblogging over XMPP. &LEGALNOTICE; 0277 - Deferred + Experimental Standards Track None Council @@ -20,6 +20,19 @@ NOT YET ASSIGNED &stpeter; &hildjj; + + Valérian + Saliou + vanaryon@gmail.com + vanaryon@jappix.com + http://vanaryon.eu/ + + + 0.2 + 2011-04-20 + vs +

Added file attachment and commenting features; updated XML namespaces in examples.

+
0.1 2010-01-27 @@ -50,7 +63,7 @@

A person's microblog SHOULD be located at a personal eventing (PEP) node whose name is "urn:xmpp:microblog:0" but MAY be located at a generic publish-subscribe node that is not attached to a user's IM account. For instance, if the Shakespearean character Romeo has a JabberID of <romeo@montague.lit> then his microblog would be located at that JID with a node of "urn:xmpp:microblog:0". Outside of native XMPP systems, this node can be referred to as the following XMPP URI (the ":" character from the namespace URN is percent-encoded in the query component; see &rfc5122; and &rfc3986;).

Naturally, this node can be discovered by contacting romeo@montague.lit directly using &xep0030;.

@@ -80,6 +93,7 @@ xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog 2008-05-08T18:30:02Z Romeo Montague + xmpp:romeo@montague.lit hanging out at the Caf&#233; Napolitano @@ -87,7 +101,7 @@ xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog type='text/html' href='http://montague.lit/romeo/posts/1cb57d9c-1c46-11dd-838c-001143d5d5db'/> + href='xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Amicroblog%3A0;item=1cb57d9c-1c46-11dd-838c-001143d5d5db'/> tag:montague.lit,2008-05-08T18:30:02Z:posts-1cb57d9c-1c46-11dd-838c-001143d5d5db 2008-05-08T18:30:02Z 2008-05-08T18:30:02Z @@ -116,6 +130,7 @@ xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog 2008-05-08T18:30:02Z Romeo Montague + xmpp:romeo@montague.lit hanging out at the Caf&#233; Napolitano @@ -123,7 +138,7 @@ xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog type='text/html' href='http://montague.lit/romeo/posts/1cb57d9c-1c46-11dd-838c-001143d5d5db'/> + href='xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Amicroblog%3A0;item=1cb57d9c-1c46-11dd-838c-001143d5d5db'/> tag:montague.lit,2008-05-08T18:30:02Z:posts-1cb57d9c-1c46-11dd-838c-001143d5d5db 2008-05-08T18:30:02Z 2008-05-08T18:30:02Z @@ -154,6 +169,7 @@ xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog 2008-05-08T18:31:21Z Benvolio Montague + xmpp:romeo@montague.lit @romeo cappuccino this late in the day? @@ -162,9 +178,9 @@ xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog href='http://montague.lit/benvolio/posts/c4145006-1c53-11dd-b2d5-000bcd82471e'/> - tag:montague.lit,2008-05-08T18:31:21Z:posts-c4145006-1c53-11dd-b2d5-000bcd82471e' + tag:montague.lit,2008-05-08T18:31:21Z:posts-c4145006-1c53-11dd-b2d5-000bcd82471e 2008-05-08T18:31:21Z 2008-05-08T18:31:21Z + href='xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Amicroblog%3A0;item=1cb57d9c-1c46-11dd-838c-001143d5d5db'/> @@ -182,6 +198,171 @@ xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog ]]>

Assuming that Romeo has also shared presence with Benvolio and has advertised support for "urn:xmpp:microblog:0+notify", he will receive the reply that Benvolio sent.

+ +

When Benvolio wants to repeat a Romeo's post, his client publishes the same post under a different name. But to be able to track the repeated post original author, Benvolio's client MAY use two specific <author /> child nodes, <name /> and <uri />, containing, respectively, the name of the original post author, and his XMPP URI (JID).

+

If a comments link is present (see the Comments node section of this document), the client SHOULD repeat it to keep the same discussion about the post.

+ + + + + + + Benvolio&apos;s Microblog + + tag:montague.lit,2008:home + 2008-05-08T18:30:02Z + + Romeo Montague + xmpp:romeo@montague.lit + + + hanging out at the Caf&#233; Napolitano + + + tag:montague.lit,2008-05-08T18:31:21Z:posts-1re57d3c-1q46-11dd-748r-024943d2d5rt + 2008-05-08T18:30:02Z + 2008-05-08T18:32:02Z + + + + + + ]]> +

Thus, a different author JID value lets the client know the microblog item has been repeated from another one.

+
+ +

Romeo might want to attach some files, such as pictures of his last vacations, or documents he wants to share. For each file to publish, Romeo's client MUST add a <link /> element. The "href" and "rel" attributes MUST be added; the "title", "type" and "length" ones MIGHT be added.

+ + + + + + + Romeo&apos;s Microblog + + tag:montague.lit,2008:home + 2008-05-08T18:35:02Z + + Romeo Montague + xmpp:romeo@montague.lit + + + Beautiful Eiffel Tower! + + + + + + + tag:montague.lit,2008-05-08T18:35:02Z:posts-1df87v1q-2d12-43se-761w-318790d3g1sq + 2008-05-08T18:35:02Z + 2008-05-08T18:35:02Z + + + + + + ]]> +

If client can generate some thumbnails images of the attached file (for pictures, videos or documents), it MAY create one or more <link /> sub-elements to the parent file <link /> element. It MUST set "xmlns" attribute to "urn:xmpp:microblog:0"; "rel" attribute to "self"; "title" attribute to "thumb"; "href" to the path of the thumbnail image. It SHOULD also have a "type" attribute specifying the thumbnail file MIME type.

+
+ + + +

Juliet and Benvolio may want to discuss about latest Romeo's post. Romeo's client MIGHT add a element to the PubSub item. The element MUST have "rel", "title" and "href" attributes, where "rel" MUST have the "related" value; "title" MUST have the "comments" value; "href" MUST be an XMPP URI (see &rfc5122; and &rfc3986;).

+ +

We assume Romeo's client first created a comments node (named "urn:xmpp:microblog:0:comments:hash", where "hash" is a client-side generated random hash), with defaults "pubsub#access_model" and "pubsub#publish_model" privacy settings (see &xep0060; for node creation and configuration).

+ + + + + + + Romeo&apos;s Microblog + + tag:montague.lit,2008:home + 2008-05-08T18:30:02Z + + Romeo Montague + xmpp:romeo@montague.lit + + + hanging out at the Caf&#233; Napolitano + + + + tag:montague.lit,2008-05-08T18:38:02Z:posts-2ze57d9c-1c46-21df-830c-002143d3d2qgf + 2008-05-08T18:38:02Z + 2008-05-08T18:38:02Z + + + + + + ]]> +
+ +

If Juliet wants to comment Romeo's latest post, her client MUST then send a new Atom entry to the defined PubSub node.

+ + + + + + + + Juliet Capulet + xmpp:juliet@capulet.lit + + + She is so pretty! + 2008-05-08T18:39:02Z + + + + + + ]]> +

If Benvolio wants to retrieve the comments node, his client will send a standard PubSub stanza to request all items (see &xep0060; for all items retrieving).

+
@@ -201,7 +382,7 @@ xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog -

This specification re-uses the schema for the Atom content format, i.e., the 'http://www.w3.org/2005/Atom' namespace.

+

This specification re-uses the schema for the Atom content format, i.e., the 'http://www.w3.org/2005/Atom' namespace (see RFC 4287).