The following issue has been set as RELATED TO issue 0000123. 
====================================================================== 
http://www.dbmail.org/mantis/view.php?id=284 
====================================================================== 
Reported By:                Andrei_Pozolotin
Assigned To:                
====================================================================== 
Project:                    DBMail
Issue ID:                   284
Category:                   General
Reproducibility:            N/A
Severity:                   feature
Priority:                   normal
Status:                     acknowledged
====================================================================== 
Date Submitted:             22-Nov-05 16:09 CET
Last Modified:              01-Jun-06 21:16 CEST
====================================================================== 
Summary:                    Feature Request: "IMAP V-Folders"
Description: 
Please Read:
http://www.dbmail.org/dokuwiki/doku.php?id=v-folders


Full Text:

===Feature Request: "IMAP V-Folders"===

Keywords: virtual mail folders, server side filters

//Author: Andrei Pozolotin @ Nikitova LLC http://www.nikitova.com
2005-11-22//

SUMMARY:
   - permit multiple [[dbmail_messages]] for different
[[dbmail_mailboxes]] for the same [[dbmail_physmessage]]
   - permit server-side rules to create and manage [[dbmail_mailboxes]]
   - permit server-side rules to automatically create multiple
[[dbmail_messages]] & "place" them to the appropriate
[[dbmail_mailboxes]]

CONTENTS:
  - Problem
  - Solution
  - Proposal for DBMAIL
  - Enhancements 
  - Examples

DETAILS:


===Problem:===

Consider a typical B2B email correspondence

Actors:

"Them":
   Customer1
      TheirPerson1 - project manager
      TheirPerson2 - project team member

"Us":
   OurCompany
      OurPerson1 - project manager
      OurPerson2 - project team member
      OurPerson3 - project team member
      Project1 - the project "we" are doing for "them", 
         and this protect has an email distribution group
"[EMAIL PROTECTED] "

Typical Email Addressing:

A) from "them"
   FROM: [EMAIL PROTECTED]
   TO: [EMAIL PROTECTED]
   CC: [EMAIL PROTECTED], [EMAIL PROTECTED],
[EMAIL PROTECTED]

B) from "us"
   FROM: [EMAIL PROTECTED]
   TO: [EMAIL PROTECTED]
   CC: [EMAIL PROTECTED], [EMAIL PROTECTED],
[EMAIL PROTECTED]

C) "money talk" - email restricted to Project Managers only:

   FROM: [EMAIL PROTECTED]
   TO: [EMAIL PROTECTED]
   CC: [EMAIL PROTECTED],
[EMAIL PROTECTED]


PROBLEM: "EMAIL HELL"
   - how automatically classify, store & share all this mail? for the
whole team?
   - how to instantly & intuitively find mail - by person? - by project? -
by customer?
   - how automatically enforce security? Project Managers should see all
email, but Team Members only a subset of it. 

===Solution:===

This is how ideally an email message should be stored in IMAP:

A) unrestricted email from "them", team visible:

   FROM: [EMAIL PROTECTED]
   TO: [EMAIL PROTECTED]
   CC: [EMAIL PROTECTED], [EMAIL PROTECTED],
[EMAIL PROTECTED]

   +Public_Folders
      +Customers
         +Customer1
             +TheirPerson1
                => visible email copy
             +Project1
                => visible email copy

B) unrestricted email from "us", team visible:

   FROM: [EMAIL PROTECTED]
   TO: [EMAIL PROTECTED]
   CC: [EMAIL PROTECTED], [EMAIL PROTECTED],
[EMAIL PROTECTED]

   +Public_Folders
      +Customers
         +Customer1
            +TheirPerson2
               => visible email copy
            +Project1
               => visible email copy

C) email restricted to Project Managers only, team NOT visible:

   FROM: [EMAIL PROTECTED]
   TO: [EMAIL PROTECTED]
   CC: [EMAIL PROTECTED],
[EMAIL PROTECTED]

   +Public_Folders
      +Customers
         +Customer1
            +TheirPerson1
               => NO email visible copy here, NO.
            +Project1
               +Managers <= only Project Mangers have access to this
                  => visible email copy



===Proposal for DBMAIL===

Development Context (as of 2005-11-22):

   - DBMAIL already have "abstraction layers":
      - essence: separation between [[dbmail_mailboxes]],
[[dbmail_messages]], [[dbmail_physmessage]], [[dbmail_messageblks]]
      - description: [[er-model]]
   - DBMAIL already have mailbox level security: 
      - [[dbmail_mailboxes]] [[dbmail_acl]]
      - description: [[er-model]]
   - DBMAIL is already considering server side parser:
      - "Server-side filtering is probably the most efficient way of
dealing with your emails..."
      - description: [[filer_table]]
   - DMAIL is already considering even more "abstraction":
      - "How about taking everything out of the message body and just keep
it as reference.."
      - description: [[separate_msg_content]]

THE PROPOSAL:

   - permit multiple [[dbmail_messages]] for different
[[dbmail_mailboxes]] for the same [[dbmail_physmessage]]
   - permit server-side rules to create and manage [[dbmail_mailboxes]]
   - permit server-side rules to automatically create multiple
[[dbmail_messages]] & "place" them to the appropriate
[[dbmail_mailboxes]]

===Enhancements===

   - store message MD5 of original email for each [[dbmail_messageblks]]
to eliminate possible duplicate mails
   - based on this MD5 automatically re-link [[dbmail_messageblks]] &
[[dbmail_messages]]

===EXAMPLE USES===

Folders for COMPANIES:

   - if not already exist
   - automatically create [[dbmail_mailboxes]] for a COMPANY - based on
Actor address, presence in FROM:/TO:/CC: fields:
   - use email Customer1.com as folder UUID, but name folders like this:
Company Name (Customer1.com)
   - inherit security from parent folders

   TO: FirstName LastName ([EMAIL PROTECTED])

   +Public_Folders
      +Customers
         +Company Name (Customer1.com)

Folders for PEOPLE:

   - if not already exist
   - automatically create [[dbmail_mailboxes]] based on Actor address,
presence in FROM:/TO:/CC: fields:
   - use email [EMAIL PROTECTED] as folder UUID, but name folders
like this FirstName LastName ([EMAIL PROTECTED])
   - inherit security from parent folders
   - example:

   FROM: [EMAIL PROTECTED]
   TO: FirstName LastName ([EMAIL PROTECTED])
   CC: [EMAIL PROTECTED], [EMAIL PROTECTED],
[EMAIL PROTECTED]

   +Public_Folders
      +Customers
         +Customer1 (Customer1.com)
             +FirstName LastName ([EMAIL PROTECTED])  <= newly
created folder
                => visible email copy

Folders for PROJECTS:

   - emails send to addresses such as
[EMAIL PROTECTED]
   - automatically result if folders such as

   +Public_Folders
      +Customers
         +Customer1
            +Project1
               +Managers <= newly created folder
                  => visible email copy

   - and email is not copied / duplicated elsewhere

======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0000123 Shared mailbox utility
====================================================================== 

---------------------------------------------------------------------- 
 paul - 01-Jun-06 21:16  
---------------------------------------------------------------------- 
Andrei,

Thanks for submitting this well worked out proposal. This is a todo for
2.3+ 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
22-Nov-05 16:09 Andrei_PozolotinNew Issue                                    
01-Jun-06 21:16 paul           Note Added: 0001209                          
01-Jun-06 21:16 paul           Status                   new => acknowledged 
03-Jun-06 06:37 aaron          Relationship added       related to 0000123  
======================================================================

Reply via email to