The Engine Room
The engine room is a place for people to contribute ideas on the development of Sharepoint, Visual Studio and information technology.

TF14105?

Something obviously happened at the user end for that error to happen on our TFS. The Team Foundation Server logged several entries on the event viewer recording a series of errors.
 
Detailed Message: TF14105: An exception occurred in the Team Foundation Source Control System.
Web Request Details
    Url: http://XX/VersionControl/v1.0/repository.asmx [method: POST]
    User Agent: Team Foundation (devenv.exe, 8.0.50727.762)
    Path: /VersionControl/v1.0/repository.asmx
    Local Request: False
    Host Address: x.x.x.x
    User: PS\XXX [authentication type: NTLM]
 
And then there's some information about a SQL error: Exception Message: Invalid column name 'RemainingCommand'. (type SqlException)
 
Everything seems fine, and nobody else seems to have had any problems. I've sent the message to OzTFS with no response and couldn't find anything on th web. I'm wondering if I should worry about this or not.

.Net Rocks Podcast: Team System Panel from TechEd 2007

A couple of weeks I bumped into this podcast by chance, Team System Panel from TechEd 2007. And even though the presentation and format was a bit cheesy,  the Visual Studio Team System discussion was very interesting.

Here are some tidbits from the panel:

  • Early on the debate who should be using VSTS: small teams, big teams, everybody? 
  • Continuous Integration: Not in this version (Orcas). Right now I guess we still have to go with something like this.
  • Using VSTS to make estimates: this was a pretty interesting part of the podcast. Everybody seemed to agree that this would be a great thing: be able to extract metrics to provide more accurate estimations. Somebody (sorry, I don't remember who made this comment) mentioned that they internally had created tools that reviewed information from TFS to deliver estimation.
  • Then the conversation evolve into a discussion on whether the information inside TFS was an indication of productivity and that every piece of data that available needs to be analysed carefully before jumping into conclusions
  • I loved the part where they talked about Project Managers. Somebody's definition of a PM was: "The role of the pm is to get great people together and watch them work". "They are supposed to go out and get the pizza". Brilliant!
  • The last section of the podcast was dedicated to the never ending debate: VSTS vs. Free Agile Tools. The general consensus was that VSTS is "there", that it can compete head to head with free tools like NUnit or NHibernate. But WorkItem management is only available in VSTS.

Definitively worth listening. There lots of personal experience and feedback in this podcast, if you have some spare time give it a chance.

Integrating VSTS with a real world application, Part I

When i was put in charge of integrating vsts with one of our core internal applications, what i came across was the lack of specific (and good) samples on how to use the vsts api. so i decided to post a couple of samples of what i’ve done and some links to sources.

i guess the first thing i should do is explain was i was asked to do. we have a .NET 2.0 web application used for time tracking. each project is divided in modules and tasks can be assigned to them. the business requirement was to be able to create tasks from visual studio into our time tracking application, but only for project that were “activated” by our project managers.

so there were a couple of modules that had to be modified or implemented:

·         alter our application to be able to select the project from tfs

·         modify the project template in tfs of the selected project to be able to select a module when creating a task

·         create a web service to handle the events triggered by tfs

·         create a web service to update our application with the information from tfs

With the story told at a high level i will finish this post with a series of links i found useful.

·         workitem api basics

·         ten must have tools

·         workitem tracking architecture

·         populating lists on workitem from an external source

·         vsts guidance project

on my next post, i will talk about the first steps on upgrading our time tracking application.

Quick Sharepoint Web Part Creation

Overview

The following will help you to quickly create a new sharepoint webpart, deploy it, activate it, and place it on a page in your sharepoint site.

Before you begin, ensure that you have a test WSS site set up, and the permissions necessary to alter it.

Install the VS templates

Microsoft recently released a set of additions to Visual Studio 2005, called the WSS 3.0 Tools: VS 2005 Extensions.  You can download these here.  Once installed, a number of new project templates will be available in Visual Studio 2005.

Create your project

Once you have installed the additions, open Visual Studio  2005, and create a new project.  From the available project types, select Visual C#->Sharepoint.  Now, select “Web Part” from the available templates.

Give your project a name, and click ‘Ok’.

In the Solution Explorer view, navigate to the root of your newly created project, right click, and select properties.

Select the ‘debug’ tab on the left hand side of the property view.  Navigate to the “Start Browser with URL:” textbox, and insert the url of your test site.  If the home page of your test site is http://wsstestsite/sites/new/default.aspx, enter http://wsstestsite/sites/new/

Save these updated properties, and press F5 (or, right click on your project in solution explorer, and select ‘deploy’).

If everything has gone smoothly, the toolbar in Visual Studio will state the Deploy has Succeded.

Write your webpart

In order to display content in your webpart, you need to finish the implementation given by the Render() stub.

This method includes a single HtmlTextWriter parameter, which you must use to output the html to be displayed in the webpart.

The simplest way of doing this is to create a String of html content, and then use the writer.write() method to write the html content.

As an example, you could enter the following code:

string sHtml = “Hey there “ + SPContext.Current.Web.CurrentUser.Name + “!”;

                writer.Write(sHtml);

Once you have created and written your html string, deploy the solution again.

View your webpart

In order to view your webpart on your wss site, you will need to place the webpart on a page.

Open a web browser, and navigate to your test site.

Click on ‘site actions’, and select ‘edit this page’.

Once the page has entered editing mode, navigate to the right hand column of the page, and select ‘Add a Web Part’.

A window will now pop up, with the available Web Parts.  Select the checkbox to the right of your webpart, and select ‘Ok’.

Your new webpart will now be inserted at the top of the right hand column.

Editing your webpart

Now that your webpart has been placed on the page, you may make any future changes in visual studio.  After redeploying the webpart, you may view any changes in your web browser simply by refreshing.