Thursday, April 16, 2009

TeamCompanion for Outlook v 2.1 released

Earlier this week Ekobit released The TeamCompanion for Outlook v2.1. Although numbered as a minor .1 release this version brings not only bug fixes, improved performance and enhancements to existing features, but also some exciting new features. This way TeamCompanion fulfills its goal to provide the general purpose TFS client integrated in Outlook with rich feature set aimed at nontechnical users, but useful to anyone wanting to combine Outlook’s collaboration and communication features with the ability to access TFS artifacts.

This release is a free update for all existing customers.

Following is the list of new and improved features of TeamCompanion:
Reports (including multiple saved parameter sets for each report)
Support for reports in TeamCompanion lets you use all standard TFS reports directly from Outlook including the ability to send the report as mail or create an Outlook task or an appointment with the report inside. This feature also lets you save the parameters with which you usually execute each report, so that you can access already configured report with just one click. For each report you can save multiple parameter sets. My favorite usage pattern is to add such preconfigured report to the favorite folder and have it there available for fast and easy access. Read more here.


„Query by example“ Work Item Query editor (including full-text search support)

Query by Example (QBE) is a simplified Work Item Query editor that makes it easier to define usual everyday Work Item Queries. Queries are defined by entering values in already available placeholders for specific most frequently used Work Item Fields (like State, Priority, Iteration or Area Path etc.). QBE also supports full text search in any text or html work item field. There is full two way synchronization between QBE and standard grid based Query Editor so that you can edit search criteria in any of these two editors and freely switch between them. Read more here.

Powerful online and offline work item search capabilities including desktop search integration
With Query by Example query editor for full text online search and desktop search integration for full text offline search in any work item field, TeamCompanion gives you all the tools you need to find the information you need.


Attaching mails to work items using drag-n-drop
Just drag a mail to the work item’s attachment tab and drop it there. TeamCompanion will take care of the rest. You can also attach files with drag-n-drop or paste pictures easily too.

Open related object (work item, changeset or build) action for notification mails
Whenever you receive a notification mail from the TFS that refers to some TFS object this feature will let you open that object with just one click. This works not only for work items, but also for changesets and builds. Opening a changeset from a notification mail is my personal favorite, since it gives you the ability to follow source code changes directly from Outlook – you receive a notification, open the changeset, in the list of changed files open the difference and there you have the view of the source code changes. All without leaving Outlook.

Work Item Query management
Configuring "Group by" columns is now a part of the work item query editor. This setting doesn’t change the query itself of course. It rather defines the way the query result will be displayed in Outlook.

Scheduled Work Item queries
With scheduled query feature introduced in TeamCompanion 2.0 end users can configure work item queries to be automatically executed periodically. With this release administrators get the ability to control how frequently queries may be executed to prevent too frequent execution that may cause heavy load on the Team Foundation Server.

For the complete list of features visit the TeamCompanion’s homepage.

TeamCompanion is available as a free 90-days fully functional trial.

Saturday, April 11, 2009

[Inside TeamCompanion 2.1] Reports

Reports are yet another feature introduced in the TeamCompanion v2.1. It integrates standard Team System reports with Outlook, thus making it not only easy to track and analyze the status of the project but also to send that further. In addition to that, support for reports in TeamCompanion simplifies the way you work with the same report used with different parameters by saving multiple parameter sets and making them available with just one click.
First of all there is a new Reports folder in the tree beneath the project folder containing all reports. If you open a report it will be shown embedded in the Outlook UI:


The report itself looks just the way you would expect it, but there’s a new toolbar at the top of the window. It lets you send the contents of the report as a mail, create an appointment or an Outlook task with the report contents attached.
In the popup menus for each of these options in the toolbar the default action, executed if you just click on the toolbar button, is displayed bolded (it can be configured in the Options dialog).


One of the most annoying things regarding reports is the necessity to enter the same report parameters each time you use the report: current iteration, area for the part of the project you are interested in, start and end dates and different other parameters over and over again. TeamCompanion with saved parameter sets comes to rescue: just click the Save as button in the reports toolbar and create a new parameter set. A new entry appears in the tree beneath the original report node and with just one click you can open the report with already populated parameters. And you can preset multiple different versions of the report with different parameter configurations (e.g. one for the current iteration, one for the previous iteration etc.).



