Allow boolean operators (AND, OR, NOT) in custom queries
I would really like to set my home page to search for
Overdue, Today OR @mylabel
and to be able to search for @label1 OR @label2
and to be able to exclude certain criteria from my search, e.g. Today NOT @work
Currently, the logic seems to be to OR criteria of the same time (i.e. Overdue OR Today), and to AND criteria of different types Today AND @mylabel.
Greater flexibility in searches would make ToDoist much more powerful.
That was supposed to be "criteria of the same TYPE"
I'm absolutely agree with Julie Wills, I realy need these features too. Especially to be able to search for @label1 OR @label2
I want that, too.
Yes! The current implementation of AND vs OR seems quite random. For example, if I do a query for 'today, p1' it returns 'today' and 'p1' in two different sections. But if I search 'today, @label' it returns one section of 'today AND @label'. Would love greater flexibility in this.
A reverse operator would be nice:
Exclude anything with that label, in cases where they overlap
This for me is a `killer missing feature', and one I am surprised at.
Need consistency across search types (priority, labels, due date, and combinations of these) and full AND/OR (perhaps & and | ?) and NOT (!) with parentheses indicating precedence.
NOT is a key feature for me actually - the ability to exclude @home tasks from when at work (perhaps !@home), and @work tasks when at home (perhaps !@work).
Then would like smart searches or the ability to retrieve old searches.
Since many tasks has more than one label and others just one, the option "only" or "exclusive" in queries would be a good idea too.
I also would like an exclusion and logic (And, OR)... I have a shortcut to Tasks for @work, then @home and more... but sometimes I forget to add a label, so when I go to my @work list it does not show the ones I have not added a label for so I forget them!!
So I need to list tasks for @work but also show tasks without labels
So something like "@work OR -label" or "@work OR -@*"
This is a very important feature, e.g. for GTD implementations like
overdue OR today OR @na
I would also be greate to save filter rules in sets.
I like the 'minus' notation for excluding.
e.g. "today, overdue, -@waiting"
so I can see all today's & overdue tasks except those that I'd labelled as "waiting on someone".
This fits with Google's notation for excluding things from searches.
This is a great idea. Emulating popular search systems like google would also make the queries more intuitive.
Please! Me too.
I vote for it as well.
My priority is to filter out not only some labels but also particular projects, so query like
today, overdue, NOT specific-project
But any kind of OR/AND/NOT operators would be very useful.
OR is really critical for proper evaluation of my GTD contexts. I'm in my home office - means I have the context of phone OR email OR home, etc.
NOT would certainly be useful as well!
One thing that has not been mentioned is that these operators would be handy when printing.
Todoist produces nice printouts but in order for these to be truly useful we need to be able to do some filtering. Many times I have great Work lists that I can't print from Todoist because it may be showing some Home items and viceversa. Simple operators to hide or show by date, priority, category and labels would go a very long way, and it truly seemed that these would be a given when I first signed up because Todoist has that smart query box.
Agree! I really need the AND operator, I always need to see today's task of high priority
Actually, Pansy (and everyone), the AND operator is the default on the search bar so you can use it simply by putting two labels. It's the OR/NOT that are really missing.
Sorry, at least that's my impression. Best to check for yourself as the OP states something slightly different.
Thanks Shiri but I I've just retried it. When I write "Monday !p2" it shows all the tasks on Monday in addition to all the tasks with priority 2, but I need it to display only the tasks on Monday that have priority of 2.
the default operators are currently:
AND - if you include any label in your search, for example - "tomorrow, @label" will query for items due tomorrow which have this particular label
OR - for non-label-related queries, for example - "tomorrow, !p1" will return two results - a list of tasks due tomorrow and a list of priority 1 tasks
Adding a label to any query will only display results that contain this label so a "tomorrow, !p1, @label" query will display two lists:
- tasks due tomorrow with the @label
- tasks with priority 1 and the @label.
Of course we will consider adding more operators in the future or at least enable a choice of what operator to use in any situation.
Thanks for the clarification.
Could you please give us a bit of an insight into the development cycle, and how decisions are made about how enhancement requests get prioritised?
The reason I ask is that I see that this request is in the top 5 as far as votes are concerned, and was requested 16 months ago. In fact, all of the top 5 were requested within about a month of each other.
Do you have a place where you publish planned future features?
there is no specific rule on how we decide what feature to add next. Of course, the amount of votes is an important factor, but there are other things to consider such as what order would be most efficient to implement these features without having to make many changes once the next feature will be added.
We've already implemented some of the most requested features (you can click on the "Completed" link at the top of the Votebox) and will continue to add further features in the future.
You can follow us on out Facebook, Google+ or Twitter channels where we announce all new features once they're implemented.
Please also consider the comments posted on the support-page.
(i.e. http://todoist.com/Support/showQuestion/3164/ )
Rather than adding query complexity, just turn it into a fool-proof 'find-tool" , in the style as we know from the blockbuster-progams of MS and alikes
I agree more complex queries are really needed. Including the ability to search by project.
Find everything in my WORK project and all sub projects (or maybe excluding my HOME project and all sub projects) which is either [priority 1 and is due in the next 6 days] or [has no due date].
I would LOVE this feature!!! Please!
I'm migrating from another web-based task management system to Todoist, and Todoist completely wins out in terms of a great UI... but literally the ONLY thing holding me back from signing for a Premium account right now is the lack of a flexible query system. The moment boolean operators are implemented, I'm all in!
Another related query operator that I would find helpful is to be able to filter by multiple projects.
At the risk of spamming everyone who ever commented on this item, please please PLEASE get those OR/NOT operators working on labels... it's so critical and (I believe) shouldn't be all that hard to implement... and yet so highly valuable.
I feel compelled to weigh in here. Several hundred people have voted / commented on the inadequacies of the currently implemented label / filter / project queries.
1. Ability to save named queries
2. Boolean operators
3. Queries on main project group folder should include all items from all subgroups unless explicitly excluded.
4. These features should be consistent across all platforms. (at the moment, I can save queries on Android, but not on Chrome!!)
As an example, I want to be able to query my to do list and:
- Include only tasks which relate to work (For me, I have a master project named after the company I work for- I want to include all the subproject tasks under this master project)
- sort these tasks in order of priority from P1 to P4
- filter according to what sort of action is necessary (I do this according to label e.g @to_buy, @phone, @email, @research, @plan, etc.)
The result is a list of all the people I need to phone, in a work context, sorted according to priority.
I can (mostly) get the results I want by using a rather cumbersome query string, but I don't want to have to type it in every single time I need to flit between phoning people and drafting emails.
This is a simple fix, which has quite a lot of demonstrated demand. Let's make it happen.
saved queries would be wonderful.
+1 for logical operators in queries
I need to implement 'hotlist' type filters, which operate across dates, priorities and labels - as per my current task manager - such as
(Overdue OR Today OR (This Week AND (p1 OR p2)) OR (Next Week AND p1)) AND NOT @outsourced
Logical operators are really needed. Hope this function will be realised.
+1 for showing tasks that aren't labeled.
-@ or !@ or <>@
This really is a killer missing piece. It's the main reason I don't sign up for premium.
Every once in a while I'll get an email from Todoist and come back to play around with the site, thinking "Why aren't I using this for my tasks? This UI is great!"
Then I try search and remember, "Oh yeah, that's why..."
Adding my vote to the above. I payed for Premium before realizing the limitations of search. My most desired features in equal order of importance:
- Ability to save searches.
- Ability to specify all task parameters (such as Project) in the query
- Search subprojects (that goes for the standard project view as well)
We have made a proposal for extending our filters and make them much more powerful. We plan to implement this across all of our supported platforms (including mobile) - - and we will also make it possible to save and update your filters (so it can fit your workflow).
Some example filters
Things that are due today and tomorrow and that are labeled with work label:
(today, tomorrow) & @work
Today's tasks that are not work related:
today & !@work
Please read our full specification here:
We would love to hear your feedback!
Awesome news! That would really extend the capabilities of Todoist leaps and bounds. Custom saved searches allow such powerful adaptation to one's work habits.
Couple of concerns - I understand that manual ordering is impossible in a dynamic list, but please make sure you keep the manual order functionality in regular lists.
Ability to search by List would be great, although if the feature where new tasks inherit the properties of the list will be implemented, it would work just as well.
Awesome news, for sure! Agreed with Alex on all accounts. Search by list is next on my wish list.
Great news! Now I'm curious about how fast your development cycle is for such a change....
We are doing a lot of things right now so it's very hard to estimate when we will be finished with this. But hopefully soon.
A simple text search in the task AND the note with words that are not keywords
Very good news!
Yeah! Great Idea and good news!
I think this feature will help mainly the visualization in cell apps.
This has now been rolled out!
Only one issue that I see: you cannot rearrange items through the week if you're using a combo such as " (overdue, 7 days) & !@work " as you would have to go back to " overdue, 7 days ".
I absolutely love this new feature, but it sorta takes the bang out some if I cannot rearrange my schedule in that view.
Any chance this could be rolled out?
Thank you for your feedback, we'll consider enabling such option.
Love the new boolean operators, however, it would be nice to be able to exclude certain projects.
@label & !#project
(Excuse me if this is possible and I'm just not formatting it correctly)
This is not possible right now, but we'll consider adding it in the future.
One combination that I haven't found is adding label and project, as in "@work or #current". Is this possible or something for the future?
It's currently not possible to use projects as search criteria, but we'll add such option in the future.
Projects as criteria, and excluding criteria are the biggest missing things for me. Glad to see it's being worked on - the proposal document looks good!
Any news about using projects as search criteria ?
Unfortunately we do not have any updates at this time.