Flesh out feature profiles section

Add table detailing the profiles. Add anchors to link through to each module
following a well-defined format (rather than the name of the module section).
Allow UTF-8 in the spec.
This commit is contained in:
Kegan Dougal 2015-09-25 15:09:15 +01:00
parent ca9f30a7fd
commit c6375ed3d1
10 changed files with 54 additions and 2 deletions

View file

@ -1,3 +1,38 @@
Feature Profiles Feature Profiles
================ ================
Matrix supports many different kinds of clients: from embedded IoT devices to
desktop clients. Not all clients can provide the same feature sets as other
clients e.g. due to lack of physical hardware such as not having a screen.
Clients can fall into one of several profiles and each profile contains a set
of features that the client MUST support. This section details a set of
"feature profiles". Clients are expected to implement a profile in its entirety
in order for it to be classified as that profile.
Summary
-------
============================ ===== =========== ======== ========= ===== =====
Module / Profile Web Embed-Web Mobile Desktop CLI IoT
============================ ===== =========== ======== ========= ===== =====
`End-to-End Encryption`_ YES YES YES YES
`Instant Messaging`_ YES YES YES YES YES YES
`Presence`_ YES YES YES YES
`Push Notifications`_ YES
`Receipts`_ YES YES YES YES
`Typing Notifications`_ YES YES YES YES
`VoIP`_ YES YES YES
`Content Repository`_ YES YES YES YES
============================ ===== =========== ======== ========= ===== =====
*Please see each module for more details on what clients need to implement.*
.. _End-to-End Encryption: `module:e2e`_
.. _Instant Messaging: `module:im`_
.. _Presence: `module:presence`_
.. _Push Notifications: `module:push`_
.. _Receipts: `module:receipts`_
.. _Typing Notifications: `module:typing`_
.. _VoIP: `module:voip`_
.. _Content Repository: `module:content`_

View file

@ -1,6 +1,8 @@
Content repository Content repository
================== ==================
.. _module:content:
HTTP API HTTP API
-------- --------

View file

@ -1,6 +1,8 @@
End-to-End Encryption End-to-End Encryption
===================== =====================
.. _module:e2e:
.. TODO-doc .. TODO-doc
- Why is this needed. - Why is this needed.
- Overview of process - Overview of process

View file

@ -1,6 +1,8 @@
Instant Messaging Instant Messaging
================= =================
.. _module:im:
Events Events
------ ------

View file

@ -1,5 +1,7 @@
Presence Presence
======== ========
.. _module:presence:
Each user has the concept of presence information. This encodes the Each user has the concept of presence information. This encodes the
"availability" of that user, suitable for display on other user's clients. "availability" of that user, suitable for display on other user's clients.

View file

@ -1,6 +1,8 @@
Push Notifications Push Notifications
================== ==================
.. _module:push:
Overview Overview
-------- --------

View file

@ -1,6 +1,8 @@
Receipts Receipts
-------- --------
.. _module:receipts:
Receipts are used to publish which events in a room the user or their devices Receipts are used to publish which events in a room the user or their devices
have interacted with. For example, which events the user has read. For have interacted with. For example, which events the user has read. For
efficiency this is done as "up to" markers, i.e. marking a particular event efficiency this is done as "up to" markers, i.e. marking a particular event

View file

@ -1,6 +1,8 @@
Typing Notifications Typing Notifications
-------------------- --------------------
.. _module:typing:
Client APIs Client APIs
~~~~~~~~~~~ ~~~~~~~~~~~

View file

@ -1,5 +1,8 @@
Voice over IP Voice over IP
------------- -------------
.. _module:voip:
Matrix can also be used to set up VoIP calls. This is part of the core Matrix can also be used to set up VoIP calls. This is part of the core
specification, although is at a relatively early stage. Voice (and video) over specification, although is at a relatively early stage. Voice (and video) over
Matrix is built on the WebRTC 1.0 standard. Call events are sent to a room, like Matrix is built on the WebRTC 1.0 standard. Call events are sent to a room, like

View file

@ -122,13 +122,13 @@ def main(input_module, file_stream=None, out_dir=None, verbose=False):
# check the input files and substitute in sections where required # check the input files and substitute in sections where required
log("Parsing input template: %s" % file_stream.name) log("Parsing input template: %s" % file_stream.name)
temp = Template(file_stream.read()) temp = Template(file_stream.read().decode("utf-8"))
log("Creating output for: %s" % file_stream.name) log("Creating output for: %s" % file_stream.name)
output = create_from_template(temp, sections) output = create_from_template(temp, sections)
with open( with open(
os.path.join(out_dir, os.path.basename(file_stream.name)), "w" os.path.join(out_dir, os.path.basename(file_stream.name)), "w"
) as f: ) as f:
f.write(output) f.write(output.encode("utf-8"))
log("Output file for: %s" % file_stream.name) log("Output file for: %s" % file_stream.name)
check_unaccessed("units", units) check_unaccessed("units", units)