And to make your preconfigured reports even more accessible, put them in the favorite folders. This way wherever you are in Outlook, with just one mouse click you will be able to open your favorite reports with parameters already set and start to analyze your project status straight away.

It can’t be easier than that.

Tuesday, March 31, 2009

[Inside TeamCompanion 2.1] Using Outlook 2007 Instant Search for offline work item search

Instant Search is the way to perform precise and fast search within Outlook 2007 mails, tasks, contacts, etc. You can also use it to perform full text search within work items even if you are offline. Searching arbitrary text is easy. Just select query folder and type word or phrase you want to search. Searching for the text within specific work item fields is somewhat more involved, but is also very easy, as we will demonstrate shortly. Purpose of this text is to demonstrate both approaches.

To be able to search while offline, we first need to fetch the work item information from the server in online mode. In TeamCompanion, scheduled execution of work item queries is usualy used for that. Let's suppose we want to search within work items that were returned by some query called „Test Query“. On the right side the first few work items are visible:

If we want to search for text „process guidance“, we would simply type that text in the Instant Search text box. Note that phrase must be enclosed in quotes because we want to search fields that contain both the „process“ word and „guidance“ word. These are the results:

The result is as expected; search result consists of work items that contain the phrase „process guidance“.

Let's suppose that we want to restrict our search to some specific work item fields and not all of them. To accomplish that, search queries must be used. Generally, search queries have the following form: keyword:search criteria value. When searching within a single field, keyword is the name of the field and search criteria value is the phrase that field must contain for the item to appear in the search result. In the case of TeamCompanion, basic search query has the following form: [Tfs:work item field name]:search criteria value. Work item field name is the name of the column in query view and search criteria value is the phrase to search. Note that work item field must be added as column in order to be used for search (to add columns, right-click query folder and click „Customize View“). Square brackets are required because TeamCompanion prefixes work item field names with „Tfs:“. Since colon is used by the Instant Search as the separator between keyword and search criteria value, we must tell Instant Search that colon in Tfs:work item field name is not separator. To do this we enclose Tfs: work item field name with the square brackets.

Now, let's look at few examples. Assume we want to search for the phrase: „Set up“ in the Title field. Our search query must have the following form: [Tfs:Title]:“Set up“. This is the result:

Search results now consist of work items that have the phrase „Set up“ in their Title field.

Instant Search allows usage of the standard logical operators: AND, NOT, OR, <, >, =, etc. Next example will show how to use logical operators to create a bit more complicated search queries. Suppose we want to search work items that have word „task“ in their description but ID for that work items must be less than 200. Search query for the first condition is [Tfs:Description]:task, and search query for the second condition is [Tfs:ID]:<200. Since we want work items that satisfy both of these condition, we're going to use AND operator to combine previous search queries into the single search query: [Tfs:Description]:task AND [Tfs:ID]:<200. Search results are:


That's it! As you can see, searching work items is easy.
For more information about search queries, you may find these links helpful:
Learn to narrow your search criteria for better searches in Outlook and Office Online on using Instant Search
[This blog entry was written by Dini Selimovic who implemented large parts of TeamCompanion.]

Tuesday, March 24, 2009

[Inside TeamCompanion 2.1] Query by Example (QBE)

TeamCompanion features the standard grid based work item query editor (see Picture 1) since the version 2.0. This editor is powerful, very flexible and supports lots of options, which makes it overly complex for most standard everyday queries. Although there are only a handful of work item fields usually used in the queries, user needs to pick them from a long list of fields each time over and over again. From the names in the list it is not always even clear which is the right field for specific criteria. These are only some of the issues with the standard query editor that led us to the idea to make better querying experience possible.


Picture 1: Standard Work Item Query Editor

In order to enable easy and efficient work item query editing and work item search in general we have decided to implement a new kind of work item query editor in TeamCompanion v 2.1 - Query by Example (usually referred to just as QBE). In the QBE, the standard fields are already predefined and user only needs to fill in the values. Defining search criteria this way is easier, faster, and more straightforward – most of the queries can be defined with just few clicks.

In QBE, fields are grouped in 5 different groups and presented in as many tabbed dialogs:
• General (for general query filter fields like Project name, State, Work Item Type, Area and Iteration path, Id etc.),

