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'

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).

Monday, October 15, 2007

TeamCompanion for Outlook 2007 released!


A few days ago Ekobit has released the TeamCompanion for Outlook 2007, an Outlook Add-in that integrates Outlook and mails with the Team Foundation server and work items.

If you spend a large percentage of time in Outlook writing and reading mails and at the same time work in a Visual Studio Team System based environment, wouldn’t it be great to have everything you need at hand – all the work items, mails and the great integration of the two.

TeamCompanion offers great features that make work item management within Outlook enjoyable experience. Actually, for the last two months, I’ve been working with work items almost exclusively using TeamCompanion. Not only to dogfood the product, but also because it is easier and in some ways more elegant than with any other existing tool. Through ease of use, TeamCompanion enables efficient communication, better work item management and less friction between them for less effort.

TeamCompanion gives you the ability to execute all the usual work item queries, access every work item field, group, filter, categorize, search (over all textual fields, including even the names of the attachments) and create appointments for work items, send them as a mail or export to MS Office OneNote. To have them always at hand, add your most frequently used queries to the favorite folders window. TeamCompanion also gives you the ability to take work items with you offline, and still do all of the above things except executing the queries, of course!

When you are online once again, you will additionally be able to create, edit and quickly open work items, create work items from mail and do lot of other things.

If you feel friction between the ways you communicate using mails and the way the work is managed using work items, Team Companion for Outlook 2007 might be the solution.



TeamCompanion for Outlook 2007 homepage:
www.teamcompanion.com
Download the fully functional 30 days free trial:
http://www.ekobit.com/ProductsDetailView.aspx?id=29
Complete features overview:
http://www.ekobit.com/ProductsDetailView.aspx?id=44
FAQ: http://www.ekobit.com/ProductsDetailView.aspx?id=25

Thursday, October 04, 2007

Source code for the .Net library for the .Net 3.5 and VS 2008 will be released

Scott Guthry blogs about very exciting news: Microsoft will release the source code for the .Net 3.5 library later this year. The source will be installable as a separate standalone setup and viewable in any text editor but VS will also include the debugger support in VS 2008. This is a huge leap forward in the way we'll program .Net applications!
For the list of the libraries that will be released in the first wave and for some screenshots of the debugging experience and other details go
here.

Saturday, September 22, 2007

Custom work item controls

Introduction
Custom work item controls are used to implement the functionalities not offered by the set of standard controls used in the work item form (edit box, combo box, datetime, html control and the special ones like area/iteration). They are available in Team System as of SP1 for TFS 2005.
In this article we will describe what the custom controls are and how they can be implemented and used. We will develop a custom control, the Checkboxed options control, which will accept and show multiple values by showing a row of checkboxes.



Checkboxed options control
Related reading
There are no many sources of information on custom work item controls on the Internet. So, I might as well list all currently available relevant sources:
The
official msdn documentation[1] is rather brief, so you might like to start with the first ever published article on custom controls [2] written by Naren Datha of Microsoft. It is not too long either but covers everything from the reasoning for the custom controls to the deployment. Recently, a colleague of mine, VSTS MVP Neno Loje published the Custom work item controls primer [3] on his blog, a description of the first steps needed to build and use a work item custom control. Last but not least, you should visit the semi-official place to find publicly available custom controls on Codeplex [4]

Why would you build a custom control?
There are many reasons why you would use custom controls. If you want to provide richer UI or provide some additional functionality in the work item form, custom controls are the way to go. One case of such better UI would be graphical representation of the severity level data in the form of traffic lights instead of just numbers from 1 to 3. Custom controls can enable more elegant way to insert screenshots as attachments [5] or to do some mathematical operation with the work item’s data, evaluate a formula e.g. sum the estimates, different parts of the team have given for a task, in order to get the total estimate. For some further ideas on possible uses of custom controls see [7].
Currently there is no way to put multiple data in one work item field other than to use a custom control. One such case is the Checkboxed options control we demonstrate in this article.
You can implement custom controls using Windows Form controls or even use ActiveX controls wrapped as Windows Form controls.
In which cases would it be wrong to use custom controls? You shouldn’t try to use them in order to implement additional work item rules [6], since Excel or MS Project don’t support custom controls. Your rules would not be evaluated in at least these two environments and it is thus better not to raise false expectations and to refrain from implementing rules through custom controls.

