mirror of
https://github.com/moparisthebest/xeps
synced 2024-12-21 23:28:51 -05:00
0.2
This commit is contained in:
parent
93e3c72256
commit
c5510443f0
197
xep-0277.xml
197
xep-0277.xml
@ -10,7 +10,7 @@
|
||||
<abstract>This specification defines a method for microblogging over XMPP.</abstract>
|
||||
&LEGALNOTICE;
|
||||
<number>0277</number>
|
||||
<status>Deferred</status>
|
||||
<status>Experimental</status>
|
||||
<type>Standards Track</type>
|
||||
<sig>None</sig>
|
||||
<approver>Council</approver>
|
||||
@ -20,6 +20,19 @@
|
||||
<shortname>NOT YET ASSIGNED</shortname>
|
||||
&stpeter;
|
||||
&hildjj;
|
||||
<author>
|
||||
<firstname>Valérian</firstname>
|
||||
<surname>Saliou</surname>
|
||||
<email>vanaryon@gmail.com</email>
|
||||
<jid>vanaryon@jappix.com</jid>
|
||||
<uri>http://vanaryon.eu/</uri>
|
||||
</author>
|
||||
<revision>
|
||||
<version>0.2</version>
|
||||
<date>2011-04-20</date>
|
||||
<initials>vs</initials>
|
||||
<remark><p>Added file attachment and commenting features; updated XML namespaces in examples.</p></remark>
|
||||
</revision>
|
||||
<revision>
|
||||
<version>0.1</version>
|
||||
<date>2010-01-27</date>
|
||||
@ -50,7 +63,7 @@
|
||||
<section2 topic='Location' anchor='location'>
|
||||
<p>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;).</p>
|
||||
<code><![CDATA[
|
||||
xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog
|
||||
xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Amicroblog%3A0
|
||||
]]></code>
|
||||
<p>Naturally, this node can be discovered by contacting romeo@montague.lit directly using &xep0030;.</p>
|
||||
</section2>
|
||||
@ -80,6 +93,7 @@ xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog
|
||||
<updated>2008-05-08T18:30:02Z</updated>
|
||||
<author>
|
||||
<name>Romeo Montague</name>
|
||||
<uri>xmpp:romeo@montague.lit</uri>
|
||||
</author>
|
||||
</source>
|
||||
<title>hanging out at the Caf&#233; Napolitano</title>
|
||||
@ -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'/>
|
||||
<link rel='alternate'
|
||||
href='xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog;item=1cb57d9c-1c46-11dd-838c-001143d5d5db'/>
|
||||
href='xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Amicroblog%3A0;item=1cb57d9c-1c46-11dd-838c-001143d5d5db'/>
|
||||
<id>tag:montague.lit,2008-05-08T18:30:02Z:posts-1cb57d9c-1c46-11dd-838c-001143d5d5db</id>
|
||||
<published>2008-05-08T18:30:02Z</published>
|
||||
<updated>2008-05-08T18:30:02Z</updated>
|
||||
@ -116,6 +130,7 @@ xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog
|
||||
<updated>2008-05-08T18:30:02Z</updated>
|
||||
<author>
|
||||
<name>Romeo Montague</name>
|
||||
<uri>xmpp:romeo@montague.lit</uri>
|
||||
</author>
|
||||
</source>
|
||||
<title>hanging out at the Caf&#233; Napolitano</title>
|
||||
@ -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'/>
|
||||
<link rel='alternate'
|
||||
href='xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog;item=1cb57d9c-1c46-11dd-838c-001143d5d5db'/>
|
||||
href='xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Amicroblog%3A0;item=1cb57d9c-1c46-11dd-838c-001143d5d5db'/>
|
||||
<id>tag:montague.lit,2008-05-08T18:30:02Z:posts-1cb57d9c-1c46-11dd-838c-001143d5d5db</id>
|
||||
<published>2008-05-08T18:30:02Z</published>
|
||||
<updated>2008-05-08T18:30:02Z</updated>
|
||||
@ -154,6 +169,7 @@ xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog
|
||||
<updated>2008-05-08T18:31:21Z</updated>
|
||||
<author>
|
||||
<name>Benvolio Montague</name>
|
||||
<uri>xmpp:romeo@montague.lit</uri>
|
||||
</author>
|
||||
</source>
|
||||
<title>@romeo cappuccino this late in the day?</title>
|
||||
@ -162,9 +178,9 @@ xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog
|
||||
href='http://montague.lit/benvolio/posts/c4145006-1c53-11dd-b2d5-000bcd82471e'/>
|
||||
<link rel='alternate'
|
||||
href='xmpp:benvolio@montague.lit?;
|
||||
node=urn%3Axmpp%3Atmp%3Amicroblog;
|
||||
node=urn%3Axmpp%3Amicroblog%3A0;
|
||||
item=c4145006-1c53-11dd-b2d5-000bcd82471e'/>
|
||||
<id>tag:montague.lit,2008-05-08T18:31:21Z:posts-c4145006-1c53-11dd-b2d5-000bcd82471e'</id>
|
||||
<id>tag:montague.lit,2008-05-08T18:31:21Z:posts-c4145006-1c53-11dd-b2d5-000bcd82471e</id>
|
||||
<published>2008-05-08T18:31:21Z</published>
|
||||
<updated>2008-05-08T18:31:21Z</updated>
|
||||
<thr:in-reply-to
|
||||
@ -173,7 +189,7 @@ xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog
|
||||
href='http://montague.lit/romeo/posts/1cb57d9c-1c46-11dd-838c-001143d5d5db'/>
|
||||
<thr:in-reply-to
|
||||
ref='tag:montague.lit,2008-05-08T18:30:02Z:posts-1cb57d9c-1c46-11dd-838c-001143d5d5db'
|
||||
href='xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog;item=1cb57d9c-1c46-11dd-838c-001143d5d5db'/>
|
||||
href='xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Amicroblog%3A0;item=1cb57d9c-1c46-11dd-838c-001143d5d5db'/>
|
||||
</entry>
|
||||
</item>
|
||||
</publish>
|
||||
@ -182,6 +198,171 @@ xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog
|
||||
]]></example>
|
||||
<p>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.</p>
|
||||
</section2>
|
||||
<section2 topic='Repeating a Post' anchor='repeat'>
|
||||
<p>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).</p>
|
||||
<p>If a comments link is present (see the <link url='#comments_node'>Comments node</link> section of this document), the client SHOULD repeat it to keep the same discussion about the post.</p>
|
||||
<example caption="Repeating a Post"><![CDATA[
|
||||
<iq from='benvolio@montague.lit/mobile'
|
||||
id='pub2'
|
||||
to='benvolio@montague.lit'
|
||||
type='set'>
|
||||
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
|
||||
<publish node='urn:xmpp:microblog:0'>
|
||||
<item id='1re57d3c-1q46-11dd-748r-024943d2d5rt'>
|
||||
<entry xmlns='http://www.w3.org/2005/Atom'>
|
||||
<source>
|
||||
<title>Benvolio&apos;s Microblog</title>
|
||||
<link href='http://montague.lit/benvolio'/>
|
||||
<id>tag:montague.lit,2008:home</id>
|
||||
<updated>2008-05-08T18:30:02Z</updated>
|
||||
<author>
|
||||
<name>Romeo Montague</name>
|
||||
<uri>xmpp:romeo@montague.lit</uri>
|
||||
</author>
|
||||
</source>
|
||||
<title>hanging out at the Caf&#233; Napolitano</title>
|
||||
<link rel='alternate'
|
||||
type='text/html'
|
||||
href='http://montague.lit/benvolio/posts/1re57d3c-1q46-11dd-748r-024943d2d5rt'/>
|
||||
<link rel='alternate'
|
||||
href='xmpp:benvolio@montague.lit?;node=urn%3Axmpp%3Amicroblog%3A0;item=1re57d3c-1q46-11dd-748r-024943d2d5rt'/>
|
||||
<id>tag:montague.lit,2008-05-08T18:31:21Z:posts-1re57d3c-1q46-11dd-748r-024943d2d5rt</id>
|
||||
<published>2008-05-08T18:30:02Z</published>
|
||||
<updated>2008-05-08T18:32:02Z</updated>
|
||||
</entry>
|
||||
</item>
|
||||
</publish>
|
||||
</pubsub>
|
||||
</iq>
|
||||
]]></example>
|
||||
<p>Thus, a different author JID value lets the client know the microblog item has been repeated from another one.</p>
|
||||
</section2>
|
||||
<section2 topic='Attaching files to a Post' anchor='attach'>
|
||||
<p>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.</p>
|
||||
<example caption="Attaching some files to a Post"><![CDATA[
|
||||
<iq from='romeo@montague.lit/pda'
|
||||
id='pub3'
|
||||
to='romeo@montague.lit'
|
||||
type='set'>
|
||||
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
|
||||
<publish node='urn:xmpp:microblog:0'>
|
||||
<item id='1df87v1q-2d12-43se-761w-318790d3g1sq'>
|
||||
<entry xmlns='http://www.w3.org/2005/Atom'>
|
||||
<source>
|
||||
<title>Romeo&apos;s Microblog</title>
|
||||
<link href='http://montague.lit/romeo'/>
|
||||
<id>tag:montague.lit,2008:home</id>
|
||||
<updated>2008-05-08T18:35:02Z</updated>
|
||||
<author>
|
||||
<name>Romeo Montague</name>
|
||||
<uri>xmpp:romeo@montague.lit</uri>
|
||||
</author>
|
||||
</source>
|
||||
<title>Beautiful Eiffel Tower!</title>
|
||||
<link rel='alternate'
|
||||
type='text/html'
|
||||
href='http://montague.lit/romeo/posts/1df87v1q-2d12-43se-761w-318790d3g1sq'/>
|
||||
<link rel='alternate'
|
||||
href='xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Amicroblog%3A0;item=1df87v1q-2d12-43se-761w-318790d3g1sq'/>
|
||||
<link rel='enclosure'
|
||||
title='Head in the clouds'
|
||||
type='image/jpeg'
|
||||
length='156732'
|
||||
href='http://montague.lit/romeo/files/uei8327hdz12.jpg'>
|
||||
<link xmlns='urn:xmpp:microblog:0'
|
||||
rel='self'
|
||||
title='thumb'
|
||||
type='image/jpeg'
|
||||
length='31723'
|
||||
href='http://montague.lit/romeo/files/uei8327hdz12_thumb.jpg'/>
|
||||
</link>
|
||||
<link rel='enclosure'
|
||||
title='Trip report'
|
||||
type='application/pdf'
|
||||
length='67123'
|
||||
href='http://montague.lit/romeo/files/82he1oh2084s.pdf'/>
|
||||
<id>tag:montague.lit,2008-05-08T18:35:02Z:posts-1df87v1q-2d12-43se-761w-318790d3g1sq</id>
|
||||
<published>2008-05-08T18:35:02Z</published>
|
||||
<updated>2008-05-08T18:35:02Z</updated>
|
||||
</entry>
|
||||
</item>
|
||||
</publish>
|
||||
</pubsub>
|
||||
</iq>
|
||||
]]></example>
|
||||
<p>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.</p>
|
||||
</section2>
|
||||
</section1>
|
||||
|
||||
<section1 topic='Comments' anchor='comments'>
|
||||
<p>Juliet and Benvolio may want to discuss about latest Romeo's post. Romeo's client MIGHT add a <link /> 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;).</p>
|
||||
<section2 topic='Comments node' anchor='comments_node'>
|
||||
<p>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).</p>
|
||||
<example caption="Adding a comments link to a Post"><![CDATA[
|
||||
<iq from='romeo@montague.lit/pda'
|
||||
id='pub4'
|
||||
to='romeo@montague.lit'
|
||||
type='set'>
|
||||
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
|
||||
<publish node='urn:xmpp:microblog:0'>
|
||||
<item id='2ze57d9c-1c46-21df-830c-002143d3d2qgf'>
|
||||
<entry xmlns='http://www.w3.org/2005/Atom'>
|
||||
<source>
|
||||
<title>Romeo&apos;s Microblog</title>
|
||||
<link href='http://montague.lit/romeo'/>
|
||||
<id>tag:montague.lit,2008:home</id>
|
||||
<updated>2008-05-08T18:30:02Z</updated>
|
||||
<author>
|
||||
<name>Romeo Montague</name>
|
||||
<uri>xmpp:romeo@montague.lit</uri>
|
||||
</author>
|
||||
</source>
|
||||
<title>hanging out at the Caf&#233; Napolitano</title>
|
||||
<link rel='alternate'
|
||||
type='text/html'
|
||||
href='http://montague.lit/romeo/posts/2ze57d9c-1c46-21df-830c-002143d3d2qgf'/>
|
||||
<link rel='alternate'
|
||||
href='xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Amicroblog%3A0;item=2ze57d9c-1c46-21df-830c-002143d3d2qgf'/>
|
||||
<link rel='related'
|
||||
title='comments'
|
||||
href='xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Amicroblog%3A0%3Acomments%3Add88c9bc58886fce0049ed050df0c5f2'/>
|
||||
<id>tag:montague.lit,2008-05-08T18:38:02Z:posts-2ze57d9c-1c46-21df-830c-002143d3d2qgf</id>
|
||||
<published>2008-05-08T18:38:02Z</published>
|
||||
<updated>2008-05-08T18:38:02Z</updated>
|
||||
</entry>
|
||||
</item>
|
||||
</publish>
|
||||
</pubsub>
|
||||
</iq>
|
||||
]]></example>
|
||||
</section2>
|
||||
<section2 topic='Adding a comment' anchor='comment_add'>
|
||||
<p>If Juliet wants to comment Romeo's latest post, her client MUST then send a new Atom entry to the defined PubSub node.</p>
|
||||
<example caption="Adding a comment to a comments node"><![CDATA[
|
||||
<iq from='juliet@capulet.lit/pc'
|
||||
id='comment1'
|
||||
to='juliet@capulet.lit'
|
||||
type='set'>
|
||||
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
|
||||
<publish node='urn:xmpp:microblog:0:comments:dd88c9bc58886fce0049ed050df0c5f2'>
|
||||
<item id='b2106a80de39ef5ec6b8f7b69cb610c2'>
|
||||
<entry xmlns='http://www.w3.org/2005/Atom'>
|
||||
<source>
|
||||
<author>
|
||||
<name>Juliet Capulet</name>
|
||||
<uri>xmpp:juliet@capulet.lit</uri>
|
||||
</author>
|
||||
</source>
|
||||
<title>She is so pretty!</title>
|
||||
<published>2008-05-08T18:39:02Z</published>
|
||||
</entry>
|
||||
</item>
|
||||
</publish>
|
||||
</pubsub>
|
||||
</iq>
|
||||
]]></example>
|
||||
<p>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).</p>
|
||||
</section2>
|
||||
</section1>
|
||||
|
||||
<section1 topic='Message Body' anchor='body'>
|
||||
@ -201,7 +382,7 @@ xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog
|
||||
</section1>
|
||||
|
||||
<section1 topic='XML Schema' anchor='schema'>
|
||||
<p>This specification re-uses the schema for the Atom content format, i.e., the 'http://www.w3.org/2005/Atom' namespace.</p>
|
||||
<p>This specification re-uses the schema for the Atom content format, i.e., the 'http://www.w3.org/2005/Atom' namespace (see <cite>RFC 4287</cite>).</p>
|
||||
</section1>
|
||||
|
||||
<section1 topic='Acknowledgements' anchor='ack'>
|
||||
|
Loading…
Reference in New Issue
Block a user