• State transitions (for the fields related to the work item state transitions like Created on, Created by, Resolved on etc.),

• Text (for full text search over different text fields),

• Historical Queries (for the ASOF wiql operator)

• Additional criteria (for the fields that are not provided in previous dialogs; in the picture below we have arbitrarily added two fields: Discipline and Triage).

So, how would you define an ordinary Query like “give me all active bugs and tasks assigned to me in the current project”? Actually, all you would need are exactly six mouse clicks. Check the checkboxes for the work item types Bug and Task and select @Me from the list in the “Assigned to” control and Active from the “Status” control. It can’t be simpler than that.

Picture 7: A simple Work Item Query in QBE – criteria described above are highlighted


We could add some additional criteria from the State transitions tab (e.g. search for work items that “I have created in the last 30 days”). Another four clicks.

Picture 8: A simple Work Item Query in QBE contd. - State transitions
We can even have full text search criteria included in the query.

Picture 9: A simple Work Item Query in QBE contd. – Full text search
Now, you are in for a surprise. Just switch tabs from “Query by Example” to “Query Editor” and the same query we have just defined in QBE is available in the standard grid based editor and can be further refined there. We can change any of the criteria just defined in QBE or add some completely new criteria. In QBE there is a constrained set of fields available. In the grid there are no restrictions: you can choose any field you like and as long as you choose AND operator while adding new fields, you will be allowed to switch back to QBE and continue editing the query there.

If QBE were just a fancy way to define queries using hardcoded set of fields, it would clearly be of limited use. But if you add custom fields to the query in the Query Editor and switch back to QBE, these fields will be available there too. That is what Additional criteria tab is used for. If there are additional fields in the work item query, that are not provided by default in any other tab, as long as the query structure is such that the QBE can present it, the fields will be available in the Additional criteria tab.

Picture 10: A simple Work Item Query in QBE contd. – Query opened in the standard Query Editor

Picture 11: A simple Work Item Query in QBE contd. – Custom field added in the Query Editor

Picture 12: A simple Work Item Query in QBE contd. – Custom field editable in QBE

This way with QBE and grid based Query Editor you get the best of both worlds: efficiency and ease of use of QBE and flexibility of Query Editor.
Following are some best practices regarding QBE that will further improve your usage experience with QBE.

If you want to remove a clause regarding some field on the General tab that comes together with the combo for the operator (like State, ID or Priority etc.), instead of removing the value first and then the operator, clear the operator directly by choosing empty string from the combo – it will empty the value as well.
In the QBE’s State transitions tab, by default After/On (meaning greater than or equal) or Before/On operators are used. In order not to clutter the UI too much, these operators are read only and cannot be changed here. But, if you switch to the grid based Query Editor and replace ‘>=’ with ‘>’ or ‘=’ or replace ‘<=’ with ‘<’ or ‘=’ we will honor it. Switch back to QBE and the operator will be changed appropriately.

Picture 13 to 15 – Workflow when changing temporal operators
You may be wondering what kinds of queries QBE does support. There is one basic criterion a query needs to satisfy to be editable in QBE: each filter clause (at the root level) has to be connected using AND operator. Additionally there are some operators QBE doesn’t support. Usually you really don’t need to worry about it – if the query isn’t supported by (editable in) QBE, QBE tab will instantly be disabled. That is not needed all too often though; QBE supports all queries from both standard Microsoft process templates and from Conchango’s Scrum template.
One closing note: after you define the search filter in QBE and/or in the grid based Query Editor, you should go to the third tab and configure the column options for the query: columns displayed, sorting order and grouping. The first two are standard part of any work item query. The third one, grouping, is supported because in TeamCompanion we are leveraging Outlook grouping features.
That’s it, grab your copy of TeamCompanion and start playing with Query by Example.

Summary
Query by Example (QBE) is a simplified Work Item Query editor that makes it easier to define usual everyday Work Item Queries. Queries are defined by entering values in already available placeholders for specific most frequently used Work Item Fields (like State, Priority, Iteration or Area Path etc.). QBE also supports full text search in any text or html work item field. There is full two way synchronization between QBE and standard grid based Query Editor so that you can edit search criteria in any of these two editors and freely switch between them.

