Chapter 2. Developer's guide

2.1. Webmail Application Requirements

by Erik Bielefeldt

2.1.1. Introduction

This document describes the requirements for the ACS Webmail application. The Webmail application provides a web-based email service.

2.1.2. Vision Statement

Web-based email is a convenient and highly accessible way of communicating over the internet. Because web-based email only requires a browser, it is accessible from almost any connected computer, and because all the messages are stored on a server, it is easy for the user to check his or her mail from a number of different machines. The Webmail application aims to achieve the following goals:

  • Provide a reliable web-based email service

  • Provide a simple, but powerful user-interface

  • Provide a service competitive with other commercial web-based email services

  • Provide a scalable data-model and efficient implementation

  • Integerate seemlessly with the ACS core (and other modules)

See Competitive Analysis for further discussion of what Webmail should and should not provide in the future.

2.1.3. System/Application Overview

The Webmail application consists of:

  • An interface for the user including:

    • Browsing available messages

    • Reading specific messages

    • Composing outgoing messages

    • Customizing the user interface and functionality of the application

  • An interface for the administrator which includes:

    • Creating and deleting domains handled by Webmail

    • Adding and deleting users in those domains

    • Viewing a list of recent Webmail errors

2.1.4. Use-cases and User-scenarios

The Webmail application is intended to provide ArsDigita employees and community members a web-based email service. Users would be community members who are looking for a convenient mail-service which would seamlessly integrate with other ACS tools, or people looking to escape highly commercialized mail-systems like Hotmail or Yahoo! Mail.

2.1.5. Competitive Analysis

As a pure web-based email system, Webmail will equal, and eventually surpass Hotmail, Yahoo! Mail, and other commercial web-based email services in usability and functionality.

In comparison to other mail solutions as a whole (this includes IMAP, POP, and custom solutions), however, there is still a lot lacking. The user-interfaces of web-based email systems tend to be somewhat more cumbersome than specialized mail clients like Microsoft Outlook and Netscape Messenger. Their strength is their accessibility--all that is needed is a web browser. The optimal solution for an individual, however, might a combination of both: a specialized client which can be run on the user's primary machine and web-based access for those times when that individual does not have access to the primary machine. There are already systems which allow this, including several free IMAP versions. The advantage of IMAP systems is that they are based on a standard protocol which allows users to choose their client application. They also allow users to store messages on the server rather than on the client, thus allowing the messages to be accesible from numerous locations.

The question facing ArsDigita is what sort of a solution would we like to be able to provide? Webmail certainly offers basic email functionality to any site which chooses to install it, and this is probably enough for most casual users, but it does not offer a complete solution for a business looking to provide their employees or customers with a high-powered email system for business use. There are several options ArsDigita can take in continuing webmail development: (arranged from easiest to most difficult to implement)

  • Continue improvements on the current system--keeping it web-based but trying to offer the most powerful, flexible features of any web-based system. For anyone who moves around a lot, Web-based solutions are the most accessible. With continued improvement, the user interface could be made to match that of client-based solutions.

  • Integrate the ACS with an existing IMAP solution, relying on their product for functionality (with some customizations), but providing a seemless user-experience and crossover between their system and other ACS functionalities

  • Develop a custom server (probably IMAP) for ACS

Email is such a core part of building a community that I believe that ArsDigita must provide some form of it. Whether it is worth the resources to provide something beyond the current web-based system still needs to be assessed.

2.1.7. Requirements: Data Model

  • 10.0 Domains

    10.1 Domains have a full domain name

    10.2 Domains have a short name for internal use

  • 20.0 Users

    20.1 Users have an email user name

    20.2 Users are associated with a domain

    20.3 Users have a referenced column in the users table

  • 30.0 Mailboxes

    30.1 Mailboxes are associated with users

    30.2 Mailboxes are uniquely identified by name and associated user

  • 40.0 Incoming Messages

    40.1 Messages are associated with mailboxes (and hence to users)

    40.2 Messages have various flags to record their states (deleted, answered, read, draft, etc.)

    40.3 Messages have headers associated with them which keep track of their header information

    40.4 Messages have attachments associated with them which store any data received as an attachment

  • 50.0 Outgoing Messages

    50.1 Messages are associated with the composing user

    50.2 Messages have headers associated with them which keep track of their header information

    50.3 Messages have attachments associated with them which store any data received as an attachment

2.1.8. Requirements: Webmail Administration

  • 60. 0 Creating Domains

    60.1 The administrator may create or delete domains for which Webmail will accept mail

  • 70.0 Creating Webmail Accounts

    70.1 The administrator may create or delete user Webmail accounts

    70.2 The administrator may set the size limit(in mb) of Webmail accounts

2.1.9. Requirements: Webmail User Interface

  • 80.0 Browsing Messages

    80.1 The user may browse any of his or her existing mailboxes

    80.2 Messages are listed by address, subject, size, whether it has been read, and time

    80.3 The user may sort the messages by any of the above columns

  • 90.0 Reading Messages

    90.1 The user can view the body and certain headers of the message

    90.2 The user can move, delete, forward, or reply to the message

    90.3 The user may skip to the next, next unread, previous, and previous unread messages, or to the browsing view (index)

  • 100.0 Composing Messages

    100.1 The user may enter the following fields: recipient, cc, bcc, subject, body

    100.2 Only the recipient is required

    100.3 The user may upload and attach files to the message

    100.4 The user may attach a signature

    100.5 The user may select whether to allow html tags in the message

    100.6 The user may view an html preview of their message

  • 110.0 Filtering Messages

    110.1 The user may filter messages by any message header, body, status, mailbox, and age

    110.2 Filters can be applied to incoming messages and have an associated action executed upon that message

    • 110.2.1 Actions include refiling, deleting, and forwarding

    110.3 Filters can be used to generate views based on the filter constraints

    • 110.3.1 Views can be saved, edited, and applied

    • 110.3.2 Views can be created on the fly as dynamic searches

  • 120.0 Security

    120.1 The user may only access messages in his or her own mailboxes -- this includes reading, browsing, responding to, and forwarding

    120.2 The user may only modify or delete folders that he or she created

    120.3 The user may only modify or delete filters that he or she created

    120.4 The user's mail is not visible to any other user, including all admins

2.1.10. Revision History

Document Revision #Action Taken, NotesWhen?By Whom?
0.1Creation09/04/2000Erik Bielefeldt
0.2Fixed a few errors and added new features11/10/2000Erik Bielefeldt

erik@arsdigita.com

Last modified: $Date: 2001/04/20 20:51:24 $