Browse code

add legacy backend description

AC75093375 authored on 29/05/2017 at 07:27:42
Showing 6 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,3 @@
0
+# BML
1
+
2
+TODO
0 3
\ No newline at end of file
... ...
@@ -2,7 +2,7 @@
2 2
 
3 3
 A legacy [tribune](../tribune.md) is a /customary standard/. It has a least a [bouchot](../bouchot.md):
4 4
 
5
-- an XML backend accessible through HTTP request.
5
+- an [XML backend](xml_backend.md) accessible through HTTP request.
6 6
 - an HTTP POST support for posting messages.
7 7
 
8 8
 Most alive tribunes add features:
9 9
new file mode 100644
... ...
@@ -0,0 +1,60 @@
0
+# XML backend
1
+
2
+XML backend must conform to [xml_backend.xsd](/xml_backend.xsd).
3
+
4
+```xml
5
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
6
+<board site="https://b3.bci.im?room=cppfrug" timezone="Europe/Paris">
7
+    <post id="1496037685830" time="20170529080125">
8
+        <info>dave</info>
9
+        <message>je vous ai aussi mis sara, l'assistante de tribune à l'IA surpuissante!</message>
10
+        <login/>
11
+    </post>
12
+    <post id="1496037617881" time="20170529080017">
13
+        <info>sara</info>
14
+        <message>Aujourd'hui, c'est la Journée Internationale des casques bleus. Hihi!</message>
15
+        <login/>
16
+    </post>
17
+    <post id="1496037615685" time="20170529080015">
18
+        <info>charlie</info>
19
+        <message>sara&amp;lt; quoi de neuf aujourd'hui ?</message>
20
+        <login/>
21
+    </post>
22
+</board>
23
+```
24
+
25
+## board element
26
+
27
+board is the root element of xml backend.
28
+
29
+### site attribute
30
+
31
+Root URL of the [tribune](../tribune.md).
32
+
33
+### timezone attribute
34
+
35
+[Canonical ID](https://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html#getAvailableIDs--) of board's [norloges](../norloge.md) timezone. Default to /Europe\/Paris/.
36
+
37
+## post element
38
+
39
+Each post is a message posted by a [moule](../moules.md).
40
+
41
+### id attribute
42
+
43
+Technical post numeric identifier.
44
+
45
+### time attribute
46
+
47
+Date and time of post in yyyyMMddHHmmss format.
48
+
49
+## info
50
+
51
+Free text related to posting [moule](../moules.md). Usually nickname or browser [User Agent](https://en.wikipedia.org/wiki/User_agent).
52
+
53
+## message
54
+
55
+Message body in [BML](/legacy_bml.md) format.
56
+
57
+## login
58
+
59
+Optional authenticated  user login.
0 60
new file mode 100644
... ...
@@ -0,0 +1,21 @@
0
+<xs:schema attributeFormDefault="unqualified"
1
+	elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
2
+	<xs:element name="board" type="boardType" />
3
+	<xs:complexType name="postType">
4
+		<xs:sequence>
5
+			<xs:element type="xs:token" name="info" />
6
+			<xs:element type="xs:normalizedString" name="message" />
7
+			<xs:element type="xs:token" name="login" />
8
+		</xs:sequence>
9
+		<xs:attribute type="xs:long" name="id" use="required" />
10
+		<xs:attribute type="xs:long" name="time" use="required" />
11
+	</xs:complexType>
12
+	<xs:complexType name="boardType">
13
+		<xs:sequence>
14
+			<xs:element type="postType" name="post" maxOccurs="unbounded"
15
+				minOccurs="0" />
16
+		</xs:sequence>
17
+		<xs:attribute type="xs:anyURI" name="site" />
18
+		<xs:attribute type="xs:string" name="timezone" default="Europe/Paris" />
19
+	</xs:complexType>
20
+</xs:schema>
0 21
\ No newline at end of file
1 22
new file mode 100644
... ...
@@ -0,0 +1,11 @@
0
+# Norloge
1
+
2
+Norloges are references to [post](/post.md).
3
+
4
+# Datetime based norloge
5
+
6
+TODO
7
+
8
+# Id based norloge
9
+
10
+TODO
0 11
\ No newline at end of file
1 12
new file mode 100644
... ...
@@ -0,0 +1,11 @@
0
+# post
1
+
2
+Post are messages posted by [moules](/moules.md) on [tribunes](/tribunes.md).
3
+
4
+A post carry following data:
5
+
6
+- message body.
7
+- date and time.
8
+- unique identifier.
9
+- [moule](/moules.md) free text information.
10
+- [moule](/moules.md) authenticated login.
0 11
\ No newline at end of file