Thank you for attending part 2 of our Managing Projects using Microsoft Visual Studio Scrum 1.0 webcast today. Here are some links and resources that I promised. Presentation Bookmarks Demo Files Be sure to check back in a few days for the LiveMeeting recording. We’ll post it on our blog.
UPDATE: The LiveMeeting recording has been posted on Channel 9. Thank you for attending the webcast today. Here are some links and resources that I promised. Presentation Bookmarks Installation Learning Team Foundation Server Be sure to check back in a few days for the LiveMeeting recording. We’ll post it on our blog.
Accentient is pleased to announce that we are officially a friend of the Urban Turtle. Accentient is both an Urban Turtle “Select Partner”, which is a highly recognized and trusted organization that can provide you with various services to make you successful with Scrum TFS and Urban Turtle as well as a Professional Scrum Developer (PSD) Select Partner who has demonstrated unique value in delivering the PSD course. Urban Turtle is an intuitive Scrum tool for TFS built to simplify your software development cycles. It was built by experienced Scrum coaches and practitioners, Urban Turtle helps you deliver kick-ass software sustainably, every iteration. 
Check them out!
Yesterday at the VSLive! keynote, Microsoft announced that Lab Management will be generally available at the end of August. Also, it will not be sold as a separate product, but instead will be available to Visual Studio 2010 Ultimate with MSDN and Visual Studio Test Professional with MSDN subscribers. 
This announcement further proves that Microsoft remains committed to enabling developers of all skill levels and organizational sizes to easily build business applications that target the desktop, cloud and Web. Lab Management provides an integrated platform for managing your virtual testing environments, which drives greater efficiencies and cost savings by automating workflow, utilizing Hyper-V and System Center Virtual Machine Manager (SCVMM). It is essentially a “private cloud” solution that enables teams to quickly provision virtual environments. These environments enable organizations to easily develop and test against a predictable base state, lowering the risk associated with software development due to unpredictable build processes and test environments. Download the trial software or a VHD Test Drive today.
There are two really powerful ways to harvest the output from the build in to Wix. Heat extensions that are native with the Wix Install or John Robbins Paraffin. The advantage with using Heat is that with some clients there is a lot of controls with utilising software from the interweb, and Heat is available from the same location as Wix. The Wix installation is available from here, remember that you will need v3.5 to use with Visual Studio 2010. (Yes it is still listed as Beta, however it works very well!) Once you have installed Wix and and the project aggregator, the steps to use Heat to harvest the project output are as follows: | Step | Description | -
| Create new Wix Project in the solution that you need to build | -
| Add the references to the projects that you want packaged | -
| Create a new wxs file called “<myPackage>.wxs” | -
| Right Click on yourWix Project and select “Unload Project” | -
| IN VS2008, at the prompt, click on continue 
| -
| Right click on your Wix project and select “Edit yourWixProject.wixproj” | -
| Ensure that all your project references are included in the project xml | -
| Scroll to the end of the file | -
| Add the following snippet <!-- Add the Heat--> <ItemGroup> <HeatProject Include="@(ProjectReference->'%(FullPath)')"> <ProjectOutputGroups>Binaries;Symbols;Documents;Satellites;Content</ProjectOutputGroups> </HeatProject> </ItemGroup> | -
| Save your project | -
| Right click on your project in solution explorer and select “Reload Project” | -
| If you still have the project open in the editor, you will be prompted to close it. Click yes and continue | -
| At this point, your wix project is now heat enabled, but not wired up | -
| Edit the “<myPackage>.wxs” file | -
| In the Fragment add a reference for each binaries directory that you want included <DirectoryRef Id="AppRootDir"> <Directory Id="ComponentDir" ComponentGuidGenerationSeed="Insert New GUID Here"> <Directory Id='MyReferencedProject.Binaries' /> </Directory> </DirectoryRef> | -
| In the Fragment add a reference for each Symbols directory that you want included <DirectoryRef Id="AppSymbolDir”> <Directory Id="ComponentDir" ComponentGuidGenerationSeed="Insert New GUID Here"> <Directory Id='MyReferencedProject.Symbols' /> </Directory> </DirectoryRef> | -
| For the other Project Outputs (Documents;Satellites;Content), the principal is the same, the DirectoryRef is the “appRootDir” | -
| For each item that is to be included in the package, a component Group and Component Group Ref needs to be added at the bottom of the file <ComponentGroup Id="Project"> <ComponentGroupRef Id='MyReferencedProject.Binaries' /> <ComponentGroupRef Id='MyReferencedProject.Symbols' /> </ComponentGroup> | -
| Run the full solution build, and an MSI should appear | -
| Use Insted or Orca to check that the correct components are included in the MSI | So the project.wxs looks like <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Product Id="*" Name="SetupDemo" Language="1033" Version="1.0.0.0" Manufacturer="SetupDemo" UpgradeCode="78282ed7-9280-497b-affa-da3fce3f4f47"> <Package InstallerVersion="200" Compressed="yes" Id ="*" /> <Media Id="1" Cabinet="Demo1.cab" EmbedCab="yes" /> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder"> <Directory Id="INSTALLLOCATION" Name="SetupDemo"> <Directory Id="AppRootDir" Name="Demo"/> <Directory Id="AppSymbolDir" Name="Demo" /> </Directory> </Directory> </Directory> <Feature Id="ProductFeature" Title="SetupDemo" Level="1"> <ComponentGroupRef Id="Project" /> <!-- Note: The following ComponentGroupRef is required to pull in generated authoring from project references. --> <ComponentGroupRef Id="Product.Generated" /> </Feature> </Product> </Wix> And the associated (Demo.wxs) looks like <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Fragment> <DirectoryRef Id="AppRootDir"> <Directory Id="ComponentDir" ComponentGuidGenerationSeed="DBA8384E-CE1B-41af-B573-4203FB8A6A3B"> <Directory Id="Demo.Binaries" /> </Directory> </DirectoryRef> <DirectoryRef Id="AppSymbolDir"> <Directory Id="SymbolsDir" ComponentGuidGenerationSeed="35A3DCB8-4F85-4e3f-AC83-C51B78C04B94"> <Directory Id="Demo.Symbols" /> </Directory> </DirectoryRef> <ComponentGroup Id="Project"> <ComponentGroupRef Id="Demo.Binaries"/> <ComponentGroupRef Id="Demo.Symbols"/> </ComponentGroup> </Fragment> </Wix>
I just noticed this new article online at MSDN. Phil Hodgson provides guidance for potential process-authors who wish to customize process templates used to create team project portals on SharePoint.
Thank you to everyone who attended my talks at DevConnections in Las Vegas this week. I enjoyed meeting you and showing you the new capabilities in Visual Studio 2010. | VVS01 - Agile Database Techniques Using Visual Studio 2010 | Slides | Demos | | VVS05 - Implementing Scrum Using Team Foundation Server 2010 | Slides | Demos | | VVS10 - Team Foundation Server 2010 - Migrate or Integrate? | Slides | Demos |

