Targetprocess gives you a great power when it comes down to searching the information. We have the powerful DSL filters, which let you compose fairly sophisticated queries against your data.
However, the power and flexibility are not free, and sometimes our users tell us that it's too hard to manually write the filter queries, especially for the non-techies.
To make this process more transparent and to help our users learn the filtering techniques we decided to create a new "visual filters" feature. The main idea is to show a graphical form to help you quickly compose the filter queries. We want to make sure that you always know how to start building a query, so the filter builder dialog is displayed as soon as you put the cursor in the filter text input.
The dialog immediately displays a list of possible filters for your data. These filters are based on the entity fields available for the currently selected entities, you get all the fields you'd normally get from the auto-suggestion when manually typing '?' into the input.
Let's say you want to see all the cards from the current release. Click the greyed "Any" area, and you should see a list of possible release filters. Choose one, and it will be immediately added to the list of filters.
Of course you can also start typing the desired release name, the suggestion list will be automatically narrowed down according to the text you type.
You can add several filters for a single field by clicking "+ Add" area on the right side of the field row, and you can add new fields by choosing them from "+ Add rule" dropdown at the lower left corner of the dialog.
As you choose several filters, you may notice that the original filter input field text is changed according to your selection. We analyzed the most frequently used filters, and decided to start with a simple rule for filter combination. Filter values in the same row are combined with "OR" operator, and the field rows are combined with "AND".
When you're done with building the query, just click the "Apply filter" button to filter the cards.
We understand that this visual component does not fit all scenarios, and we're not deprecating our existing manual filters, but we try to integrate with them instead. We don't want to stand in the way of our advanced users, so as soon as you start manually typing the filter query, the visual dialog will be automatically hidden. You can either click or clear the input to display the dialog once again.
Nice, so how can I get it?
TL:DR; Once upgraded to 3.7.1, go to Settings -> Mashups and install "Visual Filters Preview" mashup to enable the preview
We try to release the new features as early as possible to get the valuable feedback and adjust the development (you can read more about our process here), and with this feature we go even further with releasing a preview version with 3.7.1. It's already functional for certain usecases, but it's not the final production version, so you may expect some bugs and quirks here and there.
What's more important is that visual filter dialog lets you compose only a subset of all possible DSL filters, and it's not meant to be a 100% replacement for the manually composed queries. And because it's in the early preview stage, we decided to not automatically enable it for everyone, and make it optional with a separate mashup.
We’d love you to try this new feature and let us know what you think about it! If you're feeling adventurous, just open the mashup manager for your account and install "Visual Filters Preview" mashup.
What's in the preview
Here's the list of things which already work:
- Display all fields for the currently selected entities
- Display a list of suggestions for non-primitive field types (releases, projects, states, etc.)
- Support primitive values like text (Name) , numbers (Effort, Times), flags (IsNow, IsPast)
- Support dates
- Exact: StartDate is '23-Apr-2009'
- Range: StartDate >= '23-Apr-2009' and StartDate <= '30-Apr-2015'
- Relative: StartDate is Today - 7(days)
- Oh, and we've also added "months" and "quarters" units for relative dates!
- Support simple collection filtering, like AssignedUser.Where(It is Me or It is 'Admin')
- (Almost) normal conjunctive form for the filters, i.e. we only support filtering queries which are ANDs of ORs of simple field filters.
- For now, if you open the filter dialog for the input with the filter query which doesn't match this template, we will render the empty filter set with default fields.
What's not implemented yet, but is planned for the next releases:
- More helpful date editors—calendars, date pickers, this kind of stuff
- Parametrized identifiers, like Release is Past(2)
- More powerful numeric field filters, with equality, comparisons, and ranges
- Improved state filters—is final, is initial, etc.
- General improvements for integration with existing filters
- Anything else you think important? Let us know in the comments