CryptoGateway 综合文本
文境: [Commercial][Archymeta Information Technologies]
[Product Documentation][POP3 Email Manager]
Main Manual > Advanced Usage
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 'cryptogateway.com' or the sender's name contains 'Brown' and the sending address contains 'archymeta.com'".

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. "archymeta.com". 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 "archymeta.com"].

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 "archymeta.com" || !(MsgFrom contains "abcd.net")) || MsgFrom contains "abcd.net"', [namely, not (From contains "archymeta.com" or not (From contains "abcd.net")) or From contains "abcd.net"]. 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.