Restrictions of the custom controls
There are several restrictions you should have in mind before deciding to use the work item custom controls:
The binaries for the custom control must be locally installed on each client computer. Visual Studio assumes the binaries are already available and does nothing itself to provide for them. If the required files are missing you will simply get an empty box instead of the control. Hint: There is no requirement for Admin rights to install custom control binaries.
This is the major problem, since it hinders easy adoption. Until a good way to centrally manage and easily distribute the binaries is found, custom controls will have only limited importance.
· Only Visual Studio and other environments that use standard work item edit form support the custom controls. See the section “Custom controls and different client environments (TSWA, Excel, MS Project)” below.

Basic interfaces/basics of a custom controls
Custom controls must derive from

System.Windows.Forms.Control class, have a no-argument constructor and implement the IWorkItemControl interface.
The IWorkItemControl interface looks like this:

public interface IWorkItemControl
{
StringDictionary Properties { get; set; }
bool ReadOnly { get; set; }
object WorkItemDatasource { get; set; }
string WorkItemFieldName { get; set; }

event EventHandler AfterUpdateDatasource;
event EventHandler BeforeUpdateDatasource;

void Clear();
void FlushToDatasource();
void InvalidateDatasource();
void SetSite(IServiceProvider serviceProvider);
}

The Properties property gives access to all the attributes defined for the control in the work item type definition. Custom, control specific attributes are allowed here as well. This is the way to set the configuration data for your control.
The ReadOnly property is used to tell the control that it should be displayed as read/only. See also the section “Making a custom control read-only” below.
The WorkItemDataSource property is the reference to the work item object. Should be cast to WorkItem class. Using the Fields property of the work item you can access any field of the current work item.
The WorkItemFieldName property holds the name of the work item field this control is associated with. A control can be associated with 0 or 1 field.
The AfterUpdateDatasource and BeforeUpdateDatasource events should be raised when you update the fields in the work item so that other controls can refresh themselves if needed.
Clear should reset the content of the control.
FlushToDatasource can usually be safely ignored since you’ll directly change the work item object as soon as the control’s content is edited.
InvalidateDatasource – in this method the control should use the data from the work item object and other possible data sources to redraw itself.
SetSite makes IServiceProvider interface available that can be used to access VS services.
So, the life of a custom control in terms of properties and methods of the IWorkItemControl interface can be summarized like this:
A control edits a field named in WorkItemFieldName of the work item object whose reference is in WorkItemDataSource. In InvalidateDatasource the control redraws itself, using the dana from the work item and probably using one or more attributes from the Properties property bag. As soon as the user edits the control's content, events AfterUpdateDatasource and BeforeUpdateDatasource should be raised. If the ReadOnly is set, the control should make itself read only.
Once you've implemented this interface you're ready to use the control in the xml work item type definition.


Using custom controls in the work item type xml definitions
Once you've developed a custom control, it is time to use it in the work item definition. In order to do that, it needs to be included in the work item's layout. In the work item's xml definition, the design of the work item form is defined by the
Layout element [8].



Each control on the work item form is defined by the Control element [9] below the Layout element.
The only required attribute of the Control element is the Type attribute. Originally, there was a fixed list of possible values this attribute can have: FieldControl (meaning: the standard control, edit box or the combo box, depending on the content), DateTimeControl, HtmlFieldControl, WorkItemClassificationControl (used for Areas and Iterations) and the three special “controls” that are in fact the whole tabs in the standard work item layouts - LinksControl, AttachmentControl and WorkItemLogControl.
With the introduction of custom controls the definition of the Type attribute was extended. If it contains something other than one of previously listed predefined values, this value is expected to be the name of a custom control class.
Usually you will set at least one optional attribute – FieldName. It defines the name of the work item field bound to the control; the value defined with this attribute will be given to the custom control in its WorkItemFieldName property.
Other optional attributes are Label, LabelPosition, ReadOnly, Dock, Padding and Margin.
As we will see later, whatever other attributes you set, they will be available to your control through IWorkItemControl.Properties property bag. Once the Type attribute is used to instantiate the custom control, it is the responsibility of the control (that means, your custom code) to interpret the meaning of all other attributes. Since it is the sole responsibility of your control to interpret the attributes, as long as the control understands them, custom attributes can be used as well. In our case we will use the attribute Options to define the names of the options the Checkboxed options control will display.

There is a bad news related to editing the xml definitions of the work item types – you will need to edit them by hand. Since the
Team System Process Editor (PTE) [10] doesn't support custom controls, there is no other choise. If you really like PTE and would still like to work with custom controls, one possible workaround [11], would be to have two versions of the work item definition, the working one and the final one. The working copy contains a placeholder standard control for each instance of a custom control. This version can be edited and previewed in PTE. Once, when you are satisfied with this version, using find and replace and the text editor or some script you replace each placeholder with appropriate custom control Control tag, thus creating the final version. The final version is the one that should be uploaded (witimported) to the server and actually used.
That said, I prefer editing work item xml definitions by hand, since I am usually more efficient that way, but if you’re unsure what exactly needs to be done or just feel more secure doing it using a tool, with the above workaround, PTE can be of use.


