Requirements File Name: message_center_reqs.html
Message Center Page Requirements
 
Change Log
Version Date Author Changes Notes
1.0 11/07/2006 Kevin Puleo Added requirements  
2.0 12/18/2006 Kevin Puleo Changed requirements based on apix strategy  
2.1 1/15/2007 Kevin Puleo Subject field removed  
2.1.5 1/23/2007 Kevin Puleo Sort Icon added to top row of table  


Introduction
The purpose of this page is allow members to communicate with other members on Apix. The message center is accessible from a messages indicator button in the header and from within the my pages subnav area only. From within the message center owners can check their private message inbox, send messages, reply to messages, send invitations, check for invitations, check for comments, and check for messages from the mlab staff. Each one of these use features will be detailed more thoroughly in subsequent sections.

Requirements
The message center defaults to displaying received private messages. Private messages will never expire or be removed from the user's inbox unless initiated by the user. However we should make this configurable because at some point we may want to automagically remove messages after 35 days of no activity on that particular message thread. To use the message center the user must be logged in.




Navigation
There is a set of controls that will be available to the user to help them manage their message inflow and outflow.
  1. Message Center Settings - Takes user to manage pages area where they can set their message center preferences - see that section for more information
  2. Nav Box Links (Generally) - Links to other message center inboxes
    1. If the link is bold with a number after it then that indicates there are new and/or unread messages in that inbox, if all messages in a particular inbox have a "read" status then the nav link is unbolded and the number in parens is removed.
    2. Status of all inboxes should be checked on new page reload or on page refresh initiated by the user on their browser
  3. * Private Messages Sent - This section works the same as the message center inbox except:
    1. the profile pic is the recipients
    2. the from column changes to "To" with the to data being the recipient's membername
  4. Compose a Message - button that links to the message composition page. This link should have a different look than the rest of the inbox links since it is not an inbox




Supporting Controls
There is a set of controls that will be available to the user to help them manage their message inflow and outflow.
  1. Select - Actions only apply to items displayed on the page currently. Select actions may be stacked upon one another so it is feasable that the user could select the unread and read link for instance to check those items on
    1. All - adds a checkmark to all messages. The checkbox is located in the first column of every row. This checkbox is unchecked by default.
    2. None - Any checked rows will become unchecked
    3. Unread - any unread messages will become checked
    4. Read - Any read items will become checked
    5. Flagged - any flagged items will become checked
  2. Checked Actions - once a line item is checked on an action may be applied to it
    1. Delete - removes all checked items. doing this refreshes the page and line items from the next set of 20 messages will be used to fill in the gaps. So the remaining items on the display page collapse and the next set of messages fill in after the collapse to make 20 max on a page.
    2. Mark as Read - all checked items lose their boldness (unread status) - if the checked item is already in read status the staus remains unchanged
    3. Mark as Unread - all checked items get an unread status attached to it (see unread messages below for staus change requirements)
    4. Flag as Inappropriate - All checked items get a flag indication attached to it indicated by the flag icon in the last column of each row. Flagging a message will send the message to the moderator's inbox for review. Any moderator response will be displayed as reply in the thread to the offending message.
    5. Block - blocks a user from sending anymore correspondence, when a user is blocked they are added to the blocked friends list in the user's manage pages area under the friends section. if the user has been previously blocked before the message was sent by the blocked user then the message would never had made it to rthe user's private message inbox in the first place
  3. Sorting - messages may be sorted using the column links at the top of the messages list on each page. Sorting cannot be stacked so there is no boolean functions like seeing the oldest from ordering membernames Z-A, sorting works on the whole pool of messages not just the messages displayed on the current page. The sort is defaulted to Date Received with the newest items first descending to oldest date.
    1. From - sorts alphabetically - click once sorts last reply membername A-Z, click again without selecting another sort link then the sort goes membernames Z-A
    2. Message - sorts alphabetically like "from" except its the first letters of the subject line
    3. Date recieved - If this is the first sort link to be selected after page load then the order switches from newest to oldest to oldest to newest. Select the link again and the order goes back to newest to oldest.
      1. Sort Icon - Since this column is the default column for sorting it also has a sorting indicator icon at the top of the column. The order is newest to oldest but if the column is selected again the sort would be oldest to newest and the icon would be flipped to indicate the change. If a different cloumn is selected then that column would receive the icon while being removed from its current column
    4. Status
      1. 1st click - puts all of the flagged messages at the top of the list - there is no secondary action
      2. 2nd click - puts all blocked messages to top




