Hi folks,

It’s time for another update from the ftrack dev team.

In this blog post we’re going to consider a newly introduced feature that takes the filtering capabilities of ftrack to the next level…and beyond.

Many of you have come to love the rich set of filters available in ftrack, and rely on them to slice and dice the data in each Spreadsheet to your liking. With many different attributes and conditions to choose from, the filters are easy to use and fully adaptable. In some special cases, however, you may need even more flexibility. To further empower our users we are now introducing advanced filter queries in the Tasks and Versions Spreadsheets. The new feature takes advantage of ftrack’s powerful API and allows users to design filters using API-like syntax. This means that, with some technical knowledge, you can create almost any type of view imaginable and then share it.

Let’s have look at some examples. As a start we can do something simple, like filtering all high priority tasks that are not yet complete:

priority.name is 'High' and status.state.name is_not Done

Queryfield-format

If you’re familiar with our API you will recognize that we’re using the same syntax and relations as in the API. This is no coincidence: we are supporting the same operations that come after the where clause in the API.

Some of you are relying on metadata from your different integrations, and it is now possible to use them in your filters. This will give all Versions that has a metadata item with key “foo” and value “bar”.

metadata any (key is 'foo' and value is 'bar')

Queryfieldversions

Now, let’s say that you want to find all tasks that have a “ready to go” status but don’t have any assignees, or tasks that are in need of attention. Using the new advanced query filter we can write:

(status.name is 'Ready to go' and not assignments any ()) or status.name is 'Needs attention'
A word of caution: we are not currently limiting the number or depth of relationships that you can use when filtering. Overusing them will have a negative impact on performance.

Thanks for taking the time to read this blog post about advanced types of filters.

Learn more about advanced filters

Take care everyone!
/ftrack dev team

Leave a Reply