Webmail Application Requirements
by Erik Bielefeldt
Introduction
This document describes the requirements for the ACS Webmail
application. The Webmail application provides a web-based email
service.
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
for further discussion of what Webmail should and should not provide
in the future.
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
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.
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.
Related Links
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
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
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
Revision History
Document Revision #
Action Taken, Notes
When?
By Whom?
0.1
Creation
09/04/2000
Erik Bielefeldt
0.2
Fixed a few errors and added new features
11/10/2000
Erik Bielefeldt
erik@arsdigita.com
Last modified: $Date: 2002/07/09 17:35:19 $