comparison whitepaper.txt @ 2:910fa7e781b9

update whitepaper
author k0s <k0scist@gmail.com>
date Tue, 02 Feb 2010 16:39:08 -0500
parents 79ba50af9443
children f09ba04b2e29
comparison
equal deleted inserted replaced
1:79ba50af9443 2:910fa7e781b9
1 = Discussions = 1 Discussions
2 ===========
2 3
3 All Discussions objects are basically the same. You get a set of 4 All Discussions objects are basically the same. You get a set of
4 options which are inherited from the parent or provided. 5 options which are inherited from the parent or provided.
5 6
6 == Roles and Permissions == 7 Discussions (version 1) is a strict hierarchy with views on this object.
8 Email messages (as per the python ``email`` module) are used as the
9 basis of all message object: that is, each object should be
10 expressable as a set of headers and body. Since email messages are
11 hierarchal, the organization makes sense
12
13 Discussion version 2 is planned to be a directed graph.
14
15 Core concepts:
16 * events
17 * people
18 * moderation
19 * policy
20
21
22 Events
23 ------
24
25 The add_message event: this is the portal event for all messages going
26 through discussions. This may be via
27
28 * email
29 * web
30 * command line
31
32 This could provide a front for twitter, RSS, or other discussions instances.
33
34
35 Roles and Permissions
36 ---------------------
7 37
8 A member can be in one of three states with respect to a resource: 38 A member can be in one of three states with respect to a resource:
9 39
10 * administrator: has all rights over a resource except as set by 40 * administrator: has all rights over a resource except as set by
11 above resources; Administrators of the root ('/') resource are 41 above resources; Administrators of the root ('/') resource are
16 groups? probably not] 46 groups? probably not]
17 47
18 * non-members: if an agent isn't a member of a resource, they 48 * non-members: if an agent isn't a member of a resource, they
19 generally have lowest level priveleges. 49 generally have lowest level priveleges.
20 50
21 == Options == 51 Options and Configuration
52 -------------------------
22 53
23 Options can be in one of three states: unset, set, and locked (and 54 Configuration options can be in one of three states: unset, set, and locked (and
24 set + locked). In 55 set + locked). In
25 the case where the option is locked, all children inherit the setting 56 the case where the option is locked, all children inherit the setting
26 as well: 57 as well:
27 58
28 archive.lock = false 59 archive.lock = false
42 If an option is unset, it will use the settings of its parent, the 73 If an option is unset, it will use the settings of its parent, the
43 site defaults, or the application default, based on its type 74 site defaults, or the application default, based on its type
44 (Forum or Discussion). 75 (Forum or Discussion).
45 76
46 77
47 = Members = 78 Members
79 -------
48 80
49 == Preferences == 81 Preferences:
50 82
51 Member preferences can also be set from the site level. 83 Member preferences can also be set from the site level.
52 84
53 = Digest = 85
86 Digest
87 ------
54 88
55 Different templates can be used to display different digest methods. 89 Different templates can be used to display different digest methods.
56 For instance, you could display a brief form of the message with just 90 For instance, you could display a brief form of the message with just
57 the links: 91 the links:
58 92
64 98
65 }}} 99 }}}
66 100
67 This can be used to facilitate a moderated digest. Roundup emails can 101 This can be used to facilitate a moderated digest. Roundup emails can
68 be sent about a discussion written and editted by the moderator. 102 be sent about a discussion written and editted by the moderator.
103
104
105 Hierarchy Example
106 -----------------
107
108 Both Forum and Conversation objects are MessageContainers.
109
110 /foo
111 bar/--message 1
112 | |
113 | +-reply to message 1
114 | | |
115 | | \-"..."
116 | |
117 | \-"..."
118 |
119 +-message 2
120 |
121 \-message 3
122
123 URL for reply posting: /foo/<message id>/reply
124 (posts to /foo/<message id> )
125
126
127 Message Objects
128 ---------------
129
130 { 'headers': {},
131 'messages': [ list, of, children ],
132 'next':
133 'previous':
134 'parent': }