Sunday, March 22, 2009

[Inside TeamCompanion 2.1] Open related object

With the release of the TeamCompanion v 2.1 just a few days away it is high time to start a series of blog entries on the most interesting new features this version brings.
We will start with one of the small but useful productivity features that make everyday work with the Team System in TeamCompanion easier and more efficient.
Whenever you receive a notification mail from the TFS that refers to some TFS object this feature called “Open related object” will let you open that object with just one click. It is similar to the ability to configure the work item links in the notification mails introduced with the TFS 2008 SP1 that lets you open work items in the Team System Web Access. But, since we are in a desktop application – Outlook, it would be a shame to have to use web UI. We should be able to open the work item in a nice familiar desktop dialog. That is what “Open related object” is all about. In addition to work items it supports opening changesets and build reports too!
Let’s see what it looks like. We will start with a notification mail about work item change

After just one click on the “Open Work Item” button the work item edit form appears:

It works the same way for changesets:

and for the builds:

The same action is available from the context menu too:

Wednesday, February 25, 2009

Oracle support for Visual Studio Team Edition Database Edition announced!

Quest Software announced yesterday (Feb 24, 2009) that it will offer Oracle support for Microsoft Visual Studio Team System (VSTS) 2010!
Quest will produce an
Oracle Database Schema Provider (DSP) which will integrate Oracle with Visual Studio Database Edition and allow Oracle Developers using Visual Studio Team System to perform offline design, development and change management for Oracle databases, similarly to how Visual Studio Team System works with Microsoft® SQL Server™ databases.

See the screenshots or joint the beta.

Visit TeamFuze, new community for Oracle professionals working in VSTS.
Go to
TeamFuze forums.
Visit TeamFuze blog.

Wahoo!

Saturday, November 08, 2008

Oct'08 TFS Power Tools released

I refrained from passing all the VSTS related news on the blog lately, since there are enough other places where one can plug in and be informed in real time of all important events.

But this is really important news: Microsoft has released a major piece of Team System functionality in an off the band release in its October 08 TFS Power Tools.
Oct ‘08 Power Tools come with many things lots of people have been asking for. Just read the list of the major new features:

Team Members
Adds a new node to under each Team Project to the Team Explorer called "Team Members" that identifies people and who work on the project. It serves as a "pivot point" for information and operations on people and teams. This is huge, because among supported operations we finally get IM, audio and video comm. integrated with TFS client. Right now Live Messenger 8.0 and later and Office Communicator 2005 and later are supported, but more are in the works.

Windows Shell Extension
Allows core version control operations directly within Windows Explorer (without using Team Explorer). You will need to use to use custom setup option in order to turn this feature on. And it works on 64 bit OS-es as well!

PowerShell Support
Provides a PowerShell pipeline and cmdlets for TFS. Initial support is for core version control operations.

Custom components
This feature brings support for automated distribution of client side custom components like custom work item controls, check in policies and similar. Up till now there was no good way to distribute them. Now there is. :-)

Above are only the most exciting features. For the complete list with more detailed description see Brian Harry’s blogs here and here.

Get the Oct’08 TFS Power Tools here.

Tuesday, September 30, 2008

VSTS Dev and DB Editions joined together!

After a longer hiatus, this blog continues with exciting news about Microsoft yesterday’s announcement:
not only will VSTS Development Edition and Database Edition be merged in the next version of the VS, but as of October 1, 2008 if you have one (and valid SA – software assurance agreement) you are entitled to use the other even for the current 2008 version.

This also applies to Microsoft partners that until now only received Developer Edition licenses as a part of the partner benefits! They get the Database Edition as well now.

This is part of larger Visual Studio 2010 announcement. Read more in Brian Harry's blog (including the hint on when we can expect to get it).




Saturday, June 28, 2008

TeamCompanion for Excel and Project support for TFS 2008 released

Together with the new version of the TeamCompanion for Outlook, Ekobit released the TFS 2008 versions of TeamCompanion for Excel and Project. Find more about these two addins here.

TeamCompanion for Outlook v2.0 released

