Part 3: What's my source control server doing? A RSS feed to keep track of checkins

I haven't forgotten about the RSS feed generator. There were some issues that I needed to resolve with the sample code before it can be released; this required a few changes -- these include:

  • Instead of using public methods in the Version Control server assemblies, the Version Control Client Object Model (OM) is used instead. The OM supports a rich API and is the intended, suggested, and supported way by which applications interact with Team Foundation.
  • You should note that the RSS feed generator is a sample and is provided " AS IS". The file contains the disclaimers and copyright notice.

Caveats

  • This posting is provided "AS IS" with no warranties of any kind and confers no rights. Use of samples included in this posting is subject to the terms specified at https://www.microsoft.com/info/cpyright.htm.
  • It may not work with the RSS reader that you're using (I've been using SharpReader).
  • It may not work with your environment.
  • I have verified that it will work with our upcoming CTP. Changes made to Team Foundation subsequent may be incompatible with the RSS feed generator.
  • The RSS feed generator uses the credentials of the client invoking it to obtain information about checkins (read access to at least one item in the changeset is required to obtain information about the changeset).

RSS Feed Generator Features

  • User throttle: Within a 30-second interval, only the first request from each user is serviced (duplicate requests are ignored). You can disable this behavior by setting throttleRequests to false. The interval is determined by pesterInterval.
  • Path-specific subscriptions : You can include a server path (e.g., $/teamProject/somePathOfInterest) to subscribe to only the area(s) of interest. If server path specifies a folder, than any changes at or below that folder are included in the feed. If server path specifies a file, only changes to that file are in the feed. The default server path is the folder $/
  • Security : The caller's credentials are used to obtain information about checkin activity. The links returned in the feed are for changeset webviews.

Example

Each checkin is represented by an individual item in the feed; e.g., this is information about the 3rd checkin:

Changeset 3 was checked in by DOMAIN\user on 7/21/2005 12:56:05 PM. This checkin includes changes to 15 item(s).

You can view the details of the checkin by selecting the provided link.

Selecting the changeset link will display the webview of that changeset:

Check-in 3: fsdfsadf

Summary

Team Project(s):

507211250

Checked in by:

user

Checked in on:

7/21/2005 12:56:05 PM

Code Reviewer:

 None

Performance Reviewer:

 None

Security Reviewer:

 None

Comment:

 fsdfsadf

Resolved Work Items

Type

ID

Title

Status

Assigned To

Task

1

Setup: Set Permissions

Closed

jefflu

Task

2

Setup: Migration of Source Code

Closed

jefflu

Items

Name

Change

Folder

WindowsApplication52

add

$/jefflu507211250

WindowsApplication52.sln

add

$/jefflu507211250/WindowsApplication52

WindowsApplication52.vssscc

add

$/jefflu507211250/WindowsApplication52

WindowsApplication52

add

$/jefflu507211250/WindowsApplication52

Form1.cs

add

$/jefflu507211250/WindowsApplication52/WindowsApplication52

Form1.Designer.cs

add

$/jefflu507211250/WindowsApplication52/WindowsApplication52

Program.cs

add

$/jefflu507211250/WindowsApplication52/WindowsApplication52

Properties

add

$/jefflu507211250/WindowsApplication52/WindowsApplication52

AssemblyInfo.cs

add

$/jefflu507211250/WindowsApplication52/WindowsApplication52/Properties

Resources.Designer.cs

add

$/jefflu507211250/WindowsApplication52/WindowsApplication52/Properties

Resources.resx

add

$/jefflu507211250/WindowsApplication52/WindowsApplication52/Properties

Settings.Designer.cs

add

$/jefflu507211250/WindowsApplication52/WindowsApplication52/Properties

Settings.settings

add

$/jefflu507211250/WindowsApplication52/WindowsApplication52/Properties

WindowsApplication52.csproj.vspscc

add

$/jefflu507211250/WindowsApplication52/WindowsApplication52

WindowsApplication52.csproj

add

$/jefflu507211250/WindowsApplication52/WindowsApplication52

Notes:
- All dates and times are shown in Eastern Daylight Time (GMT -04:00:00).
Provided by Microsoft Visual Studio® 2005 Team System

Installation

The RSS feed generator is a .ASPX file so all you need to do is copy the file under the Version Control subdirectory and then subscribe to the feed. The following example assumes that Team Foundation is using port 8080 (default). 'SCC' is the name of the Version Control web application (you can view the web site layout using inetmgr).

To install and subscribe to the feedFor example,

   copy CheckinRssFeed.aspx %ProgramFiles%\Microsoft Visual Studio 2005 Enterprise Server\HATIISDIR

Using your RSS reader, subscribe to https://machine:8080/SCC/CheckinRssFeed.aspx