import torrus 1.0.9
[freeside.git] / torrus / doc / devdoc / wd.messaging.pod
diff --git a/torrus/doc/devdoc/wd.messaging.pod b/torrus/doc/devdoc/wd.messaging.pod
new file mode 100644 (file)
index 0000000..5d76e11
--- /dev/null
@@ -0,0 +1,128 @@
+#  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 <ssinyagin@yahoo.com>
+#
+#
+
+=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<DisplayMessages> 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<acledit> program will have two additional options that simplify
+administration: C<--msguser> will grant all privileges except C<DeleteMessages>
+and C<EditMessages>, 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 E<lt>ssinyagin@yahoo.comE<gt>