Message Display
    General
  1. If the inbox is empty a message should disply where the line items normally would be that says something like, "You have no messages at this time."
  2. Messages are displayed with the newest first - so by column date
  3. There are 20 messages displayed before pagination begins (please make this configurable)
    1. There should be an indicator of what chunk of 20 is being viewed and of how many ie 1-20 of 130
    2. There should also be a way to traverse ahead or back with next and previous buttons to go back and forwared a page and also allow user's to skip to any page with a page link indicator button ie < Previous | 1 | 2 | 3 | 4 | 5 | Next >
  4. Each line item has these components
    1. Checkbox - used for giving the message an action (see above)
    2. Profile Pic of sender/replier
    3. From - displays all membernames in thread
    4. Message - displays the first part of the message truncated and dimmed to 2 lines max.
    5. Date Received - dates are displayed with date and time stamp of time sent by sender not by time downloaded by recipient
    6. Status - icon appears if the message has been flagged as inappropriate, or the user has been blocked
  5. Messages are threaded ala Gmail so the user can see how the message thread has progressed over time.
    1. The person who is replying has their profile pic display as well as their membername display in the from column
    2. The thread is indicated in the from column with the first person to initiathe conversation and the last person to reply and all the replies in between. If the thread goes beyond 4 replies then the from entry gets truncated. It will display the first to repliy names then truncate then show the last two reply from names. Along with this the number of replies in parens will be displayed ater the last membername to reply. If the last reply is unread this number will be bolded along with the membername's, if there is only one message name in the from column there is no need to display the thread count indicator number
    3. In the subject column the thread is indicated by displaying part of the last message sent. The message text will be dimmed to 50% of font color and truncated to two lines of text and the message will begin immediately after the hyphen after the subject
  6. When a message row is rolled over by the user the whole row highlights with a color (HEX and function TBD but for now use the demoed color and fade)
  7. The whole row should be selectable so if the mouse is highlighting a row even though it is not over a text link the onclick should take the user to the actual message.
  8. When a user rolls over and holds over a profile pic for .75 seconds there is a balloon pop-up that appears. In the balloon is a snippet of the pic owner's profile information. The balloon includes: a profile pic, profile name, an indicator as to whether or not the member is online, age, gender, location, relationship status, a truncated profile description, a link to the user's profile page, and a link to send a message to that person. The profile pic as well as the membername are linked to the poster's profile page. The send a message link goes to the sender's message center with the poster's info already populated in the "To" box. See the message center for more information.
    Unread
  1. Messages are displayed with the newest first - not only are new messages pushed to the top but old threaded messages that have a new reply get pushed to the top
  2. Unread messages are bolded they are given this state when the user has either given that message an uread state through an action or by not clicking the line item to open and read it. If the item has been read but the user wants to mark it as unread they may and the same unread rules apply and the line item maintains its position in the message order
    1. the last "from" name - so if there are 15 replys the last unread from reply is bolded
    2. Message
    3. date received
    Read
  1. Messages are displayed with the newest first
  2. Read messages are not bolded. A Read message is stated as such when it is either given that tag action by the user or the line item is selected and the thread is opened. If the user wants to mark the message as read without opening the message they may through a checkbox select action. Doing this does not affect the messages position in the order of messages



FAQ Module
This module needs to be easily updateable by a content management admin. So the module should be dynamic and sgared across multiple pages. The links populated in the module should be changed once in one spot and then propogated to wherever the module resides in the UI.




Promotional Space
Used to promote whatever the content and marketing teams want.