CryptoGateway 综合文本
文境: [Commercial][Archymeta Information Technologies]
[Product Documentation][POP3 Email Manager]
Main Manual
4) Advanced Usage
last-scan: Sat, 01 Dec 2012 02:35:31 GMT (0a81c9d1830ca7ad...)

Due to the fact that the present program aggregates e-mail messages from multiple mailboxes and presents them in a flat fashion to a user, a need could arises when the number of accumulated messages becomes large enough as to how to classify, sort, filter, and eventually, to restructure (the classification of) these messages in a more sensible way. This chapter introduce various methods available using which these messages can be managed dynamically. The system parses each e-mail message when it is loaded into certain structure. It allows the user to perform structured sorting and query against them with the help of the intelligent input system inside present program. Structured sorting and query can generate much more accurate results than those by the popular non-structured query nowadays, that an user can utilize to meet his/her higher-end needs. Better yet, the sorting, filtering and classification are expression based so that when the rules are set, new messages will be classified dynamically without the need for a user intervention. Query and sorting of e-mail messages are performed inside the e-mail browser. It can be opened in the main window by pressing the "Read Mails" button (See details here).

4.1) Detailed sorting of messages
last-scan: Sat, 01 Dec 2012 02:35:31 GMT (612d70544c1ca258...)

Besides the basic sorting (details) functionality, the present program is capable of providing means for the user to control the sorting in a much finer manner. Consider the following scenario, say A. Brown (the sorter) would like to order his e-mail messages according to the name of sender in an ascending order. Because the same person (e.g. C. Davis) can send e-mails from different e-mail addresses of his/her, the sorter want to arrange to have all e-mail messages from the same person ordered according to his/her sending e-mail addresses, in ascending order again. After doing that, the sorter find further ordering is necessary, e.g. order those e-mail messages with the same sender and the same sending e-mail address according to the time they were received, or the sorter's receiving mailbox, in certain order, etc.. These tasks can be accomplished easily, there is in principle no limitation on the fineness of the ordering until every single messages are ordered according to the sorter's will.

Fig. 13: Detailed sorting of e-mail messages.

Sorting starts with selecting the leading sort property (see Fig: 13). It is selected inside the dropdown window next to "Sort By" of the e-mail browser (see the figure below) it's order is determined by the check box on it's right. There is a arrow button on the right of each property inside the dropdown window. Pressing this arrow button opens the ordering selection tree dialog. The first generation of this tree represents the available properties to select after the leading sort property. The next generation represents further detailing property selection options for the sorting against the previous generation, and so on and so forth. It is not enough just expanding the tree, one must select a tree node. When a user selects certain tree node at certain generation of the tree, it sets a refining sorting sequence determined by the path from the leading sorting property to the selected property. For example one can sort according to "Received At" then "To" then "Known As" then "From" properties (ignore the ordering problem for the time been), as shown in the following figure. The ordering of each property is determined by the value inside the drowdown box next to it on the right (the default is ascending).

Fig. 14: Shortcuts for detailed sorting of e-mail messages.

There are more convenient ways to sort for some frequently used e-mail properties using the e-mail browser (see Fig: 14). Some column header can be used to display the current sorting state and to sort the corresponding e-mail property. The name of the currently sorted property is displayed in bold font; There is a red dot to the left of the name; To its right, there is an arrow indicating the direction of sorting. When clicking a column header that is not currently sorted, the corresponding property becomes the currently sorted; further clicking (on the sorted header) changes the direction of the sorting. Detailed sorting sequence dialog can be opened by pressing the right most arrow button. For example, as shown in the following figure, the user selected "Received At" as his/her leading sort property and "Known As" and "Subject" as ever detailing sort properties.

4.2) Detailed query of messages
last-scan: Sat, 01 Dec 2012 02:35:31 GMT (8db3514fa89ae7cf...)

As the number of accumulated e-mail messages becomes larger and larger, most people will gradually be lost inside the multi-sourced messages ordered according to the time they were received. How to pick out the correlated ones they want to read at the moment, e.g. the ones from Charles Davis, will become a need. The filtering functionality of the present program can not only help a user to find e-mail messages instantaneously, it can also be used to provide dynamic primary classification of them, in which the user is empowered to reuse some of the useful filter expressions established in the past to classify the likely changed the e-mail message set at the moment and in the future next to it.

