The Engine Room
The engine room is a place for people to contribute ideas on the development of Sharepoint, Visual Studio and information technology.

Even more cool new features in VSTS2010

On top of what I've mentioned here and here, there are even more cool features on VSTS2010:

  • Rich text editor when editing work items
  • Test case runner which allows a tester to pull the test case from TFS, follow the steps and flag them as pass/fail. But even better, this is all being recorded as video, so when the bug is sent back to the developer, he can replay the exact steps to reproduce it.
  • Creating bugs will also log the exact system information of the machine the tester was running on
  • TFS will even log a call stack to allow developers to analyze and reproduce the bug
  • Test Impact View: once you do a code change, it will identify which unit tests
  • Gated check-ins: no changes are committed into the repository until the change is verified. TFS will queue a build in the build server, will get latest version and it will verify that it is valid before commiting the change.
  • UML: VS can now generation sequence for the application's methods, to help analyze the impact of a change

If you haven't upgraded from TFS 2005 to 2008 yet, I'd recommend you do it now. The transition to 2010 will be much easier from 2008 according to the guys in the VSTS team. Also keep in mind that VSTS2010 will only support SQL 2008.

A couple of cool new VSTS2010 features

Besides the integration of a Silverlight designer into the IDE, there were a couple of announcements that sneaked into the Keynote. First support for configuration files for multiple environments (dev, stage, uat, production). Second, Visual Studio's UI will be rebuilt using WPF. Scott Guthrie demoed a custom WPF extension for VS2010, that not only rendered the comments from methods in a very user friendly way, but also added extra functionality to retrieve WorkItem information from TFS.

Silverlight toolkit

On day 2 of PDC2008, the Silverlight toolkit was announced. This release features a series of controls that were only available on WPF and adds charting controls (both static and dynamic). These charts are part of Microsoft's open source program, so the source code will be shipped with the controls as well. Another announcement was the tighter integration between Silverlight and Visual Studio. VS2010 will ship with a fully integrated Silverlight designer and WYSIWYG editor.

Team Foundation Server 2010

I attended to the "Team Foundation Server 2010: Cool New Features" session on Day 1. Two of them really caught my attention:

  • Improvements on Builds: One of the "cool new features" is the new workflow based builds. It comes with a rich editor to customize all the actions of a build and, because it is built on top of WF, you can create your own activities.
  • Branching tools: branching, merging and tracking changes is one of the crucial tasks of the everyday developer life. With TFS 2010 you will be able to visualize changes and the mergers in branches. For example, if a change is lost after several merging several branches and you find out months after this happened, you can visualize in which branch this got lost and what merging order was followed.

Wellington Visual Studio Team System User Group (WVSTSUG)

Last month the first meeting of the WVSTSUG was held at Microsoft's office in Wellington. The session was hosted by Mark Carroll who talked about Team Foundation Server, VSTS and Project Management.
On next week's second session, Pablo Garcia will be presenting on TFS API's. Here's the blurb:
 
"Pablo Garcia is a senior developer and architect with Provoke solutions. He has considerable  experience with TFS and will share some of his knowledge of how you can access and update TFS through the various API’s and services available. This is a huge subject both in terms of interest and content so Pablo will restrict himself to key features and then show a proof of concept he did integrating Provoke’s internal time tracking tool with TFS. Key areas of functionality will include the ‘Event Subscription model’, getting work-items, creating work-items and more. If you either are or intend integrating a cost or tracking system with TFS (includes time sheet systems) this session by Pablo is a must."
 
If you are interested in the subject, I suggest you subscribe to the distribution list by emailing nzvstsug-at-microsoft.com with the word subscribe in the heading line.
 
I hope to see you next week around 5:30pm at Microsoft's offices.

Team Build and BVTs: The Gotchas

There are a couple of things that people forget or miss when setting up Team Build to run a series of Build Verification Tests.

·         Test tools need to be installed on the Build Server: Get you Visual Studio installation media. The only option that needs to be installed is “Team Developer and Tester tools”.

·         Once you have setup a series of tests and they are added to your “Test Manager”, you still need to create the BVTs in a new “Test List” or the build you configure won’t pick them up.

And just in case, you can run tests without an .vsmdi file. Check out this blog

TF30162: Task "SharePointPortal" from Group "Portal" failed

This is one of the things that has been keeping me awake at night. Out of the blue (and yes, I know there will be a reason, but right know... I’m still investigating) I lost the ability to create Team Projects. Not only it fails but it locks my account.

I know it is permissions related, I know it is WSS related but I don’t seem to find exactly where the root of the problem is. At the MSDN forums, I got the following response from:

A Team Foundation Server administrator must be a member of the following groups:

1)      Team Foundation Administrators.

2)      SharePoint Administration group in SharePoint Central Administration.