Work Item Custom Control (.wicc) files and deployment
How does Visual Studio know where to find the implementation of the custom control?
It uses .wicc (Work Item Custom Control) files. These contain the fully qualified name of your control class and the name of the assembly containing the implementation. The name of the file is the name you should use as the control’s type name (Type attribute of the Control element) in the work item definition.
The file used for our Checkboxed options control looks like this:



But where should I put the .wicc file and the implementation of the custom control?
Visual Studio looks for them in the “Microsoft\Team Foundation\Work Item Tracking\Custom Controls“ folder under Environment.SpecialFolder.CommonApplicationData folder first, then under Environment.SpecialFolder.LocalApplicationData.



In order to enable side by side installation of custom controls compiled with VS 2005 and those compiled with VS 2008 libraries, in Orcas, the search path was extended, as described in [
12]. In Orcas, VS will first look in the subfolder 9.0 of the Custom controls folder in order to find Orcas specific versions. So the Orcas versions of the custom controls (these are the ones compiled with Orcas versions of the Work Item object model .dlls) should be put in “Microsoft\Team Foundation\Work Item Tracking\Custom Controls\9.0“.
You can xcopy deploy your files to above folders or make a .msi file that does that. Attached “
Checkboxed options.zip” file contains the VS setup project that generates the appropriate .msi file. The .msi contains only two files – the .wicc file and the .dll containing the implementation of the custom control.



Checkboxed options control
The Checkboxed options control uses the CheckedListBox to show the list of checkboxes.
Let’s go through the control’s initialization code:
We check whether there is an Option attribute in the xml definition for the control, parse the content of the attribute and initialize the ListBox entries

//insert the list entries
if (!m_properties.ContainsKey("options"))
{
throw new InvalidFieldValueException(
"Entries for the Checkboxed options control in the work item not defined. " + Environment.NewLine +
"Add Options attribute to the appropriate element in the work item definition.", null);
}
string[] names = m_properties["Options"].Split(m_Separator);
this.m_listBox.Items.AddRange(names);
m_listBox.ColumnWidth = MeasureListItemWidth(names);

Then we ignore the standard control attributes while parsing all other custom attributes and use them to initialize the control:

