Filters can be used in many places in ftrack to narrow down the view of the data you are looking at. There are different ways to filter depending on where you are and what you are trying to do.
Using the filter panel¶
You can use the filter panel to quickly filter any spreadsheet or view where the filter panel icon appears.
The filters panel is separated into two sections: filters and advanced filters. A filter can quickly be added to the panel from the Add filter menu, while an advanced filter can be set up in the Advanced filter settings dialog and then added to the filter panel. Multiple filters can be combined into an advanced filter with either and or any statements between each filter.
Filters present in the filter panel upon saving of a view are automatically added to the spreadsheet configuration and saved into the view to give you the ability to get back to the exactly same spreadsheet state later.
The filter panel toggle button indicates with a blue background color when having any number of filters active which affects the spreadsheet.
The spreadsheet updates automatically by default when anything has changed in the filters panel. If you don’t want this to happen you can turn this off by clicking the small arrow to the right on the Apply button and unchecking Apply filters automatically. When disabled you can click the Apply button to manually refresh the spreadsheet.
Adding a filter¶
To add a filter, click the Add filter button in the top of the filter panel and select an attribute to filter by. Find the filter in the filter panel and set it up as you wish. The spreadsheet is instantly updated to reflect the settings in the filter panel as soon as you change any setting.
Some filters offers an ability to filter beyond the pre-defined settings. For instance, with the Assignee filter you can filter by any user and the date filters offers filters by “Today” and “Next week” but also any custom date.
Removing a filter¶
To remove a filter from the filter panel, click the circled cross icon to the right in the filter header. The spreadsheet is instantly updated as soon as you click the icon.
Setting up an advanced filter¶
You can set up and manage advanced filters by clicking the cog icon in the top of the filter panel and selecting Advanced filters.
The advanced filter settings dialog comprises of two sections:
- all filters
- any filters
Filters added to the all category must all match and any filter added to the any category must match. Between the categories is an AND statement.
When you are satisfied with the settings, click Done and the spreadsheet will refresh instantly.
The filters that can be added to the dialog works the same way as the filters that can be added in the filter panel.
Managing an advanced filter¶
To edit an advanced filter, click the Edit link to the right in the Advanced filters header.
To remove an advanced filter, click the circled cross icon to the right in the Advanced filters header.
Resetting the filter panel¶
In case you got too many filters added to the panel and want to start over with the default filters, click the cog icon and select Reset default.
If you want to find an item quickly by any of the main attributes (see the list below), you can filter the spreadsheet instantly by typing into the Type to filter text field.
Depending on spreadsheet, the available attributes to filter by are:
- task name
- task description
- version name
- version type
- version publisher
- list name
- created by user
Global filters (scopes)¶
Scopes work as a global filter in ftrack. They allow quickly switching focus and also narrowing or expanding your view with a few clicks. For example, they can be used if you have work divided over several sites around the world and want a quick way to view just the work being done at certain sites before zooming out to see the big picture.
To add a new scope, go to Create button and enter a name.. Click the
Adding entities to scopes¶
Setting scopes on entities can be done either from the sidebar or from a spreadsheet. To set it from a spreadsheet - Go to the tasks spreadsheet on a project and add the Scope attribute from .
Once added, select the entities that you want to add scopes to and double click the Scope attribute.
Scopes can only be added to one object type at the time.
To set a scope from the side bar - Open the sidebar for a specific entity and click the scope attribute.
Filtering on scopes¶
To filter on Scopes, select one or more scopes fromin the top right corner.
When one or more scopes is selected, views in ftrack will update to only show entities in the selected scopes. A notification bar is shown across the top of the screen whenever a global filter is active.
At the moment scopes are only supported by the tasks spreadsheet and the versions spreadsheet, the Project menu and the left tree navigation. In the future they will also be able to affect other views in the system including custom dashboards.
Filtering using API like queries¶
In Configuring advanced settings it is possible to enable advanced filter query to get access to API like filters in the Versions / Tasks Spreadsheet and the Latest versions widget. This feature is geared towards advanced users with programming experience that have good knowledge of the ftrack Python API‘s query language.
The query syntax is identical to the filter part of the query. So anything after the where keyword can be used:
select id from Task where <filter-part-of-the-query>.
Let us now have a look at a few examples of what can be done in the Tasks Spreadsheet,. Let us start with something easy and find all tasks named Animation:
name is Animation
Here we use a relation to filter out all tasks that have a status that is Approved:
status.name is Approved
Now let us try finding all Shots that have notes from our colleague John. Useto add the query field for Shot:
notes any (author.first_name is John)
If we use the query filter in the Versions spreadsheet,we can find versions that have some metadata attached to them:
metadata any (key is foo and value is bar)
Or versions that have components in our custom Location named studio.foo:
components.component_locations.location.name is "studio.foo"
Any issues with syntax, usage of relations or attributes in the Query will be presented as feedback below the query input field.
Take care when filtering based on relations. There are currently no restrictions on what relations are available and certain queries on nested data might cause performance problems.