XPlan has a feature unique in its category: advanced search syntax.
That means that you can build your filters, or just do searches, exactly how you mean them, with absolute precision.
You can use plain search – and, in that case, all the terms contribute to narrow down the results – or an expression. And expressions have a simple form, like that:
state=pending and startdate<>future
In this article, we’ll see in detail how to use this powerful tool.
Before that, a brief introduction about where and when to use that syntax.
Custom views and search
Work items can be filtered in two ways: one is custom views, accessible in the left panel of the main screen of XPlan, the other is the search box in the top bar.
When a custom view is set, its filter applies. A possible additional search from the search box would further filter its results.
If you want your search from the search box to overwrite the current view, just prefix
all: to it, and the search will apply to all the data.
Custom views can be created in the left panel, accessing the context menu by a right-click. The custom view will require a name and a filter (plain search or expression). Afterward, you can access that view by just clicking on its name.
When you type your search, you can just type terms as you would do with any search engine. All the terms will contribute determining the result set by filtering name, code, and tags.
You can enclose two or more terms in double quotes to be sure that they will be treated as an exact text.
If you use field names and operators in your search, XPlan recognizes it as an expression, and a more powerful filter can be specified.
In particular, you can specify a field name, an operator, and a value for the field name. Example:
But you can also connect these basic expressions with the operators and and or. Also, you can enclose parts of your expression with parentheses, for complex searches. Example:
type=task and (priority>4 or duedate<=today)
Possible operators are >, <, =, <>, >=, <=, and they apply to all the fields for which it makes sense.
By pressing F1 in the search box, you’ll get a detailed list of all the fields available for searches. Basic fields are: type, code, name, state, statetype, priority, effort, startdate, enddate, duedate. However more fields are available, and some could be added in future releases.
Special values are available for searches on dates.
future, aftertomorrow, and past can be used with identity searches (equal or different). That means that you can write
startdate<>future. However, you can’t write
now, today, and tomorrow can be used with all the operators. You can write
duedate<today and also
Effort is stored in days, so when you use a numeric value, it will be considered days.
However, you can specify a time unit as well, taking into consideration that XPlan splits 1 day into 8 working hours. 2d would mean 2 days, 4h would mean 4 hours, 30m would mean 30 minutes.
So, a search on the effort could be
Null is a special value that can be used with dates, effort, and other fields that admit the absence of a value. So, for example, you can specify
duedate<>null to find the work items with a due date.
You can not only specify values for your tasks but also search according to parent fields.
Let’s suppose that you want to find all of the tasks in the hierarchy of a specific project. You’ll use
By prefixing h (or hierarchy) to the file name, you’ll mean the parent field – any parent in the upward hierarchy.
code and name, at least, that can be used this way.
XPlan Viewer for Android accepts search expressions as well, but with a few limitations.
Some fields may not be managed (currently, dates, effort and priority), so custom views based on those fields won’t appear, and searches based on those fields won’t give results.
A typical custom view is that which filters out the tasks for today.
Of course, there are several possibilities, depending on your needs. One of them could be
statetype=progress and type<>area and type<>project and startdate<>future
You could furtherly refine the search, for example, by typing, in the search box
For any doubt or question, don’t hesitate to contact us at firstname.lastname@example.org.