There are many reasons and times that you will want to manually process the TFS 2010 Data Warehouse and Analysis Services databases. The primary reason is that you are impatient and want to see your reports and metrics right away. An example of this is right after you create a new team project, you may see one or more Reporting Services errors on the project portal (see below). These will go away after a period of time (which can be specified) but if you want to clean them up immediately (because you have OCD or something) then you can follow the steps in this post. Notice the message says “The Team System cube either does not exist or has not been processed.” This is your cue to (a) wait for the cube to process itself, or (b) force a process by following these steps: - Open the WarehouseControlWebService on the TFS Application Tier by navigating to (for example) http://localhost:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx
- Click the ProcessWarehouse method.
- Leave the collectionName and jobName parameters empty and click Invoke.
- A new browser window will open showing XML with “true” as the value. You can close this window.
- Return to the main WarehouseControlWebService page. You can simple click the back button.
- Click the GetProcessingStatus method.
- A new browser window will open showing XML. Keep refreshing this window until the tag at the top of the file shows “Idle” (see item in green below) and then you can close this window.
- Return to the main WarehouseControlWebService page.
- Click the ProcessAnalysisDatabase method.
- Specify Full as the processingType parameter and click Invoke.
- A new browser window will open showing XML with “true” as the value. You can close this window.
- Return to the main WarehouseControlWebService page.
- Click the GetProcessingStatus method.
- Specify TEAM FOUNDATION as the serviceHostName parameter and click Invoke.
- A new browser window will open showing XML. Keep refreshing this window until the Full Analysis Database Sync job shows a JobProcessingStatus of “Idle” (see item in green below) and then you can close this window.
That should do it. If you run into any errors, look for details in a ResultMessage tag on the status page. If you return to the newly created team project portal, those error messages have disappeared and been replaced by dashboard reports showing no data – which is an improvement from an error message. 
I just found this article in Visual Studio magazine where they interviewed Brian Harry (Microsoft Technical Fellow and Product Unit Manager for Team Foundation Server). Brian talks about testing, data and team-based development, and the Teamprise acquisition in Visual Studio 2010. 
With the release of 2010 on 12 April, MSDN Premium subscriptions are moved to higher level products. This is all outlined in the VS2010 Roadmap, and the details of what is involved in each subscription is outlined in the MSDN Subscriptions Matrix. So if you have VSTS Development Edition, you are upgraded to VS2010 Ultimate. This was going to expire on 21 March, however is now aligned with the VS2010 launch date, so is open until 12 April. This promotional offer is a great way to step up the version of VS that you are using, at a considerable cost saving.
I was reading through the new Visual Studio 2010 Licensing White Paper released a couple of weeks ago. It contains a good explanation and examples of multiplexing scenarios. These sounded very familiar, as some of our clients have implemented these in the past. Just to clarify, these scenarios do not reduce the number of TFS CALs that are required, as some people think. End users or devices that accesses TFS in any way, other than the New Work Items (WIWA) exception, are required to have the appropriate licenses, regardless of whether they are using a direct or indirect connection. What is Multiplexing? Multiplexing is hardware and software that reduce the number of users or devices that directly access Team Foundation Server. This is also sometimes referred to as pooling. Example 1 An organization implements an intranet Web site that connects to TFS in a way that enables users to add work items, resolve bugs, or trigger builds through the Web site. Even though only one device (the Web server) is directly connecting to TFS, each person who uses the Web site to access TFS for purposes other than creating new work items must have a CAL or be covered under an External Connector License. (A Device CAL may not be used for the Web server because the Device CAL only supports one user logged-into the specified device at any given time.) A CAL is not required for accessing a second Web site that runs on the same physical Web server but does not access Team Foundation Server. Example 2 Multiple people simultaneously remote into a server running Terminal Services (or Citrix) to access a development environment. Even though those multiple users are “sharing” one device, each user must have a CAL or be covered under an External Connector License. (A Device CAL may not be used because the Device CAL only supports one user logged-into the specified device at any given time.)
This came up today during a presentation I was giving. I didn’t realize you couldn’t do this from the new Branches in 2010. I did some research and wanted to share my findings. In TFS 2010 (RC), if you right-click on a regular folder, such as my Code folder: … your branching options are (Changeset, Date, Label, Latest Version, and Workspace Version): But, if you convert that folder to the new Branch type in 2010: … your branching options are reduced to just (Changeset, Date, and Latest Version): The good news is that you can still use the TF.exe command-line utility to Branch by Label. I hope Microsoft will address this by RTM (or shortly thereafter), because this begs the question: why convert to branches in the first place? Sure, if you don’t convert to a branch, you’ll be losing a layer of meta-data (owner, description, security permissions, etc.) and semantics, not to mention the slick visualization capabilities (View Branch Hierarchy and Track Changeset), but I’m not sure it outweighs the pain of having to go to the command line to Branch by Label (should that be your thing).
Until the regular SDK documentation on MSDN is updated for Team Foundation Server 2010, you can find information at its official home on Code Gallery. You will find the samples for the Team Foundation Server SDK (samples are no longer included with the Visual Studio SDK), deep dive documentation, and links to shared source projects and other resources. This page is maintained by the TFS product team at Microsoft.
Don’t trust the install guide that you find inside your Beta 2 download media. It’s an older version that was from last month. Instead, download the latest, beta 2 guide (TFSInstall-beta2-9192009.chm) here.
When setting up new virtual machines for Team Foundation Server 2010, I find myself having to manually create the four amigos: TFSSERVICE, TFSREPORTS, TFSBUILD, and WSSSERVICE (per the installation guide). Needless to say, this gets quite old, so I set out to automate this process. First, I checked out Grant Holliday’s post from 2007 on Hands Free TFS Installation. I was only interested in the part where he creates the accounts and sets the permissions. His approach uses a (.bat) batch file, so he’s limited to using “NET USER” commands such as “net user TFSSERVICE * /DOMAIN /ADD /EXPIRES:NEVER”. I wanted to specify account description and have more control, so I decided to integrate his ideas with mine into a (.vbs) VBScript file. I also added code to create groups, such as the TFS Administrators group, which I always suggest having. 1. Download my script It’s at the bottom of this post. 2. Obtain Microsoft’s ntrights.exe utility It’s part of the free download of the Windows Server 2003 Resource Kit Tools. Download the tools and then install. Since you only need the ntrights.exe tool, it seems silly to install everything else, especially when I try to keep my VMs as small as possible. I used a snapshot VM so I could revert back, then installed the tools, copied out the one file, and reverted. If you trust me, then you can just download the ntrights.zip at the bottom (just don’t tell Microsoft). 3. Customize the script You may want to change the computer name, password, and account names. These are easy search/replace operations. 4. Keep the files together I opted to put the tfsaccounts.vbs and ntrights.exe in the root of C:\Program Files for simplicity and to not clutter up my C:\ root folder. Attachments: tfsaccounts.zip, ntrights.zip
|
Copyright © 2010 Richard Hundhausen. All rights reserved.
DasBlog 'Portal' theme by Johnny Hughes.
Pick a theme:
|
|