Monday, May 28, 2007

GTD with Thunderbird 2.0

Update 2009-02-05: Now that I've been doing this for a few years, I've refined this tip and its subsequent updates into an article at eHow: How to use Thunderbird to get things done.

Revisiting my previous post, Using Thunderbird to Get Things Done yet again, I recently upgraded to Thunderbird 2.0, which changes the behavior of "labels" into "tags". As a result, I've had to adjust some of the process I described in my original post.

First of all, Thunderbird now lets you apply multiple tags to messages. This was not the case previously. So now I can have a message simultaneously marked "Delete" and "Action Required". This is, as you might guess, undesirable given that the previous process had assumed only one label could appear per message. However, this is pretty easy to work around, but it's a little more prone to human error: just don't apply more than one tag per message. If changing the tag, hit "0' first to remove all previous tags. I'd prefer to have an option that tells Thunderbird "only one tag per message", but that seems unlikely as it violates the concept of "tags".

Secondly, most of the "saved searches" I had set up stopped working. I had to get a little more creative with how they were specified. So now my "Next Actions" search has the following parameters:

Search Online checked
Match all of the following:
* Tags doesn't contain "Delete"
* Tags doesn't contain "Archive"

This leaves "Action Required", "Wait", and "Defer" visible.

Note that the documentation on tags recommends that you use "contains" or "doesn't contain" instead of "is" or "is not" in saved searches involving tags, as the multiple tags thing will bite you: For example, a message that is tagged both "Delete" and "Wait" will not show up in a saved searched for "Tag is Delete", but will show up if "Tag contains Delete".

1 comment:

Anklebuster said...

This is from your older post:
One shortcoming of Thunderbird for all this: The filters seem to be intended only for incoming mail, not for mailbox maintenance. There's no way to create a filter that says "If the message is in the inbox, is more than 30 days old, and has the label 'archive', move it to the 'Archive' folder." (It's only lacking the "has the label" bits -- which makes sense if filters are only intended for incoming messages, since labels are by their nature applied post-receipt.)

Well, I found a way to do just what you want:
Highlight an email that has Tag #3 associated with it.
View source (Ctrl+U)

You should see this header X-Mozilla-Keys: $label3

Go back to the email and remove the Tag
View Source
The header now appears as X-Mozilla-Keys:

All you have to do is choose Customize from the first drop down menu in the filters dialog.
Type X-Mozilla-Keys and click ADD.

Next choose that header and a number (no need to type $label)
Highlight the amended filter, select the desired folder and click Run Now.


The order of multiple tags can ruin the filter criteria: using $label3 $label4 will NOT
find X-Mozilla-Keys: $label4 $label3
Presumably, you'd have to continue using your exclusion filter (Not DELETE) or
add more conditions: OR (X-Mozilla-Keys,contains,$label3) OR (X-Mozilla-Keys,contains,$label4)

I attempted to move a bunch of items having a tag of 3. Some of them stayed put.
When I examined the source, I noticed that, even though the tag was displayed,
the X-Mozilla-Keys: was blank.

After clearing the tag and re-establishing it, the header was updated.
My guess is that I may have created and deleted some tags, causing the existing emails to change.
(I can't reproduce the blank manually)
Hopefully, you won't have to do that, but if it happens, you'll know why.