diff --git a/ForumApp.markdown b/ForumApp.markdown index 32f8b39..b908498 100644 --- a/ForumApp.markdown +++ b/ForumApp.markdown @@ -1,11 +1,11 @@ -ForumApp is a [BSP application](BSP) that synchronises forum posts among groups of devices. +ForumApp is a [BSP application](BSP) that synchronises forum posts among groups of devices. Any member of a forum can write posts. The creator of a forum or any other member may invite their contacts to join. ### Channel identifiers -ForumApp has a single invitation channel with the following random identifier: +All forums share a single invitation channel with the following random identifier: `667e 2acb da80 2e61 3168 98f2 8ec5 8102 fcf2 3d10 04ee 3086 f5e9 94d8 30f5 b773` -Each forum has its own channel with a [hash identifier](BSP#channel-identifiers). The application data structure for generating the identifier is a [BDF](BDF) list with two elements: `name` (string) and `salt` (raw). The random salt prevents collisions between forums with the same name. +Each forum also has its own channel with a [hash identifier](BSP#channel-identifiers). The application data structure for generating the identifier is a [BDF](BDF) list with two elements: `name` (string) and `salt` (raw). The random salt prevents collisions between forums with the same name. The application identifer is random: `859a 7be5 0dca 035b 64bd 6902 fb79 7097 795a f837 abbf 8c16 d750 b3c2 ccc1 86ea` @@ -20,7 +20,7 @@ The application identifer is random: **3: POST** - The content is a BDF list with two elements: `author` (list, may be null) and `content` (list). If `author` is null, the post is anonymous. Otherwise `author` is a list with two elements: `identity` (list) and `signature` (raw). `identity` is a list with two elements: `name` (string) and `public_key` (raw). `signature` is calculated over `content`. -`content` is a list with three elements: `parent_id` (raw, may be null), `body` (string), and `attachments` (dictionary, may be null). If `parent_id` is not null, it is the identifier of a POST to which this is a response. Each key in `attachments` is the name of an attachment, and the value is a list with two elements: `mime_type` (string) and `message_id` (raw). +`content` is a list with three elements: `parent_id` (raw, may be null), `body` (string), and `attachments` (dictionary, may be null). If `parent_id` is not null, it is the identifier of a post to which this is a response. Each key in `attachments` is the name of an attachment, and the value is a list with two elements: `mime_type` (string) and `message_id` (raw). **4: ATTACHMENT** - The content is raw data.