You are currently viewing a snapshot of taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to, please file a bug.

Engineering plan for Block Sender

Obsoleted by bayesian junk mail feature and filter by addressbook.  (11/14/2002)

Last updated: 10/11/2001

The following document summarizes the engineering plan to support block sender. For an overview of the block sender feature please see the UE specs .  

Task Breadown
Time (in days)
Context menu changes
  • message pane
  • thread pane
  • Messages --> Block Sender item
Blocked Addresses List Dialog
  • list email addresses
  • Add / Remove buttons
  • Implemented as an outliner view in JS
Block Sender Confirmation Dialog
  •  leverage the prompt service to actually bring up the dialog
Create Junk Mail Folder on Local Mail
  • new profiles
  • existing profiles
  • special default message in the junk folder describing what the junk folder is.
  • Hooks to support a empty junk mail folder menu item.
Creating a nsBlockSenderService (infrastructure)
  • persistant storage into a plain text file of all the blocked addresses. Try to keep the file format generic enough to eventually support domain blocking.
  • maintains the list of email addresses in sorted order in memory. 
  • provides data to the blocked addresses list outliner view
  • Hooks into the end of the filter process and then performs a log n search through the list of blocked email addresses looking for a match.
  • Ability to move messages to the junk mail folder.
  • APIs for adding and removing blocked addresses (called from the blocked addresses list dialog)

Folder Aging
  • We may not be able to get to folder aging for this release. If not, our fall back is to just support an empty junk folder menu item.

Total Man Days:  8 days

Risks / Unknowns
Folder aging is at risk. We may not support that as part of block sender. Instead we'll allow you to empty your junk mail folder. In order to minimize risk for the implementation, we're going to first implement the back end (nsBlockSenderService). This would allow us to get this feature working without any UI. Testers / developers could then manually add or remove entries in a plain text file and then verify block sender functionality. This can then land on the trunk and we can then start phase II which is the UI support for this feature.

Early cuts
Folder Aging.