diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2007-11-01 13:14:47 +0000 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2007-11-01 13:14:47 +0000 |
commit | fd5d8c34727a9c29bed9321c693c8a1c672d2f07 (patch) | |
tree | b7732846f3019290e7e26276b8c3f11967369c93 /docs | |
parent | 8819986d533652d510fac50ea0a409636c3c60eb (diff) |
Add room-invitation protocol description
Diffstat (limited to 'docs')
-rw-r--r-- | docs/.git-darcs-dir | 0 | ||||
-rw-r--r-- | docs/Makefile.am | 22 | ||||
-rw-r--r-- | docs/README | 6 | ||||
-rw-r--r-- | docs/room-invitation.xml | 137 |
4 files changed, 165 insertions, 0 deletions
diff --git a/docs/.git-darcs-dir b/docs/.git-darcs-dir new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/docs/.git-darcs-dir diff --git a/docs/Makefile.am b/docs/Makefile.am new file mode 100644 index 00000000..d5b7a63e --- /dev/null +++ b/docs/Makefile.am @@ -0,0 +1,22 @@ +PROTO_XEP_XML = \ + room-invitation.xml +PROTO_XEP_HTML = $(PROTO_XEP_XML:.xml=.html) + +proto-xep-html: $(PROTO_XEP_HTML) +.PHONY: proto-xep-html + +$(PROTO_XEP_HTML): %.html: %.xml xep.xsl + $(XSLTPROC) xep.xsl $< > $@ +.PHONY: proto-xep-html + +proto-xep-upload: proto-xep-html + rsync -P $(PROTO_XEP_HTML) projects.collabora.co.uk:public_html/ +.PHONY: proto-xep-upload + +xep.xsl: + @echo "Please get xep.xsl from xmpp.org svn - see README for details" + @echo "This command might work:" + @echo "wget 'http://svn.xmpp.org:18080/browse/~raw,r=1214/XMPP/trunk/extensions/xep.xsl'" + @exit 1 + +EXTRA_DIST = $(PROTO_XEP_XML) diff --git a/docs/README b/docs/README new file mode 100644 index 00000000..c133305a --- /dev/null +++ b/docs/README @@ -0,0 +1,6 @@ +To produce HTML versions of the "Tubes over XMPP" and "MUC Bytestreams" +proto-XEPs, you'll need to obtain xep.xsl from +svn://svn.xmpp.org:7398/xmpp/trunk/extensions/ and put it in this directory. +It's not distributed with Salut due to unclear licensing. As a result, +the proto-XEPs aren't compiled to HTML by a normal build - you have to run +"make -C docs proto-xep-html" explicitly. diff --git a/docs/room-invitation.xml b/docs/room-invitation.xml new file mode 100644 index 00000000..61a98677 --- /dev/null +++ b/docs/room-invitation.xml @@ -0,0 +1,137 @@ +<?xml version='1.0' encoding='UTF-8'?> +<?xml-stylesheet type='text/xsl' href='xep.xsl'?> +<xep> +<header> + <title>Link-local chat room invitations</title> + <abstract>Multi-user Chat over Reliable Multicast.</abstract> + <legal>Copyright (c) 2007 Collabora Limited. This document may be + distributed under the same terms as the Telepathy specification.</legal> + <number>proto-ll-room-invitation</number> + <status>ProtoXEP</status> + <type>Extension</type> + <sig>Standards</sig> + <approver>Telepathy project</approver> + <dependencies> + <spec>XMPP Core</spec> + </dependencies> + <supersedes/> + <supersededby/> + <shortname>NOT YET ASSIGNED</shortname> + <author> + <firstname>Simon</firstname> + <surname>McVittie</surname> + <email>simon.mcvittie@collabora.co.uk</email> + <jid>simon.mcvittie@collabora.co.uk</jid> + </author> + <revision> + <version>0.0.1</version> + <date>2007-09-26</date> + <initials>smcv</initials> + <remark><p>First draft.</p></remark> + </revision> +</header> +<section1 topic='Introduction' anchor='intro'> + <p></p> +</section1> +<section1 topic='Requirements' anchor='reqs'> + <p>STRONGLY RECOMMENDED.</p> +</section1> +<section1 topic='Glossary' anchor='glossary'> + <p>OPTIONAL.</p> +</section1> +<section1 topic='Use Cases' anchor='usecases'> + <section2 topic='Inviting a contact to a room'> + <code> + <![CDATA[ + <!-- Sent via TCP from crone1@desktop to hecate@broom --> + <message from='crone1@desktop' to='hecate@broom'> + <x xmlns='http://collabora.co.uk/protocol/llmuc'> + <invite protocol='rmulticast'> + <roomname>Witchcraft</roomname> + <address>224.0.0.66</address> + <port>13251</port> + <!-- reason is optional --> + <reason>We need to plot Macbeth's doom, but the XMPP server is + down</reason> + </invite> + </x> + <!-- for compatibility with legacy clients --> + <body>You got a chatroom invitation</body> + </message> + ]]> + </code> + </section2> +</section1> +<section1 topic='Business Rules' anchor='rules'> + <p>OPTIONAL.</p> +</section1> +<section1 topic='Implementation Notes' anchor='impl'> + <p>OPTIONAL.</p> +</section1> +<section1 topic='Internationalization Considerations' anchor='i18n'> + <p>OPTIONAL.</p> +</section1> +<section1 topic='Security Considerations' anchor='security'> + <p>REQUIRED.</p> +</section1> +<section1 topic='IANA Considerations' anchor='iana'> + <p>REQUIRED.</p> +</section1> +<section1 topic='XMPP Registrar Considerations' anchor='registrar'> + <p>None.</p> +</section1> +<section1 topic='XML Schema' anchor='schema'> + <code> + <![CDATA[ + <!-- FIXME: the namespace should be + http://telepathy.freedesktop.org/xmpp/protocol/ll/muc/ or something --> + <xs:schema + xmlns:xs='http://www.w3.org/2001/XMLSchema' + targetNamespace='http://collabora.co.uk/protocol/llmuc' + xmlns='http://collabora.co.uk/protocol/llmuc' + elementFormDefault='qualified'> + + <!-- LLMUC invitation. Sent over the IM socket --> + + <xs:element name='x'> + <xs:complexType> + <xs:choice> + <xs:element ref='invite'/> + </xs:choice> + </xs:complexType> + </xs:element> + + + <xs:element name='invite'> + <xs:complexType> + + <xs:attribute name='protocol' use='required'> + <xs:simpleType> + <xs:restriction base='xs:string'> + <!-- Other values may be added in future --> + <xs:enumeration value='rmulticast'/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + + <xs:all> + <xs:element name='roomname' type='xs:string'/> + <xs:element name='reason' minOccurs='0' type='xs:string'/> + + <!-- Required for the 'rmulticast' protocol --> + <xs:element name='address' type='xs:string'/> + <xs:element name='port' type='xs:unsignedShort'/> + + <!-- In OLPC builds, <properties> with NS_OLPC_ACTIVITY_PROPS + goes here --> + <xs:any minOccurs='0' maxOccurs='unbounded' namespace='##other'> + </xs:all> + + </xs:complexType> + </xs:element> + + </xs:schema> + ]]> + </code> +</section1> +</xep> |