The filtering requests are answered by the system by having the user to input filtering expressions which are interpreted to generate filtered message sets to the user. A filter expression is composed of elementary filter expressions and/or sub-filter expressions embraced by round brackets () connected by logic 'and' and logic 'or' operator.The sub-filter expressions have the same pattern. The filter expression generator of the present program can help user to produce filter expression of arbitrary complexity. But for those who are less experienced in it, they can try to produce and use the elementary filter expressions first. The program is capable of translating the filter expressions into natural languages so that if a user can think logically in their daily life, it would not be hard for them to generate a filter expression of comparable complexity, which could be enough for his/her needs. For example, something like "the sender's name contains "Davis" and the sending address contains '' or the sender's name contains 'Brown' and the sending address contains ''".

For those first time user of systems of similar nature, the primary difficulties are not in logic part, but are in how to start a meaningful interaction with the system from the very start by constructing expressions that not only can be accept by the system but also expresses the user's indention correctly when interpreted by the system. For this to happen, it traditionally involves forcing the user having adequate knowledge of a new language (for the expression) before getting useful results. The present system has an intelligent input guiding system that significantly reduces the learning curve for the user because the computer takes a major part of the learning responsibility away from user to become a proactive agent in the production process that provides options for user to choose from so that only correct expressions can be produced. The user's responsibility is on the logic part, namely how to formulate a logic that get the intended filtering.

Fig. 15: Production and usage of filter expressions.

The filter expression generator can be opened by pressing the down arrow button to the right of "Filter" (see Fig: 15). The drowpdown window on the upper right corner contains named filter expression that are previously saved. In addtion to input a filter expression every time it is needed, a user can also choose from this list if what is needed is already there.

Fig. 16: Naming of a filter expression.

After opening the filter expression editor, please pay attention to the text box next to the "Save as" (see Fig: 16). If the user would like to save the filter expression generated in the current session, he/she must give it a descriptive and unique name in this text box. Unnamed filter expressions are one-times only and can not be saved.

Most input in the filter expression editor can be accomplished by three keys: namely the right arrow key and the up and down arrow key. Depending on the input state, the right arrow key can be used to query for options or when the option window is open, select an option from the list. When the options window is opened, the up and down arrow key are used to change the candidate option that is to be selected.

Fig. 17: The production of a elementary filter expression.

When it is time to edit, the user should click on the edit window to let it has focus (see Fig: 17). When the user press the right arrow key, a option popup window appears containing the available properties of the e-mail messages to choose from. Now the up or down arrow key can be used to change the candidate property, e.g. the "From" property, which is selected using the right arrow key again. Now a "MsFrom" (subject) string is outputted and the options popup window disappears. See the following figure. What predicate to use should be considered next. Press the right arrow, available predicates appears. Select one like before from them, e.g. "contains". After the selection, the system displays a tooltip below telling the user to type in a string enclosed by quotation marks. The user can type in one that is relevant to him/her, e.g. "". After finishing the string, a elementary filter expression is produced. The user can push the "Generate" button to view the natural language translation of the expression, which is [From contains ""].

When it is needed, a user can follow the editor's guidance using logic 'or' (inputted as '||') or logic 'and' (inputted as '&&' ) to join these elementary filter expressions together to realize more refined filtering. More sophisticated formulation (of filtering logic) involves the use of round brackets '(' and ')' to embrace the above mentioned expressions to form sub-filter expressions, which are joint together with the elementary filter expressions by logic 'or' or 'and' to form composite filter expressions. For example the filter expression '!(MsgFrom contains "" || !(MsgFrom contains "")) || MsgFrom contains ""', [namely, not (From contains "" or not (From contains "")) or From contains ""]. A user can use the program depending on his/her level of understanding of logic and the corresponding ability of expression, combined with sorting, to suit his/her own needs, there is simply no unique way of doing it. There is in priciple no limitation on the comlexity of the expressions.

