[MFlow-devel] Multi-folder support Question
Status: Alpha
Brought to you by:
davidmc24
From: David M C. <da...@ca...> - 2002-11-03 18:31:17
|
Okay... here's an architecture issue that needs to be fixed, and I want your input on it. Currently, the MsgStore interface has no concept of folders. It is possible to have multiple MsgStores in a configuration, but they would have no connection to each other. So, options: 1) Have the UI display all MsgStores in a list as "folders", but allow no subfolders. 2) Have the UI display all root MsgStores in a list, but also alter MsgStore so that it has a concept of "sub-MsgStores" for subfolders. (That is, a MsgStore represents one folder, and some are roots while others are children) 3) Have the UI display all MsgStores in a list, but also alter MsgStore so that it optionally supports sub-folders as part of the MsgStore itself. (That is, MsgStores represent a pseudo-filesystem, with a root and subfolders) 4) Have a separate UI for each MsgStore (no subfolders, could lead to many UI windows). Other options are welcome. Personally, I'm leaning towards option 3. It is very flexible and makes the MsgStore concept closer to the concept of an Inbox, with the possibility of having multiple Inboxes, similar to many email clients today. However, it makes the implementation of a MsgStore more difficult. Option 2 is also fairly viable. It supports multiple "Inboxes" as well as subfolders, but does so in a way to make writing MsgStores very simple. It makes writing the UI a bit more difficult, but that only needs to be implemented once and will work with all MsgStores. However, it complicates managing connections and such more complicated, and increases the number of objects involved by a fair number, as each folder would be a separate object. Option 1 and 4 are too restrictive, in my opinion. /------------------------\ | David Michael Carr | | Email: da...@ca... | | AIM: davidmc24/Varzof | | http://david.carr.name | | Cell: 914-498-8700 | | Fax: 815-301-9173 | \------------------------/ |