//set other properties
foreach (string propName in m_properties.Keys)
{
switch (propName)
{
//ignore the non custom properties
case "fieldname":
case "label":
case "labelposition":
case "options":
case "type":
break;
default:
{
try
{
string propValue = m_properties[propName];
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(m_listBox);
//names of the properties are case insensitive
PropertyDescriptor pd = properties.Find(propName, true);
if (pd == null)
Trace.WriteLine("Property " + propName + " with value " + propValue + " not found.");
else
{
pd.SetValue(m_listBox, pd.Converter.ConvertFrom(propValue));
}
}
catch (Exception e)
{
Trace.WriteLine("Setting " + propName + " failed:\r\n" + e.Message);
}
}
break;
}

Members m_workItem, m_fieldName, m_properties are bound to the IWorkItemControl.WorkItemDatasource , IWorkItemControl.WorkItemFieldName and IWorkItemControl.Properties respectively.
When the user clicks on one of the checkboxes the new value for the complete “encoded” content of the control is calculated and saved directly into the work item:



void m_listBox_ItemCheck(object sender, System.Windows.Forms.ItemCheckEventArgs e)
{
...
StringBuilder sb = new StringBuilder();
for (int i = 0; i < m_listBox.Items.Count; i++)
{
if (i == e.Index)
{
if (e.NewValue == CheckState.Checked)
sb.AppendFormat("{0}{1}", GetInternalRep(m_listBox.Items[i].ToString()), m_Separator);
}
else
{
if (m_listBox.GetItemCheckState(i) == CheckState.Checked)
sb.AppendFormat("{0}{1}", GetInternalRep(m_listBox.Items[i].ToString()), m_Separator);
}
}
string value = sb.ToString();

OnBeforeUpdateDatasource(EventArgs.Empty);
m_workItem.Fields[m_fieldName].Value = value;
OnAfterUpdateDatasource(EventArgs.Empty);
}



The function GetInternalRep adds angle brackets around the value of a field. In the end, if the control looks as in the picture at the beginning of the article, the value "[WXP Pro SP2];[Vista];" is saved in the work item field.

Querying

Use "Contains" clause in the work item query tool to query for one specific option set. Following query returns all work items having "Vista" checkbox checked.



Debugging

The easiest way to debug the control is to use another instance of Visual Studio and to attach it’s debugger to the first VS instance where the work item form containing the custom control is displayed.

Making a custom control read-only

In order to make your custom control read only, check value of the work item field’s IsEditable property in InvalidateDatasource event and set your control’s edit state accordingly. This is how the native controls like FieldControl, DateTimeControl handle read-only state.

Custom controls and the different client environments (TSWA, Excel, MS Project)

MS Excel and MS Project don’t support custom controls. Excel and Project will show the textual representation of the data instead, which is ugly but sometimes still usable. Usually though, editing the custom control field data in Excel or Project directly, might damage the data consistency, so it should be avoided. Current version of the TSWA (Team System Web Access) doesn’t support the custom controls, at least not in a documented way. Good news is that the next version of the TSWA (the one coming with the Orcas wave) will support custom controls. That said, you need to have in mind that TSWA will not be able to reuse the WinForms implementation of a custom control; it will need a custom web forms based one.

Checkboxed options control: Source, Setup

References:
[1] Official MSDN documentation,
http://msdn2.microsoft.com/en-us/library/bb286959(VS.80).aspx [2] Naren Datha’s blog entry on custom work item controls, http://blogs.msdn.com/narend/archive/2006/10/02/How-to-use-Custom-Controls-in-Work-Item-Form.aspx
[3] Neno Loje’s article: Getting started using Custom Work Item Controls,
http://msmvps.com/blogs/vstsblog/archive/2007/07/07/starting-using-custom-work-item-controls.aspx
[4] Codeplex project TFS Work Item Tracking Custom Controls,
http://www.codeplex.com/WitCustomControls
[5] TFS Work Item Screenshot Custom Control,
http://olausson.net/blog/PermaLink,guid,8d7a24a9-b1b4-463c-a037-769c33aabfb9.aspx
[6] MSDN documentation: Available Field Rules,
http://msdn2.microsoft.com/en-us/library/ms194953(VS.80).aspx
[7] Naren Datha's introduction to the custom controls,
http://blogs.msdn.com/narend/archive/2006/09/27/773025.aspx
[8] Layout Element (Work Item Type Definition Schema),
http://msdn2.microsoft.com/en-us/library/aa337635(VS.80).aspx
[9] Control Element (Work Item Type Definition Schema),
http://msdn2.microsoft.com/en-us/library/aa337625(VS.80).aspx
[10] Team System Process Editor as one of the tools in the Microsoft Visual Studio 2005 Team Foundation Server Power Tool,
http://www.microsoft.com/downloads/details.aspx?familyid=7324c3db-658d-441b-8522-689c557d0a79&displaylang=en
[11] Developer discussion on Codeplex: Problems with new Process template Editor and Custom Control,
http://www.codeplex.com/WitCustomControls/Thread/View.aspx?ThreadId=7676
[12] How to port Whidbey custom controls to Orcas ,
http://blogs.msdn.com/narend/archive/2007/08/23/how-to-port-whidbey-custom-controls-to-orcas.aspx




CTP of the VSTS Web Access for TFS 2008 released

Brian Harry just announced the availability of a CTP of the next version VSTS Web Access, the one that will be released together with VS Orcas. This version will work with both TFS 2005 and TFS 2008 (you will need to have Team Explorer 2008 installed locally in both cases).

This version of VSTS Web Access is exciting because it finally brings the support for the work item custom controls to the VSTS Web Access!

See the full announcement here.
Download the bits here.

Tuesday, July 31, 2007

Team System Web Access Power Tool Released!

Microsoft just released the first Microsoft branded version of Team Plain - Team System Web Access Power Tool.
It brings much better performance, many bug fixes, and a lot of new features... Read more here.
Download the tool here.

Chat with the Visual Studio Team System product team

Come chat with the Visual Studio Team System product team – This Wednesday

Join members of the Visual Studio Team System product group to discuss features available in Visual Studio Team Foundation Server, Architecture Edition, Development Edition, Database Edition, and Test Edition. In addition, discuss what's new in Beta 2.

We will be holding two sessions:

Join the chat on Wednesday, August 1st, 2007 from 10:00am - 11:00am Pacific Time. Add to Calendar Additional Time Zones
-or-
Join the chat on Wednesday, August 1st, 2007 from 4:00pm - 5:00pm Pacific Time. Add to Calendar Additional Time Zones