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 http://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 http://machine:8080/SCC/CheckinRssFeed.aspx