Re: [Evolution] Option for search folder



Dear Ángel, all,

Thanks a lot for your very precise answer.
https://help.gnome.org/users/evolution/unstable/mail-searching.html.en
https://help.gnome.org/users/evolution/unstable/mail-search-folders-add.html.en
https://help.gnome.org/users/evolution/unstable/mail-search-folders-conditions.html.en
Is there a way to directly contribute to those pages?

Best regards,

--Martin

On 10/28/18 12:09 AM, Ángel wrote:
On 2018-10-25 at 18:50 +0200, Martin Monperrus wrote:
Hi all,

I don't understand the following configuration option for search
folders (https://wiki.gnome.org/Apps/Evolution/Search):
Include threads:

      
Where can I find a one-sentence description of each option?
Hello Martin

Thanks for your question.

The obvious places to find this would be on one of these locations:
https://help.gnome.org/users/evolution/unstable/mail-searching.html.en
https://help.gnome.org/users/evolution/unstable/mail-search-folders-add.html.en
https://help.gnome.org/users/evolution/unstable/mail-search-folders-conditions.html.en

But as they don't mention this piece at all, I will attempt to give my
own understanding of this setting.

First of all, we need to take into account that email can be grouped in
threads based on the reply-to relationship.¹

For example, we have your email, this reply to you, and eg. a future
email by André replying to this one, plus another of Milan replying to
that one.
These four emails would be in the same thread (we could call it the
"Option for search folder" thread, but emails on one thread may have
completely different subjects).

When searching, it may be useful to have some context, not just the
emails that exactly match your search (this setting is available both
for advanced search and search folders).

So, suppose you searched for all my emails. Which mails from that thread
would show, depending on this setting?


i) None 
Only the emails that match the search would match, ie. just my email.


ii) All related 
All emails in the same thread are included.

In the example thread, all the four emails would show as results, even
if only this one would exactly match the From: condition you set.

iii) Replies 
The result includes the email that match the rest of the query, as well
as all replies descendant of that email.

In the example thread, it would return three emails: my message and
replies by André and Milan.


iv) Replies and parents
The result includes the email that match the rest of the query, as well
as all parent emails and all replies descendant of that email.
However, siblings and their offspring are not included.

In the example thread, all four messages would be included, but if
someone else also replied to your original email, that reply would not
be included.


v) No reply or parent
The message will only be shown if it is not replying to anyone and there
is no reply to it, either.
The other options only augment the result set based on the thread, but
this is one a bit different, as it restricts the result to only messages
that are not part of a thread.

In the example thread, nothing would be returned.


Best regards


---


¹ This is constructed in the In-Reply-To and References headers.
Microsoft, its own header.


Note: that wiki page is misformatted, it probably stopped being rendered
as it used to be at a GNOME wiki update and nobody noticed. I can work
on fixing it, but my user (ÁngelGonzález) lacks write rights there, so
someone would need to give it edit rights (I'm quite sure that someone
had already marked it as "not a bot" a long time ago, but apparently it
got lost).




Implementation details:
-----------------------

These GUI options map to the _filter_threading_t enum defined on
src/e-util/e-filter-rule.h

/* threading, if the context supports it */
enum _filter_threading_t {
	E_FILTER_THREAD_NONE,	/* don't add any thread matching */
	E_FILTER_THREAD_ALL,	/* add all possible threads */
	E_FILTER_THREAD_REPLIES,	/* add only replies */
	E_FILTER_THREAD_REPLIES_PARENTS,	/* replies plus parents */
	E_FILTER_THREAD_SINGLE	/* messages with no replies or parents */
};

which themselves map to the match-threads options "all", "replies",
"replies_parents" and "single" in the internal language. Finally
translated in evolution-data-server src/camel/camel-folder-search.c to
ids 0 to 4 and applied accordingly (see function
folder_search_match_threads)

I am attaching a small patch that adds some comments to
folder_search_match_threads.


Kind regards


_______________________________________________
evolution-list mailing list
evolution-list gnome org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]