Earlier this week Ekobit released The TeamCompanion for Outlook v2.0. This second major version of the TeamCompanion brings a lot of new features. Actually, there are as many new features as there were features altogether earlier. The new TeamCompanion version sets standards in integration between Outlook and the Team Foundation Server. Scheduled queries will automatically refresh WI folders enabling you to stay up-to-date, while ad-hoc queries allow the execution of WI queries on the fly. With the ability to drag and drop queries in the favorite folders you will have that up-to-date information about the work progress always visible.

Some of the cool new features:

  • Work Item query management support
  • Editing areas and iterations support
  • Scheduled Work Item queries
  • Subscriptions to TFS alert notifications support
  • Integration with Excel and Project
  • Work Item reminders and To-Do list integration
  • Outlook Tasks support (Work item from Task, Task from Work item, Open associated Work Item)
  • Outlook RSS feeds support
  • Ad-hoc queries including all standard services (Work Item to Mail, task or appointment conversion)
  • Add related work item action support
  • Send Work Item Query result as mail
  • Additional simplified toolbar
  • Trial period extended to 90 days
  • ... and a lot more available for download now.

Visit videos and the blog demonstrating and describing the most interesting usage scenarios.
TeamCompanion supports Outlook 2003 and 2007 and TFS 2005 and 2008 and is available in English and German.
Product homepage:
http://www.teamcompanion.com/
Download the trial from:
http://www.ekobit.com/ProductsDetailView.aspx?id=29

Wednesday, February 27, 2008

[VSTS] Problem with Bissubscribe and keyword 'NOT'

[Update: Problem described in this blog entry has been solved in TFS 2008 SP1.]
When called twice with the same arguments bissubscribe doesn’t do anything on the second call i.e. there is no additional second event subscription added. Normally it is safe to call bissubscribe with the same arguments as many times as you like – you will get only one subscription.

But, there is a know bug that causes problems if the filter expression contains the keyword 'NOT'.

If the filter contains ‘NOT’, if called multiple times with the same arguments, bissubscribe will not detect that the arguments are the same and will create a new subscription every time you call it.

Here is a generic sample to repro the problem:

If called twice following line will create two subscriptions
BisSubscribe.exe /eventType WorkItemChangedEvent /address http://tfs2k8/Notifications/EventHandler.asmx /server http://tfs2k8:8080 /filter "NOT \"PortfolioProject\" = 'a'"
whereby if we remove NOT from the filter expression only one subscription is created.


Suggested workaround is to use the operator ‘<>’ instead of the keyword ‘NOT’.


Following call works fine i.e. can be called multiple times and will result in one subscription only:
BisSubscribe.exe /eventType WorkItemChangedEvent /address http://tfs2k8/Notifications/EventHandler.asmx /server http://tfs2k8:8080 /filter " \"PortfolioProject\" <> 'a'"

Monday, February 18, 2008

[Inside TeamCompanion]: Desktop work item search - Part 2: Vista instant search hints

In the previous blog entry I've presented desktop search integration for the work items implemented by the TeamCompanion. In this one, I will give you some hints how to best use it to get the right search results quickly and easily. The hints apply to Vista instant search.

The idea is to give the search engine some metadata in addition to the search term itself, so that it can best locate your work items.
Internally work items are presented to the indexing engine as mail items, so you should use „store:mapi“ in your work items searches. That is not too restrictive but will help.

In the following examples I will use the team foundation server name “TFS.ekobit.com” and the project name “SearchDemoProject”.

To search for work items from a specific server tell the search engine to look in specific folder only. Use „Folder:TFSServerName “. You don’t need to use the full server name. A part of the name unique among all of the servers used in the TeamCompanion will be enough.
Example: enter “store:mapi Folder:TFS TeamCompanion” in instant search to look for the word TeamCompanion in all retrieved work items of all projects in the server TFS.ekobit.com (as long as there are no other servers with names starting with letters TFS).

To search for work items in a specific team project make the query more restrictive. Use „Folder:TFSServerName/TeamProjectName“. Here you must use the complete server name (as shown in the TeamCompanion Mail folder tree) and any unique part of the team project name
Example: enter “store:mapi Folder:TFS.ekobit.com/SearchDemoProject TeamCompanion” in instant search to look for the word TeamCompanion in all retrieved work items in the project SearchDemoProject in the server TFS.ekobit.com.

