Message Center

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another member of the Core Development Team before making changes.

Summary

The Message Center is an internal mail system which allows users to communicate, in private, with other users on a Server.

Scope

The scope of this specification is to explain the features of the Message Center and to determine the lower-level functionality it will require.

Design

The Message Center requires a separate Client-side User Interface, to be opened through a menu item or a button in the main UI. It will provide the following functionality:

  • The ability to compose and send a message to another user(s) on a Server, and store a copy of the sent message;
  • The ability to cancel a sent message which has not yet been delivered;
  • The ability to receive a message from another user;
  • The ability to compose and save a message as a draft without sending it;
  • The ability to delete a sent or received message;
  • The ability to sort messages sent and received into Personal Folders.

A mock-up of the Message Center UI is shown below:

messages_overview-wiki.jpg

Please find it annotated below (click for a larger image):

messages_overview_annotated-wiki.jpg

The main window consists of the menu, the main frame (which shows a list of messages) and the preview frame.

As shown in the menu, there are four sections to the Message Center:

  • Inbox
  • Drafts
  • Outbox
  • Sent

A user can open an email and read it in a separate window, View Message, as well as in the preview frame.

There is also another window, Compose Message, which allows a user to compose, or reply to, or forward a message.

Inbox

The Inbox stores the messages that a user has received. The UI will distinguish between messages which have been read and messages which have not yet been read.

The Inbox will also show a message preview frame which will provide the following information:

  • The Server on which the message was received;
  • The sender of the message;
  • The recipient(s) of the message;
  • The subject of the message;
  • The message content.

The message preview frame will distinguish between the relevant information and the message content by framing the relevant information with a grey background.

Drafts

Drafts stores messages which a user has composed but does not yet wish to send. A user can then edit, delete or send the draft as they please.

Drafts will also show a message preview frame which will provide the following information:

  • The Server on which the message will be sent;
  • The sender of the message;
  • The proposed recipient(s) of the message;
  • The subject of the message;
  • The message content.

The message preview frame will distinguish between the relevant information and the message content by framing the relevant information with a grey background.

Outbox

The Outbox stores messages which have been sent using the “Send” button in the “Compose Message” window but which have not yet been transferred to the Server for delivery to the recipient(s). A message would not be delivered if, for example, the sender has disconnected from the Server and composed the message while offline. As soon as a connection to the Server is established, the messages would be moved from Outbox into the Sent folder automatically.

The Outbox will also show a message preview frame which will provide the following information:

  • The Server on which the message is being sent;
  • The sender of the message;
  • The recipient(s) of the message;
  • The subject of the message;
  • The message content.

The message preview frame will distinguish between the relevant information and the message content by framing the relevant information with a grey background.

Sent

The Sent folder stores messages which have been sent to the Server for delivery to their recipient(s).

The Sent folder will also show a message preview frame which will provide the following information:

  • The Server on which the message was sent;
  • The sender of the message;
  • The recipient(s) of the message;
  • The subject of the message;
  • The message content.

The message preview frame will distinguish between the relevant information and the message content by framing the relevant information with a grey background.

Compose Message

This window is opened by clicking the “Compose” button in the Message Center, or by pressing “Reply” or “Forward” on an existing message. The message can have a unique subject. The message can either be saved as a draft, or sent, or discarded.

A mock-up of the Compose Message window is shown below:

messages_compose-wiki.jpg

The Add Recipient dialog allows a user to choose a recipient from a specific Server. A mock-up of the Add Recipient dialog is shown below:

messages_add_recipient-wiki.jpg

More than one recipient can be added, if the sender desires, by using the Add Recipient dialog multiple times.

CC (Carbon Copy) and BCC (Blind Carbon Copy) fields should also be made available, below the To field.

The message can also transfer files to the recipient as attachments.

A message will be auto-saved to the Drafts folder as it is being composed. If a user discards the message being composed, the auto-saved copy is deleted from Drafts. If the message is sent, the message is deleted from Drafts and added to the Sent folder. If the message is saved as a draft, the auto-saved copy becomes a permanent draft in Drafts.

View Message

This is a window which appears when a user double-clicks a message in order to read it individually. This window will provide the options to:

  • Delete the message (with a “Delete” button);
  • Reply to the message sender (with a “Reply” button);
  • Reply to the message sender and all other recipients (with a “Reply All” button);
  • Forward the message (with a “Forward” button);
  • Print the message (with a “Print” button);
  • Mark the message as unread (with a “Mark as Unread” button).

This window will also display a message frame below these buttons which will provide the following information:

  • The Server on which the message was sent;
  • The sender of the message;
  • The recipient(s) of the message;
  • The subject of the message;
  • The message content.

The message frame will distinguish between the relevant information and the message content by framing the relevant information with a grey background.

Settings

The user can, through the Settings of the Mira Groupware core application (and not the Message Center window), configure their own preferences for the Message Center.

The user can configure whether to save sent messages in the Sent folder or to refrain from saving them.

Personal Folders

“Personal Folders” are user-created folders which appear below the “Folders” branch in the Message Center menu. Personal Folders can hold any messages that have been sent or received by a user.

Personal Folders can be created and deleted as wished by the user. A Personal Folder cannot be deleted if it contains messages (the messages must be moved out of the Personal Folder or deleted, first).

Synchronisation

The Message Center will be synchronised with Mira Server whenever any event occurs (such as a message being read, deleted, drafted, etc.). The purpose of this is that, if a user operates Mira Client on several different computers in different locations, the Message Center will be identical regardless of where they log in.

A synchronisation will occur if a user is online (or returns online) when any of the following events has occurred:

  • A Personal Folder has been created, or deleted;
  • An unread message in the Inbox has been read;
  • A read message in the Inbox has been marked as unread;
  • A message has been composed and saved as a draft, or sent;
  • A message has been moved to another folder;
  • A message has been deleted.

Implementation

This will use the 'M' message, as stated by Alan in our meeting on 12/04/2010, which I summarised as follows:

Alan pointed out that Shilpa has already created the 'M' network message, which will be used in the Message Center. Her message parser has the ability to 'queue' messages so that, if the recipient user isn't online when the message is sent, the user will receive the message when they next connect. Badri will be able to use this as the basis for the network communications performed by the Message Center.
Alan also indicated that the 'PM' network message is currently used for instant messaging in the Chat widget, and that the Workplace Chat Utility will use its own Utility message for communication.

The 'M' message is defined in the communication protocols blueprint.

Outstanding Issues

 
development/blueprints/layers/message_center.txt · Last modified: 2010/12/09 19:10 by j_k9
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki