"Include threads:" setting for Search Folders?

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

"Include threads:" setting for Search Folders?

Paul Rozdeba
In Evolution 3.26.1, there is a drop down list of options for "Include threads:" when configuring a Search Folder, but I'm not clear on what effect any of the included settings have, and I can't find it documented in the official documentation. Could someone explain what this option does?

I'll give an example to motivate this question: I tried to create a search folder that would display all of the messages in my inbox, as well as any related  messages such as replies or messages in other folders, grouped together in threads.  Basically a "conversations" folder that would mimic how Gmail (in the browser) handles the inbox.  I configured the search folder with the following settings:

Find items which match: any of the following conditions
Message location: is <account>/Inbox
Automatically update on any source folder change (checked)
Search folder sources: All local and active remote folders

I guess my expectation was that selecting "Include threads: All related" would create the kind of conversations folder I described above, but changing this option from "None" doesn't seem to have any effect and all I see are messages which are actually in the inbox.  This 100% makese sense choosing "None", but is what I'm describing the reason for the "Include threads" option in the first place or am I way off?

Thanks,
Paul

_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list
Reply | Threaded
Open this post in threaded view
|

Re: "Include threads:" setting for Search Folders?

Milan Crha
On Mon, 2017-10-30 at 21:58 -0700, Paul Rozdeba wrote:
> Find items which match: any of the following conditions
> Message location: is <account>/Inbox
> Automatically update on any source folder change (checked)
> Search folder sources: All local and active remote folders

        Hi,
we had some talk about this on IRC with Paul too. I'm not going to copy
it here, that would not make much sense. I'll comment on the above
settings only.

I believe, and your tests prove it, that the Message Location option
has a precedence over the Include Threads option. That means, even if
you let the search folder use all accounts and folders, it first
ignores all but the Inbox folder. After that it gets all these messages
and tries to find also thread-related messages which would otherwise be
hidden.

I tried a similar settings here and avoiding the Message Location makes
it work (I replaced it with "Sender contains", then made it to show
"All related" thread messages).

About the respective Include Threads options, I also do not exactly
know what they do, but if I'd guess, then, for satisfied messages:
   All related - shows whole thread
   Replies - thread subtree
   Replies and parents - thread subtree and path up
   No reply or parent - side branches

Imagine a thread like this:

   A
    B
    |-C (chosen)
    |  D
    |  |-E
    |  F
    G
     H

Then when only C message is chosen by the filter (aka the C satisfies
the filter options), then the Include Threads adds other messages as:
   All related - whole thread
   Replies - C,D,E,F
   Replies and parents - A,B,C,D,E,F
   No reply or parent - C,G,H
Though I'm quite unsure what the last option would be good for, thus
one might better test the actual behavior than just guess, as I did.
        Bye,
        Milan
_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list
Reply | Threaded
Open this post in threaded view
|

Re: "Include threads:" setting for Search Folders?

Patrick O'Callaghan
On Thu, 2017-11-02 at 09:44 +0100, Milan Crha wrote:

> On Mon, 2017-10-30 at 21:58 -0700, Paul Rozdeba wrote:
> > Find items which match: any of the following conditions
> > Message location: is <account>/Inbox
> > Automatically update on any source folder change (checked)
> > Search folder sources: All local and active remote folders
>
> Hi,
> we had some talk about this on IRC with Paul too. I'm not going to copy
> it here, that would not make much sense. I'll comment on the above
> settings only.
>
> I believe, and your tests prove it, that the Message Location option
> has a precedence over the Include Threads option. That means, even if
> you let the search folder use all accounts and folders, it first
> ignores all but the Inbox folder. After that it gets all these messages
> and tries to find also thread-related messages which would otherwise be
> hidden.
>
> I tried a similar settings here and avoiding the Message Location makes
> it work (I replaced it with "Sender contains", then made it to show
> "All related" thread messages).
>
> About the respective Include Threads options, I also do not exactly
> know what they do, but if I'd guess, then, for satisfied messages:
>    All related - shows whole thread
>    Replies - thread subtree
>    Replies and parents - thread subtree and path up
>    No reply or parent - side branches
>
> Imagine a thread like this:
>
>    A
>     B
>     |-C (chosen)
>     |  D
>     |  |-E
>     |  F
>     G
>      H
>
> Then when only C message is chosen by the filter (aka the C satisfies
> the filter options), then the Include Threads adds other messages as:
>    All related - whole thread
>    Replies - C,D,E,F
>    Replies and parents - A,B,C,D,E,F
>    No reply or parent - C,G,H
> Though I'm quite unsure what the last option would be good for, thus
> one might better test the actual behavior than just guess, as I did.

Thanks Milan. I've never had a need for this but my first reaction is
that if something is so complicated to explain then perhaps it should
be either removed or rethought. This kind of thing is the inevitable
cruft that arises with any project that has gone on for so long, with
several generations of developers. The fact that you yourself have to
guess how it works would seem to indicate that it isn't actually
specified anywhere.

poc
_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list
Reply | Threaded
Open this post in threaded view
|

Re: "Include threads:" setting for Search Folders?

Milan Crha
On Thu, 2017-11-02 at 10:57 +0000, Patrick O'Callaghan wrote:
> The fact that you yourself have to guess how it works would seem to
> indicate that it isn't actually specified anywhere.

        Hi,
I should find out by the code reading, but I've been lazy. :)

On the other hand, once things are less intuitive (or not intuitive at
all), then it either means they are complicated (not necessarily
powerful) or they use incorrect/vague/... names or descriptions. I mean
with that that I tried to guess only based on the names of the options,
without code reading (which is something general users hardly do).
Having good option names, thus they describe what they do easily, is a
plus, though not every option can achieve it. From my point of view.
        Bye,
        Milan
_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list
Reply | Threaded
Open this post in threaded view
|

Re: "Include threads:" setting for Search Folders?

Patrick O'Callaghan
On Thu, 2017-11-02 at 12:57 +0100, Milan Crha wrote:

> On Thu, 2017-11-02 at 10:57 +0000, Patrick O'Callaghan wrote:
> > The fact that you yourself have to guess how it works would seem to
> > indicate that it isn't actually specified anywhere.
>
> Hi,
> I should find out by the code reading, but I've been lazy. :)
>
> On the other hand, once things are less intuitive (or not intuitive at
> all), then it either means they are complicated (not necessarily
> powerful) or they use incorrect/vague/... names or descriptions. I mean
> with that that I tried to guess only based on the names of the options,
> without code reading (which is something general users hardly do).
> Having good option names, thus they describe what they do easily, is a
> plus, though not every option can achieve it. From my point of view.

I agree. If the only solution is to read the code, there's something
wrong. I think in this case the problem is one of conception: it isn't
clear (or it isn't clear enough) what the behaviour should be. Unless
that's defined and described, there's no hope of getting it right.

poc
_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list
Reply | Threaded
Open this post in threaded view
|

Re: "Include threads:" setting for Search Folders?

Paul Rozdeba
Thanks for the replies! Yes, that was me on IRC, thanks for your help there too Milan.

So I'm still unsure of the effect of this option. When you replaced "message location" with "sender contains", did you include your own email address and set that as the only search criterion? If so, I'm getting some unexpected behavior here (using a Gmail account) that I think show what the root of the issue is. First, I create a search folder using the criteria:

Find items which match: any of the following conditions
Include threads: All related
Sender contains: <username>@gmail.com

If I choose "All local and active remote folders" as my sources, then the folder shows threads where I am the sender, along with with all related messages from every IMAP folder *except* the Inbox! If I choose to only include <account>: INBOX and <account>: [Gmail]/Sent Mail, then I get a similar result where all I see are messages in my Sent folder. In other words, the search folder seems to ignore the inbox as a source.

I agree with you, Milan, about what the various "Include threads" options should do. However, I think these tests we've done show that, at least, the "all related" option does not have that behavior. I would argue in favor of keeping these options if their behavior could be documented (and I guess acted the way you outlined earlier), because they would be super useful in my use case, and I would imagine a lot of people would want this as well. Giving a similar example to my first one, if I want a folder only showing "active" conversations, it would be great to have this option to show threads containing messages in my inbox, plus any related messages in the rest of my account's folders.

P.s. I think that the "No reply or parent" option would be useful if you wanted (for whatever reason) a folder containing messages that are *not* conversations, i.e. threads you haven't been engaged in or which you did not originate.

Thanks again,
Paul

On Thu, 2017-11-02 at 12:15 +0000, Patrick O'Callaghan wrote:
On Thu, 2017-11-02 at 12:57 +0100, Milan Crha wrote:
On Thu, 2017-11-02 at 10:57 +0000, Patrick O'Callaghan wrote:
The fact that you yourself have to guess how it works would seem to indicate that it isn't actually specified anywhere.
Hi, I should find out by the code reading, but I've been lazy. :) On the other hand, once things are less intuitive (or not intuitive at all), then it either means they are complicated (not necessarily powerful) or they use incorrect/vague/... names or descriptions. I mean with that that I tried to guess only based on the names of the options, without code reading (which is something general users hardly do). Having good option names, thus they describe what they do easily, is a plus, though not every option can achieve it. From my point of view.
I agree. If the only solution is to read the code, there's something wrong. I think in this case the problem is one of conception: it isn't clear (or it isn't clear enough) what the behaviour should be. Unless that's defined and described, there's no hope of getting it right. poc _______________________________________________ evolution-list mailing list [hidden email] To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-list

_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list
Reply | Threaded
Open this post in threaded view
|

Re: "Include threads:" setting for Search Folders?

Milan Crha
On Thu, 2017-11-02 at 08:31 -0700, Paul Rozdeba wrote:
> If I choose "All local and active remote folders" as my sources, then
> the folder shows threads where I am the sender, along with with all
> related messages from every IMAP folder *except* the Inbox! If I
> choose to only include <account>: INBOX and <account>: [Gmail]/Sent
> Mail, then I get a similar result where all I see are messages in my
> Sent folder. In other words, the search folder seems to ignore the
> inbox as a source.

        Hi,
my test case was slightly simpler. I created two folders under On This
Computer/... account, then I took one thread and copied first half of
the thread to one of those folders and the other half to the other
folder. Then I created a search folder which reads:

   Find items which match: [ all the following conditions ]
   [ Sender ] [ contains ] [ name    ]
   [ Specific folders ]
   [ On This Computer : Inbox/folder-1     [ ] include subfolders ]
   [ On This Computer : Inbox/folder-2     [ ] include subfolders ]

Then I played with the Include threads option. Having it None, I see
only messages from that 'name' and from both folders. When using [ All
related ], it reconstructs the complete thread as a merge of messages
from both folders.

But, I see it's not the same as using Inbox and Sent folders. The
difference is that I used a thread which is from a mailing list and I
split it in a way that the sender it matches was in both folders.
Trying with Inbox and Sent folder for the simplest thread:

   Message (in Inbox)
     Re: Message (in Sent)

The Sender I use is a sender in the Inbox, but a recipient in the Sent.
The problem seems to be that the Sent folder doesn't have a hit on the
Sender thus the "Include threads" option skips the Sent folder from
consideration, or something like that (I'm still lazy to read the
code). That kind of makes sense, because the search folder tries to
limit messages to merge as much as possible, instead of creating a
really big virtual folder and run the filtering on top of it. This
approach works, as long as threads are not involved.

Your better option would be to wait for a build-in conversation
view [1] or workaround it by a simple merge of the messages in those
two folders (use Match all condition with Include threads: None).
You can reference search folders in search folders as well, thus then
you can create the filter by Sender search folder with All related
threads referencing the merge of Inbox & Sent search folder and it'll
work. It doesn't work for Message Location, because the message
location is the search folder.

Okay, all these things are getting quite complicated, and the threads-
thing even more, not talking about performance hit when it's comparing
for the thread-related messages. Thus, from my point of view, the merge
of the Sent & Inbox (or other folder) is a good workaround.
        Bye,
        Milan

[1] Something like this one:
    https://bugzilla.gnome.org/show_bug.cgi?id=258233
    and yes, it's ancient. Adding it to evolution is not that easy,
    as it might look like. At least not efficiently enough.
_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list