You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 lines
2.9 KiB

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE xep SYSTEM 'xep.dtd' [
<!ENTITY % ents SYSTEM "xep.ent">
<?xml-stylesheet type='text/xsl' href='xep.xsl'?>
<title>Shared Notes</title>
<abstract>A simplistic mechanism for shared notes, modeled after common stickie note applications.</abstract>
<dependencies><spec>XMPP Core</spec></dependencies>
<shortname>Not yet assigned</shortname>
<remark>At the request of the author, changed the status of this document to Deferred pending development of an implementation; also changed the type to Informational.</remark>
<remark>Initial version.</remark>
<section1 topic='Introduction'>
<p>A very simple namespace contaning display hints for the content in a message. Can be used for
person-person collaboration, or by a service managing notes.</p>
<section1 topic='Message Extension'>
<p>Normal messages are sent, with a sharednote namespace extending them hinting to any supporting client on
how to display the message as a note instead. Any changes to the note within that client should then be sent
back to the sender, either automatically or when the user saves the note (depending on the update element, by
default on a save action by the user).</p>
<example caption='An Example Shared Note Message'><![CDATA[
<message from="" to="">
<subject>Council Votes</subject>
<body>Need votes from bob, tom, and jane yet for XEP-0000</body>
<note xmlns="">
<p>Any element not specified in the note should use the last known setting or client defaults, so that when a
change is sent, only the changed elements are returned.</p>
<section1 topic='Implementation Notes'>
<p>Each thread is a different shared note. Auto updates should use an internal client timer and batch large
changes into chunks, when the user is typing every 5-10 seconds or so. When the user has made changes that
haven't been sent and an update comes in on the same thread the client should prompt the user with the
changes offering to replace or save their changes.</p>