import torrus 1.0.9
[freeside.git] / torrus / doc / devdoc / wd.messaging.pod
1 #  Copyright (C) 2002  Stanislav Sinyagin
2 #
3 #  This program is free software; you can redistribute it and/or modify
4 #  it under the terms of the GNU General Public License as published by
5 #  the Free Software Foundation; either version 2 of the License, or
6 #  (at your option) any later version.
7 #
8 #  This program is distributed in the hope that it will be useful,
9 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
10 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 #  GNU General Public License for more details.
12 #
13 #  You should have received a copy of the GNU General Public License
14 #  along with this program; if not, write to the Free Software
15 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
16
17 # $Id: wd.messaging.pod,v 1.1 2010-12-27 00:04:36 ivan Exp $
18 # Stanislav Sinyagin <ssinyagin@yahoo.com>
19 #
20 #
21
22 =head1 RRFW Working Draft: Messaging subsystem
23
24 Status: pending implementation.
25 Date: Jun 30 2004. Last revised:
26
27 =head2 Introduction
28
29 Due to the modular and flexible architecture of RRFW, nothing prevents
30 us from having the possibility of user messages displayed in RRFW pages.
31 This design document describes the concept of this functionality.
32
33 =head2 Description
34
35 The messaging subsystem will allow the RRFW users to leave comments and
36 short messages directly at the RRFW pages. Those may be remarks about the
37 graph contents, troubleshooting journal, etc.
38
39 Each user is uniquely identified by RRFW ACL susbsystem. We introduce several
40 new attributes and privileges for messaging functionality. Privilege objects
41 are the tree names.
42
43 Attributes:
44
45 =over 4
46
47 =item * email
48
49 The user's e-mail where the notifications will be sent
50
51 =item * msgnotify
52
53 When set to true value, e-mail notifications will be sent to this users.
54
55 =back
56
57 Privileges:
58
59 =over 4
60
61 =item * PostMessages
62
63 allows the user to add messages to the tree objects.
64
65 =item * DisplayMessages
66
67 allows the user to see all messages for the tree
68
69 =item * ReceiveNotifications
70
71 allows the user to receive e-mail notifications. For those notifications
72 generated by Messages, C<DisplayMessages> must be granted too.
73
74 =item * DeleteMessages
75
76 allows the user to delete messages from the tree objects
77
78 =item * EditMessages
79
80 allows the user to change any message
81
82 =item * EditOwnMessages
83
84 allows the user to change his/her own messages
85
86 =back
87
88 The C<acledit> program will have two additional options that simplify
89 administration: C<--msguser> will grant all privileges except C<DeleteMessages>
90 and C<EditMessages>, and C<--msgadmin> will grant all messaging privileges.
91
92 The messaging options database will contain parameters that each user can tune
93 for himself or herself:
94
95 =over 4
96
97 =item * Notify when
98
99 a) any new message in all trees; b) (default) new message for
100 objects that I commented only.
101
102 =item * Notification format
103
104 a) plain text (default); b) HTML; c) RSS 2.0
105
106 =item * Subject line format
107
108 The format pattern with keywords like C<$TREE>, C<$PATH>, C<$AUTHOR>,
109 C<$MSGID>, etc.
110
111 Default:
112
113   [rrfw $MSGID] $TREE $AUTHOR: $PATH
114
115 =back
116
117 Each message will have the status of Read/Unread per each user in the system.
118
119 On the tree chooser page in RRFW Web interface, the user will be shown
120 the unread messages.
121
122 RRS 2.0 feed will be provided for messages export and for integration with
123 other messaging systems.
124
125
126 =head1 Author
127
128 Copyright (c) 2004 Stanislav Sinyagin E<lt>ssinyagin@yahoo.comE<gt>