Skip to main content

VSTS 2010: Architecture Edition Presentation

Recently, I had the pleasure of co-presenting (probably generous...I more just rode shotgun :) on VSTS 2010: Architecture Edition with Randy Pagels, Developer Platform Technical Specialist with Microsoft. We spoke to an impressively-attended internal user group at Cincinnati Financial. Thank you Randy for the invitation to co-present and Cincinnati Financial for having us in.

To be honest, I'm not a big fan of the current 2008 Architecture Edition. Too rigid. Doesn't roll with the punches very well. It's more of a lay-down-the-law boundaries at the beginning of the project without the flexibility of absorbing feedback and instituting ongoing, evolutionary change.

The new version seems much more flexible and functional. It imposes a model / architecture but can be (and expects to be) adjusted easily over the life of the project. One can also institute a confirmation check of the code against the model during the automated build. It's less overbearing and more of a quality gate and feedback mechanism: "Uh, excuse me, you're directly accessing the data layer from the presentation layer...? Nope, sorry. You need to go through the interface / business layer to ensure...Thank you."

From the presentation, we fielded a lot of great questions. Here are the responses Randy and I compiled that we needed to take away. Thanks to Randy and the product group for their responses:

Q. Can we modify the TSWA project home page to include 2 WI query results: Individual, Team?
A. There’s not much you can do with TSWA 2008 but there’s a new feature in TSWA 2010 (which is now a part of TFS 2010) that might accommodate this request. In TSWA 2010, you will be able to customize the “Work Items Summary” section on the home page(talk about nice!) to select a stored query. Even though the Limitation here is that you can’t have more than one query showing, you can select a query that might have a filter that looks like “AssignedTo = @me OR AreaPath=Team”.

Q. Can a Coded UI test, test multiple browsers during a build? e.g. Mozilla, IE6, 7, 8
A. We support IE7 and IE8. The support for FireFox 3.0 will be at CTP level by RTM time. There are no plans for other browser support from product team at this point but there is extensibility support here for other 3rd parties/partners to add the support.

Q. Does code need to compile in order to produce the sequence diagram?
A. Generally speaking, the code must compile for sequence generation to work. Since we use the language services which use a sort of background / delay compile system – you will get a generated diagram for the parts of your code that does compile. For the parts that don’t compile, all bets are off since the language services do not guarantee behavior at that point.

Q. Can you update the underlying DGML XML and have that change reflect in all instances? Sort of a search/replace?
A. Not totally clear on this, but in general, if you update the raw XML behind a DGML graph, it will be immediately reflected in the graph.

Q. Is there any Visio import UML?
A. Yes, this will be provided as a PowerTool at RTM.

Q. Is there any XMI import UML?
A. Yes, same story as the Visio Import.

Q. Is there state management / authentication persistence support within SuperPreview?
A. Since this runs in an actual browser session and will run anything in the “OnLoad javascript” call so if there is anything going on in there it will execute and then take a snapshot of the page. An image is produced after you specify the URL – it is a snapshot. You have to change the URL to change the side by side layout. Unfortunately, there’s no way currently for SuperPreview to work with web pages that are behind a log-in (if I’m interpreting your question, correctly). The page must be publicly accessible. This is a pretty high priority item for the PG with the next version of SuperPreview.

Q. Does Test Essentials require agent/service/install onto QA boxes?
A. Yes, through small services called “Data Collectors”

Q. What's new in unit tests for VSTS 2010?
A. There are some minor enhancements, such as support for categories instead of test lists, performance improvements like using more than one core. Simplifying deployment that will result in improved performance as well. Unit Tests can now be extended with custom attributes (like privilege escalation attribute). The unit test type can be extended to provide custom coded tests (this is how coded UI is implemented)

Some good discussion: on Managed Extensibility Framework (MEF) at


Popular posts from this blog

Shrinking WSS (Sharepoint) SQL Server Log Files

Yesterday, while migrating a source repository from StarTeam to TFS, I received the following error:
"TF30042: The database is full. Contact your Team Foundation Server administrator."Excuse you? Sure enough, my 100+ GB drive was full on the server. But I'd only migrated around 1000 items. Surely SQL wasn't consuming 100MB per file.

Turns out (yes, there was a lot of crud on the drive but...) the majority of the space, almost 40GB was being consumed by the Windows Sharepoint Services WSS Content data and log SQL Server files. Huh? I still need to investigate and understand why this portal, which is 100% unused, grew so large. Regardless, here's what I did to resolve:

Since this is not yet a production database, I flipped the SQL recovery option from Full to Simple for WSS Content and several other databases. Detail here and here.
Executed the maintenance plan for all the databases to get backups and clear out some of these files. That didn't help much. The Auto_…

TFS Error | The type initializer for 'Microsoft.TeamFoundation.Build.Server.BuildInformationNodeBinder' threw an exception.

Posting this one for the search engines. If you ever receive the exception "The type initializer for 'Microsoft.TeamFoundation.Build.Server.BuildInformationNodeBinder' threw an exception.", more than likely, your drive space is at 0 on your TFS application tier box.

I encountered this at a client recently. The root cause was that IIS logs had filled up the OS drive (C:\). I switched IIS logging to the applications drive (D:\) which cleaned up the OS drive and resolved the issue.

Detailed message:

TF53010: The following error has occurred in a Team Foundation component or extension:

Date (UTC): 6/7/2011 4:18:53 PM


Application Domain: /LM/W3SVC/8080/ROOT/tfs-1-129519118182628600

Assembly: Microsoft.TeamFoundation.Framework.Server, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v2.0.50727

Service Host: 7ecfbd77-b386-4d75-b038-b05474782696 (DefaultCollection)

Process Details:

Process Name: w3wp

Process Id: 3676

Thread Id: 5752


Verified by Visa: Everything We Tell Folks to Avoid

Phishing is defined by F-Secure as: "Fraudulent e-mail or website claiming to be legitimate seeking indentifiable information. Phishing is an attempt to steal your personal data."When I recently attempted an online purchase from WalMart using my VISA card, being a security wanta-be, I immediately thought phishing when redirected to and saw this dialog:

Seriously, these folks have to be kidding. You're asking for my personal data during a transaction and claim that's its a service " no additional cost." Wow! Thanks...but absolutely not, you jokers. As a malicious thief, I can go a long way with this data.

This is exactly the type of experience which aids malfeasance and the folks trying to steal personal data / identities. How long have we been working to educate folks to avoid providing this type of data under these type of circumstances? Years. And we're just now starting to turn the corner.

VISA, get rid of this! When folks submi…