Besides the intrinsic properties of a e-mail message, a user can also use other two properties to formulate his/her filter expression. The first one is "FolderRef." (which means the "Folder's") properties, which contains the intrinsic properties of a folder and it's parent folder's properties, etc.). The second one is "ReferencedContent" (namely, the message's content). When the user finish input "ReferencedContent", the system will guide the user to type in the keywords to search for and the pages needed to be retrieved to query the existing messages, very similar to the search method on the web. For example, 'ReferencedContent matches keywords { "abc" } first100' [namely, first 100 of the messages matching keyword { "abc" }]. Unfortunately the current edition and version of the program does not enable search over content. It will be in the future, which will allow a user to combine multiple content keyword search and e-mail meta information search described above in a composite filter expression to meet his/her higher end needs.

A few words about the time zone representation convention: the date-time input guide (a text based calendar) requires the user to end a date-time expression by selecting either 'Ltc' or 'Utc'. 'Ltc' indicates the inputted date-time is local time, like Pacific Northwest time, which is dependent on the geo-location of the user. 'Utc' indicates the inputted date-time is a universal time, which is not dependent on a user's geo-location. They have different meaning when they are used to present certain instance, so care should be taken.

4.3) Display current sorting and filtering status
last-scan: Sat, 01 Dec 2012 02:35:31 GMT (fda3b0a74a79e60d...)

Fig. 18: Current sorting and filtering status.

As it is shown in the following figure, sorting and filtering status can be shown/hidden by clicking on the arrow button inside the yellow circle (see Fig: 18).

4.4) View message dialogue sequence tree
last-scan: Sat, 01 Dec 2012 02:35:31 GMT (67f46eafca3a42bc...)

Fig. 19: The display of dialogue sequence tree.

Correlated e-mail communication is most likely a group of e-mail dialogues on certain topics between users. It starts with an initial message. The receiver(s), which could answer the currently received message one or more times or an old message one or more times. This generates a complex dialogue sequence tree. Because the user may send or receive other un-related messages during the dialogue live time, these correlated message group will interweave with each other. It requires a user to mentally reconstruct the dialogue process, which is hard and un-productive. Most e-mail clients have no means of displaying a group of correlated messages. Although Gmail is capable of gathering the correlated messages, their flat way of organizing them in a list, base on certain un-published rules, is for the most of times confusing, especially when the dialogue tree becomes sufficiently complex.

The present program can recover the dialogue sequence tree completely, like what is shown in the following figure. Using such a functionality, a user can extract amongst the interweaving messages groups the correlated ones only and display them in a tree form showing the dialogue sequence. As long as the user select a message, all messages belonging to a correlated dialogue group will be extracted and displayed on the left hand side of the message reader, as shown in the following (see Fig: 19).

Because the present edition and version of the program is using POP3 protocol to download messages, which is quite limited, only those messages from Gmail mailbox contains complete dialogue information (due to the fact that Gmail did not follow the old convention or tradition exactly). In the future enhanced edition and version of the program, the present feature will be available for most of the mailboxes on the market.

4.5) Mailbox group management
last-scan: Sat, 01 Dec 2012 02:35:31 GMT (8ae7026a3f78d9bb...)

The present program can in principle manage all mailboxes of a user. The introduction of it, however, make it possible for a user to create more online e-mail accounts for a variety of purposes. Therefore it is quite possible that there is a need to have multiple mailbox groups, e.g., one for work, the other one for private life and yet a third one for strangers, which are likely to be well separated. This can be done in the current version of the program by using the "save" and "load" mailbox group settings functionality.

4.6) Security measures in unsafe environments
last-scan: Sat, 01 Dec 2012 02:35:31 GMT (4d25025b17645cbe...)

"Unsafe environments" refers to the use of those systems which the user either shares with other ones or have no administration privileges.

1. Because the settings for the current mailbox group is saved into the hard disk of the system when the program exits normally, it can not be carried away by the user. It is suggested to setup an empty mailbox group and save it to a configuration file. When the user needs to exit inside a unsafe environment, he/she should load the empty mailbox group first before hitting the exit button. There will be no private information left on the system after exiting using this step. Since there is no setting file, it wouldn't be useful for other's even if he/she knows your master passphrase.

2. E-mail storage directory should be located on a user's own mobile disk.