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: 2001/04/20 20:51:24 $