Yesterday Denis and I released a new version of code2plan that includes a couple of long-awaited features: filter and search.
We've had filters for some time, but they weren't fully functional. Our new release supports some great new filtering capabilities:
- Filters are persistent. You can save your filters by name, and they appear in the filters popup for the appropriate work items page. A filter is always associated with a specific kind of work item, like tasks or stories. The filter selected for a work items page is also remembered, so if you select the "Backlog" filter on the stories page, you'll still be looking at the backlog when you return to that page later.
- Filters can be shared. Just like work items, if you create a filter, all the other users in your team can see and use it. Unlike work items, filters can also can be private, so you can have your own special set of filters that is visible only to you.
- Filters can be organized. For each work item type, there is a list of all filters. You also have a list of favorite filters for each work item type that is specific to you. You can add and remove filters to this list, and move filters up and down in the list.
- Filters have new special values. Almost all work item properties can be filtered on. Most properties are standard types, like string, decimal, and date. You can filter on specific values for these types (including "not set"). Date properties can also be compared to special values "today", "in the future", and "in the past". These values are special because they are always evaluated at the moment the filter is run. That means that your filter results will automatically change over time as existing date values move into the past. Work item properties that refer to iterations can be compared to the special value "current iteration", which refers to whichever iteration is selected on the dashboard. Finally, the owner property can be compared to the "logged in user", which refers to whoever is currently logged in. All this means that it is easy to construct a filter like "my iteration tasks" which looks for tasks owned by the logged in user for the current iteration. This filter will always be relevant regardless of who is logged in or which iteration is current.
- Predefined filters. We've included a bunch of filters out of the box to get you started. These filters automatically populate the favorites list on each page.
Note that the Dashboard and Stories pages no longer implicitly filter on current iteration. You'll see all tasks and stories unless you select a filter. The iteration combo box on the Dashboard still sets the current iteration, but this is only used for the "current iteration" special value in filters, and for the burndown chart.
A browser-style search box has also been added to each page. Here you can enter one or more words, which will be searched for in the work item name, description, and comments properties. All of the words must be found for a work item to match, but they can be found in any of the properties mentioned. On the people page, the search is performed on the login, first name, last name, and email properties.
Note that when a filter is applied, search will only return results that are also included in the filter. So, if you have a filter selected for open defects only, a search won't return any closed defects.
There are a few other enhancements and bug fixes. Denis spent some time revamping the color schemes for our users on Windows XP (you've reported that the colors weren't the best). See the release notes for all the detail.
I hope you like the new version - go to www.code2plan.com and download it now. code2plan is free!