# Copyright (C) 2002 Stanislav Sinyagin # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. # $Id: wd.messaging.pod,v 1.1 2010-12-27 00:04:36 ivan Exp $ # Stanislav Sinyagin # # =head1 RRFW Working Draft: Messaging subsystem Status: pending implementation. Date: Jun 30 2004. Last revised: =head2 Introduction Due to the modular and flexible architecture of RRFW, nothing prevents us from having the possibility of user messages displayed in RRFW pages. This design document describes the concept of this functionality. =head2 Description The messaging subsystem will allow the RRFW users to leave comments and short messages directly at the RRFW pages. Those may be remarks about the graph contents, troubleshooting journal, etc. Each user is uniquely identified by RRFW ACL susbsystem. We introduce several new attributes and privileges for messaging functionality. Privilege objects are the tree names. Attributes: =over 4 =item * email The user's e-mail where the notifications will be sent =item * msgnotify When set to true value, e-mail notifications will be sent to this users. =back Privileges: =over 4 =item * PostMessages allows the user to add messages to the tree objects. =item * DisplayMessages allows the user to see all messages for the tree =item * ReceiveNotifications allows the user to receive e-mail notifications. For those notifications generated by Messages, C must be granted too. =item * DeleteMessages allows the user to delete messages from the tree objects =item * EditMessages allows the user to change any message =item * EditOwnMessages allows the user to change his/her own messages =back The C program will have two additional options that simplify administration: C<--msguser> will grant all privileges except C and C, and C<--msgadmin> will grant all messaging privileges. The messaging options database will contain parameters that each user can tune for himself or herself: =over 4 =item * Notify when a) any new message in all trees; b) (default) new message for objects that I commented only. =item * Notification format a) plain text (default); b) HTML; c) RSS 2.0 =item * Subject line format The format pattern with keywords like C<$TREE>, C<$PATH>, C<$AUTHOR>, C<$MSGID>, etc. Default: [rrfw $MSGID] $TREE $AUTHOR: $PATH =back Each message will have the status of Read/Unread per each user in the system. On the tree chooser page in RRFW Web interface, the user will be shown the unread messages. RRS 2.0 feed will be provided for messages export and for integration with other messaging systems. =head1 Author Copyright (c) 2004 Stanislav Sinyagin Essinyagin@yahoo.comE