3)      SQL Server Reporting Services Content Manager

4)      SQL Server Reporting Services System Administrator.

I am a member of the Administrators group of the machine, so that shouldn’t be a problem.

1)      Checked.

2)      I made myself secondary owner of the site collection

3)      I made myself a content manager in SQL Reporting

4)      I made myself a Reporting Services Sys Admin.

And the result was: FAIL! I still have the same problem. Will keep posting until I figure out the issue.

Visual Studio Team Edition: Database Professionals - Review

A few Provokers and myself went along a while ago to a presentation on Visual Studio 2005 Team Edition for Database Professionals, given by Clive Trott to the Wellington SQL Server User Group.

Part of Microsoft’s latest offerings of Visual Studio 2005, Visual Studio 2005 Team Edition (VSTE) comes in different flavours –Architect, Software Developer, Tester and Database Professional.

If you want to know about VSTE: DB Pro and what it does etc, have a look at Trott’s presentation (see above) or the Microsoft product page here.

In a nutshell, VSTE: DB Pro will supposedly take us away from using SQL Server Management Studio for the standard development chores, letting us do all of our work in Visual Studio.

True, I loved the ‘proper’ version control finally available to a databases and the ‘Schema’ view you could use to view objects (as opposed to only the script view given in the Database Project available in VS2005).

However, I came away with two key disappointments about the product which means that my conversion from good ol’ SQL Server Management Studio to VSTE: DB Pro is rather unlikely.

The first was a lack of GUI interface for Schema objects.

In Management Studio you have the age old ability to view a GUI version of the table, its columns, the tick box if it’s null etc., right out of working with Microsoft Access. It was an easy way to add columns, set identities etc using an interface instead of remembering the SQL syntax.

Unfortunately, VSTE:DB Pro lets you view Schema objects alright – but only in it’s SQL format, so to edit a table you are back to editing a CREATE TABLE statement.

Now some might argue that editing and changing tables using scripts is the ‘true’ way of SQL development. But regardless of your opinions on that matter, it is inarguably less user-friendly. And I can’t help but feel that it’s just going to be a right pain to use in every day development.

The second, and more significant, is licensing.

As Trott mentioned in his presentation, in small-medium sized software development companies, there isn’t a distinct segregation of database development vs. software development. As a developer, we all do a bit of coding and a bit of SQL. There is no DBA, we all act as hybrids.

However, VSTE: Software Developer (my obvious requirement for those C# programming requirements) and VSTE: DB Pro (my other requirement for that SQL development under Source Control) are separate products, separate prices and sold separately. They’re about as separate as you can get.

So as a ‘hybrid’ developer, I would require license for both programs, or otherwise one person is put in charge of all the database development for a project in order to use one of a few VSTE: DB Pro licenses available.

Somehow I don’t think the former is financially realistic and the latter seems equally improbable in a smaller software house when you have fewer personnel.

The alternative is a wacky combination of developers using Management Studio for development and storing changes in VSTE: DB Pro when done for checking in. Which needless to say is just asking for trouble.

For the meantime, most of us developers will probably continue to use Management Studio, and still be without one of the key advantages that VSTE: DB Pro offers – decent source control.

VSTS Team Chat

Last July (yes, this post has been in my “TODO” list for a long time), the VSTS Product team held a couple of chat sessions with NZ friendly times. Here are some of the most interesting bits:

·         Project server integration is going to be part of Rosario, which is more than welcome considering the lengthy list of steps required to integrate it with TFS right now

·         I was a bit disappointed that improvements to Team Build in terms of GUI support. But is good to hear that Rosario and even TFS 2008 will have some new features

·         Brendon will be pleased to hear that TFS 2008 supports WSS 3.0. This was known but it is nice to get a confirmation from the guys in Redmond.

·         There were quite a lot of questions in relation to time-outs, working off-line, etc. In TFS 2008 now you can work offline, and the connectivity has been improved.

·         A new set of power tools will be released around the same time TFS 2008 becomes available.

Integrating VSTS with a real world application, Part IV

This is the easy party (after manipulating all those XML definitions, anything will be easy!). I used Howard van Rooijen's web services notifications templates as a base because, well, they just work :)
Once I had everything set up, and I had subcribed to the WorkItemChanged event, all I had to to is call my Time Tracking Application's web service to create the task under the module the user had selected in TFS.
In the "Notify" web method I used the following to create an instance of the WorkItemChanged event:
 
WorkItemChangedEvent workItemChangedEvent = this.CreateInstance<WorkItemChangedEvent>(eventXml);
 
"eventXml" is one of the parameters of the method and contains information about what event has been raised. Then I just used the properties of the workItemChangedEvent object to pass the information to my web service a create my task in my TRA application.
 Next >>