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

In my last post, I started describing an RSS feed generator for Team Foundation Source Control. Note that this is an experimental endeavor and not supported in any way by Microsoft as it is not part of the Team Foundation product.

I described, in brief, the features that it supports and touched on security. I won't repeat that information here.

Feed Contents

The RSS feed provides information about recent checkins -- there is one RSS item for each checkin that has occurred. Each item contains the following

  • The date, time, and number of changes in the checkin.
  • Who performed the checkin
  • A link to a changeset webview.

The contents of the item include meta information about the checkin but not the checkin details (note the security information in my last post) and a link to the changeset webview. I'll talk about what those are in a minute.

By default, i.e., if a file path is not supplied, information about all checkins is returned. When a file path is part of the Url, i.e.,g url?filename=filepath, information about only the filepath is returned. If it refers to a directory, information about checkins at or below the directory is returned; otherwise, information about checkins for that file only are returned.

Changeset Webview

Webviews are a core Team Foundation feature that provide web-based access to Team Foundation artifacts. Each Team Foundation component has a set of artifacts. E.g., Workitem Tracking has an artifact for a work item (no surprise) and Source Control has artifacts for changesets and files.

The changeset webview shows the changeset, e.g., who created the changeset, when it was created, what changes are included, etc. In Beta2, the changeset webview appearance is crude but contains all of the information from a changeset. We've polished the appearance and included extra information in the bits after Beta2.

RSS Feed Generator

The RSS feed provides information about checkins; for each checkin, a changeset webview link is provided. I've mentioned what a changeset webview contains so its now time to discuss the RSS feed. Once installed, you can subscribe to the RSS feed by specifying the .aspx page that generates the feed, e.g.,

https://server:port /applicationName / application/CheckinRssFeed.aspx

The RSS feed generator uses the following .NET and Team Foundation assemblies:

  • System (System, System.Web, System.XML namespaces)
  • Microsoft.VisualStudio.Hatteras.Bis
  • Microsoft.VisualStudio.Hatteras.Util
  • Microsoft.VisualStudio.Hatteras.Server

Keep in mind that assembly names and namespaces will be changing for RTM. For Beta2, project names (e.g., Hatteras, Currituck) and temporary names (Bis) are still used. Assembly names, namespaces, classes, methods and other places where internal project names are in use will be different.

In my next post, I'll start posting snippets of the feed.

In the meantime, let me know if there are specific things you'd like to see.