Improved Topic Versions Now In MSDN Library

Earlier this week we added a topic Version Selector to the default MSDN Library view.  You’ll see it right below the topic title:

Lightweight Version Selector

The MSDN Library often has several versions of the same topic.  The Version Selector lets you know exactly which version you’re reading and provides a drop-down list of other versions that are available.  This feature is especially helpful in the .NET Framework class reference:

Drop-down Example

How does the Version Selector work?

The Version Selector is a navigation aid and not a Library setting.  Let’s switch to the .NET Framework  2.0 version of the System.XML Namespace topic and see how it works.  There are three main things that happen:

Changing the Topic Version

First, the requested topic is displayed and the Version Selector is updated. 
Second, the Table of Contents is updated to reflect that we are in a different section of the library:

ToC Update

And, third, the URL is modified from:


The “(v=VS.80)” part of the URL is the way that the Library distinguishes between different versions of the same topic.  In this case, VS.80 is the Microsoft-internal documentation version that corresponds to .NET Framework Version 2.0.  If the version string is omitted, the Library displays the most recent version of the topic.   (On a separate note, you can also change the topic version by manually adding the version information to the URL and then refreshing the page.)

The Version Selector sends you to the proper section of the library and, as long as you navigate within topic links and the Table of Contents, it’s easy to stay within that version “slice.”  But topic version is not persistent in the way that, for example, your language/locale setting is.  If you perform a new Search or start a new Library session, you may end up in another area of the library.

Why didn’t you include the Version Selector in the initial release of the Lightweight Library view?

The key challenge we faced in delivering an improved Version Selector was ensuring that version information was complete, consistent and accurate across the entire library.  One good example of the problem appears in the .NET Framework class reference.  In older versions, Visual Studio was tightly coupled with the .NET Framework.  Notice how this relationship manifests in the System.XML Namespace topic when viewed in the Classic Library (which uses the legacy versioning mechanism):

Classic Version Selector

Now that Visual Studio and the .NET Framework have been decoupled, we really wanted to display distinct versioning information.  So we worked with teams across Microsoft over the last several months to enhance and clean up topic version information in the Library.  And we improved our ability to display targeted version information in the Lightweight Library view.  The result is the new and improved Version Selector.

This entry was posted in MSDN Library. Bookmark the permalink. Both comments and trackbacks are currently closed.