If you want to search only in the results of one specific work item query, make the folder specification even more restrictive: “Folder:TFSServerName/Team Queries/TFSWorkItemQueryName”. Instead of “Team Queries”, obviously you can put “My Queries” as well.
Example: enter “store:mapi Folder:TFS.ekobit.com/SearchDemoProject/Team Queries/All Tasks TeamCompanion” in instant search to look for the work TeamCompanion in all retrieved active task work items in the project SearchDemoProject in the server TFS.ekobit.com.



[Inside TeamCompanion]: Full text desktop search and work items

TeamCompanion integrates work item management with Outlook. As a part of this integration, every time a work item query is executed we save the complete content of all work items from the query result (of course we get only the new information or info that was changed since the last get). We do that in order to be able to support offline work, to offer work item information even if TeamCompanion is not connected to the TFS server.

At the same time, since this data is subject to Outlook indexing engine, the full text search of work items is supported. All work item fields, standard or custom, are subject to search. Search also includes some not so obvious parts of work item information: attachment names, links and even categories if you assign them to the work items (btw. categories are especially useful during the triage!). Outlook highlights all occurrences of the searched term. The only prerequisites are that you have retrieved the work item data by executing a query from TeamCompanion and that the indexing engine has already processed the query result (count with some delay). For performance reasons we (currently) don’t support the search through the work item history. We might consider it for some future version.

See the screenshot below:



This kind of search works wherever desktop search works -Windows XP and Vista.

But, there is more to it. Since the same index is used by the Windows Vista instant search, we are able to support searching for work items from the Vista Start menu “Start search” edit box. You enter the search term, get the list of results, choose one and as long as it is a work item, you will get it opened in the nice familiar work item edit form!
Usualy you will need to help search engine to find precisely what you want.More about that in following blog enties.
Click on the result link, and... Voilà - here's your work item:


That’s the beauty of joined powers of TeamCompanion, Outlook and Vista.

Tuesday, January 22, 2008

[VSTS] Adding work item query to Excel programatically

Inspired by the forum question that asked whether it is possible to add work item query to Excel file programmatically and following the reasoning of the poster that since Project Creation Wizard (PCW) can do it we should be able to do that as well, I did a bit of research. I mean, I reflected a bit.:-)

The first problem was to find the PCW plug-ins. They all implement IProjectComponentCreator (see ppt by Marcel de Vries covering PCW plug-ins inner workings) which made it easy to find them. For instance, the WSS Portal Plugin is in the class Microsoft.VisualStudio.TeamFoundation.WssSiteCreator in Microsoft.VisualStudio.TeamFoundation.TeamExplorer.dll.

Second part was to find the way this Plug-in adds queries to Excel files –the DocumentELeadEnabler class. Just call its ELeadEnable method and query is added to the Excel file. The class is internal so you should be aware of possible future changes, but for now it works all right.

Attached zip file contains the source of the command line utility that takes several arguments (Path to the Excel file, Server name, Server url, Project name, Project uri and the work item query guid) and inserts the query in the file. Hint: The guids and urls for the project and queries can be found in the properties window in Team Explorer. Query guid is a part of the query uri.

Attached:
AddWIQLToExcel.zip

Friday, October 26, 2007

TeamCompanion for Project and Excel released


Last week we at Ekobit have released the TeamCompanion for Outlook, but that was not the only TeamSystem related release from the TeamCompanion family of tools that has seen the light on that day.

The TeamCompanion for MS Project and TeamCompanion for Excel were released as well. Old time readers of this blog may remember that a bit less than a year ago I have published an MS Project add-in that made opening the work items from inside MS Project possible. This scenario, not normally supported by the TFS add-in for Project coming with Visual Studio Team System, makes the life of a project manager much easier since they don’t need to switch contexts and leave MS Project every time they want to open a work item in order to see its details or to edit it.

TeamCompanion for Project is improved version of that add-in with some problems of the original version solved. TeamCompanion for Excel offers the same functionality but in Excel.

Both tools are free.

Download the TeamCompanion for Project from here (http://www.ekobit.com/ProductsDetailView.aspx?id=43).

Download the TeamCompanion for Excel from here (http://www.ekobit.com/ProductsDetailView.aspx?id=38).