Page MenuHomePhorge

User Stories
Updated 3,061 Days AgoPublic

Version 2 of 3: You are viewing an older version of this document, as it appeared on Nov 10 2015, 9:32 PM.

User Stories

The following user stories shall help outlining the application structure and explain how the different components contribute to the overall functionality of the application.

Rob logs in to the webmail to check for new messages

  1. He opens the webmail location in his browser
  2. He enters his username and password at the login prompt
  3. The main navigation shows a badge near the mail icon indicating 5 new messages
  4. Rob clicks the mail icon in the main navigation to open the mail view

Involved components and events:

  1. The shell renders the login form
  2. Upon submit, the shell authenticates through the JMAP adapter and activates the / route
  3. The shell emits the shell.session.authenticate event and the mail app fetches the number of unread messages from the server.
  4. The shell.ui activates the /mail route. the mail app renders the mail view and fetches the mailboxlist and the inbox messages from the JMAP data store.

Mary opens an email message for reading

  1. In the message list she clicks the new and yet unread message from Jane
  2. The message content is displayed in the preview pane on the right
  3. Next to the email sender name a green icon indicates that Jane is now online on Jabber
  4. After a few seconds, the clicked row in the message list looses the "unread" indicator

Involved components and events:

  1. The mail app activates the /mail/message/md2f58fbc8 route
  2. The mail app fetches the message from the JMAP store and emits the mail.model.message.load event. The jabber app compares the message headers (from, to, cc) with the presence information from the roster.
  3. The mail app renders the mail view and emit the mail.view.message.render event. The jabber app extends the message header view with presence indicators for sender and recipients.
  4. Once the message is shown for 5 seconds, the unread flag is removed from the message model which updates the list view. The changes are synchronized to the server through the JMAP data store.

Gregg receives an event invitation

  1. A notification bubble announces a new message arrived in the inbox
  2. Gregg clicks the Inbox folder to see the message list with a new unread message on top
  3. In the message list he clicks the new and yet unread message
  4. The message content is displayed in the preview pane on the right
  5. The message is detected to contain an iTip event invitation attachment and a box in the preview pane asks Gregg whether for RSVP (Accept, Maybe, Decline)
  6. Gregg clicks the Check Calendar button to see his calendar for the requested day
  7. Since he has no other events listed for that afternoon, he accepts the invitation
  8. The event is added to his personal calendar and a reply to the organizer is sent
  9. Notification bubbles confirm these actions

To be continued ...

Last Author
bruederli
Last Edited
Nov 10 2015, 9:32 PM