But it works on my PC!

The random thoughts of Richard Fennell on technology and software development

PDC Keynote Day 1 thoughts

So the PDC2009 day 1 keynote is over and what was the story? Well it is more of a vision thing, but then again this is a PDC not a TechEd so what do you expect. For me the two major themes were

  • Dallas – a centralised data service that allows unified access to both public and private via subscriptions. Thus allowing core data being used for any purpose the user requires within the EULA of the data in question. It will be interesting what will be published in this manner, is there a market for a centralised data clearing house? only time will tell.
  • AppFabric – Basically taking the operating model for the Azure services and allow a company to have a similar model in their own IT system. Thus allowing code to be written that can work on the corporate system or Azure cloud without alteration. This I see as being big.,

So what was not mentioned, well it was mobile. The only comment was a ‘come to Mix in the spring for stuff about the next mobile offering. Whatever is shown there is going to have to very good to address the momentum of the iPhone. I think a good bet is that leveraging the Azure fabric might be important for the mobile offering

November Agile Yorkshire Meeting

Time for the usual reminder for the next Agile Yorkshire meeting. This month it is by Mark Stringer on ‘Techniques for dealing with difficult conversations & negotiations in software development’. Usual time, usual place, usual free beer.

….and just a heads up for the December meeting, as this is at a different venue, Old Broadcasting House (http://www.ntileeds.co.uk/old-broadcasting-house/), it is going to be by David Joyce of the BBC on ‘Kanban for Software Engineering’

Notes on TFS2010 Beta1 to Beta 2 Upgrade

I have recently upgraded my dual tier TFS 2010 Beta1 instance to Beta2. This is not an officially supported migration but it is certainly possible. The basic process of the update is straight forward:

  • Remove Beta1 from the AT
  • Install Beta2
  • Run the configuration wizard in upgrade mode (this took a few hours for DB upgrades)

Once this was complete I had what I thought was a working Beta2 server (I saw no errors), but there were problems.

Firstly for some reason the upgrade had lost the binding of port 8443 on the TFS web site (we use this to talk to the TFS server over Internet using SSL). This was fixed by rebinding the port and certificate in IIS manager. Now I could access the version control and work items both inside and outside our firewall.

The more major problem was when I tried to load the SharePoint sites associated with the Team Projects. I always got the error

Parser Error Message: Could not load type 'Microsoft.TeamFoundation.SharePoint.Dashboards.ApplicationMasterModule' from assembly 'Microsoft.TeamFoundation.SharePoint.Dashboards, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. (C:\inetpub\wwwroot\wss\VirtualDirectories\80\web.config line 94)

I had to comment out this HTTP MODULE at line 94 in the web.config. The reason for this error was that this module was a Beta1 assembly and not present at all in the Beta2 release. This edit meant I could now load the SharePoint sites for the TFS collections e.g. http://tfs2010/sites/DefaultCollection but when I tried to open a project site e.g. http://tfs2010/sites/DefaultCollection/Project1 I still got an error. The basic problem was that the SharePoint templates (created from TFS Process Template) were of the old Beta 1 type, which pointed to all the wrong reports and work item types.

Grant Holiday has written a great post on what needs to be done to start to address this problem. Following his process to change the template I got rid of the main of the error (due to wrong master page), but not all the problems. The page loaded but many of the webparts failed to render. As most of the errors were now related to reports before this could fix SharePoint I had to fix the reporting services.

The reports did not work as the TFS Warehouse schema is different between Beta1 and Beta2. I got the new Beta2 reports out the the zip file C:\Program Files\Microsoft Team Foundation Server 2010\Tools\Deploy\ProcessTemplateManagerFiles\MsfAgile\Template.zip. I then replaced the existing reporting on the AT’s reporting services instance for each team project. When doing this, watch out that some of the reports have changed their names, so it is best to deleted any old reports you are not replacing to avoid confusion. Also remember that you have to reconnect all the data sources in the report properties before they can be run.

Now the reports worked in Reporting Services (and Team Explorer) I could now return to the SharePoint site. The main problem was that I was getting TF262600 errors, stating that the SharePoint site was not linked to a TFS project. This was easily fixed, in Team Explorer right click on a Team Project and select the Portal Site menu option. You see the dialog

image

It looks and reports that it is correctly configured, but it is not. The answer is to uncheck the ‘Reports and dashboards refer to data for this team project’ press OK and then open the dialog again and recheck it. This re-establishes the link between the portal site TFS. If the site is now reloaded the webparts that show work items now work and the TF262600 errors at the top of the page have gone.

The final step is to fix the reports in the dashboards web pages. The problem here was purely the names of the reports were wrong. A simple edit of the report viewer webparts fixed this and all the dashboards worked.

So now the sever was working and clients could access all the sub parts of the TFS instance.

There remained a related job and that was to fix the builds box. Again I uninstalled Beta1 and reinstalled Beta2. When I ran the configuration tool it picked up the old configuration without a problem for the agent and controller. However, when I tried to queue a build it errored, Again the problem was the template had changed. For each project I replaced the XAML template file with the equivalent one from C:\Program Files\Microsoft Team Foundation Server 2010\Tools\Deploy\ProcessTemplateManagerFiles\MsfAgile\Template.zip\Build\Templates. I then had to edit each build to set the revised properties. I could then run a build. Again it did initially fail as TFS claimed there were workspace map conflicts. To get around this I just deleted all workspaces for the TFSbuild user and let them be recreated, and then all worked.

So now I had an error free Beta2 system, there was a good deal of manual work to do to sort out SharePoint, but it is all fairly easy once you work though it step by step.

Next I need to look at our main TFS 2008 instance