February 2012 - Posts

A bit of an edge case – Using Git-TFS to get the best (or worst?) of both worlds
Wed, Feb 29 2012 15:24

Background

Whilst at the Microsoft MVP summit there are a number of MVP2MVP sessions, these are similar to DDD style sessions with MVPs presenting as opposed to Microsoft staff. One I found really interesting was one by Richard Banks based on his post on using GIT with TFS. Now this was a usage of source control tools I had not considered, a mixture of Git and TFS (or could be Git to SVN, similar tools are available)

Why do you want this usage? Especially with local workspaces coming in TFS11?

The simple answer is it allows a developer to have the advantage of Git’s multiple local versions of a given file, that they can branch, merge and rollback to as required. All prior to pushing all the changes up to a central TFS server (as opposed to GitHub or a company central Git repository).

OK lets face it this is an edge case, and it is not helped by the usage being command line driven, as opposed to be integrated with the IDE (real developers don’t use a UI or mouse, so that is OK – right?). So to try to make life a it easier I would suggest also installing Posh Git.

Setup

So what is required to get this running, if you like me a fairly new to Git there are a couple of gotcha’s. Here is the process I followed

I used Chocolaty (think Nuget for applications) to install tfsgit, this handles the dependency for the Git client

cinst tfsgit

Next I install poshgit

cinst poshgit

It is essential that you edit your Windows PATH environment variable to point to both the Git and the TFSGit folders as this is how Git picks up the extra Tfs commands, it should be something similar too this

PATH= $PATH;C:\Program Files (x86)\Git\cmd;C:\tools\gittfs

Finally for poshgit  you need runs its install script (in a PowerShell windows with elevated privileges), so it can report the number of file changes in the command prompt (note the prompt only changes when you are in a Git folder)

c:\tools\postgit\..some version\install.ps1

So hopefully this will get you going, so you can try this interesting edge case.

For more general chat on Git and distributed source control try this recent Herding Code podcast

by But it works on my PC!
Filed under: ,
Installing the TEE11 Beta as an upgrade to the plug-in in Eclipse
Wed, Feb 29 2012 13:26

The big news today is is that Microsoft released the VS11 Beta, part of which is Team Explorer Everywhere (TEE). (Oh they also release something called Windows 8 too – whatever that is)

Whilst upgrading my TEE instance in Eclipse (Indigo) I hit the same gotcha as I had when I originally installed TEE. On Windows, if UAC is enabled you have to run Eclipse as administrator to do the plug-in else you get the error message.

image

As soon as you start Eclipse as administrator the upgrade works perfectly, you can then restart Eclipse as normal and all is OK

(Not) Using a Huawei E585 MIFI in the USA
Sun, Feb 26 2012 18:46

I have an unlocked Hauwei E585 MIFI that I use around europe, avoiding roaming charges for my UK mobile contract. I buy a local pay as you go SIM for the appropriate country and off I go.

I thought I would try the same here in the USA, where I am for the MVP Summit. I bought a T-Mobile data SIM, but it did not work so well.

Basically the issue is one of aerials it seems. The E585 does not have the aerials it needs to connect for data in the USA, best it can do is a 2G connection, and even this seems to have issues, as mentioned in this post, that you need a phone SIM and not a data SIM. The bottom line seems to be the E585 is 2100MHz/900MHz UMTS only, AT&T are 850Mhz UMTS, T-Mobile will work on EDGE (2G) only. Verizon is CDMA. So it just just not going to work.

So next we tried it in other devices

  • In a LG E900 Windows Phone 7 it worked fine as a MIFI, but again only 2G/Edge so a bit sloooow, OK for email, but that was all.
  • Next it was a Samsung Windows 8 table form the Build conference, this was better, seemed to be 3G speeds (the icons did not mention the network type), but could not share its network connection

So the top tip? I think I need a US Mifi

TFS 11 and VS 11 Announcements
Thu, Feb 23 2012 13:54

Microsoft have made a few announcements today

On Brian Harry’s Blog

  • In the TFS 11 range there will be a new download of TFS, called Team Foundation Server Express, that includes core developer features:
    • Source Code Control
    • Work Item Tracking
    • Build Automation
    • Agile Taskboard
    • and is free for 5 users (you buy CALs to add more)
  • Visual Studio Express will support TFS

On Jason Zander’s Blog

  • A sneak peak of details of the upcoming  VS11 and TFS 11 beta

For more details read the full posts I have linked to, and look out for the beta that will out on the 29th

by But it works on my PC!
Filed under:
Free webinar on Typemock Isolator V7
Mon, Feb 20 2012 7:54

Next Wednesday (the 22nd of February) Typemock are running a free webinar ‘Isolator V7 Preview: A New Perspective on Unit Testing’.

It will be showcasing

  • Immediate feedback of newly introduced bugs with a new autorunner.
  • Pinpoint identification of the bug's location with the failed-test analyzer.
  • Visual coverage of which part of your code is covered
  • Powerful mocking, guaranteeing that you can write tests for any code, whether new code or legacy code
  • Industry integration with major development tools

All attendees get a free beta license for the new V7 product.

Follow up to the North East Imagine Cup event
Sun, Feb 19 2012 5:15

Steve did a nice post on the fun we had at the event for Universities and Colleges in the North East of England to help them to develop their ideas for their Imagine Cup entries.

I won’t bother to just repeat what he wrote, other than it was very nice to see students so engaged with our industry. I hope some of the attendees will be able to make it to other community events.

I mentioned a good number of books to various people that provide background on best practice. You can find links to all I mentioned, and a good few more, on the reading list section of this blog

You don’t need to keep that old TFS server to support older versions of Visual Studio
Thu, Feb 16 2012 11:57

I have recently spoken to a number of people who were under the impression that older versions of Visual Studio could not connect to TFS2010. This is not the case. So for example you do not need to keep a TFS2005 running for your VS2005 clients.

Why you might ask does this question even come up? VS2010 can build any .NET 2.0 –> 4.0 project so why not upgrade all your projects to VS2010? The answer is that products such as Biztalk and SQL Business Intelligence use older versions of the Visual Studio Shell e.g. so for SQL 2008 BI you are using in effect VS/Team Explorer 2008. Though it must be said this issue is getting better currently a BI developer still ends up having to use VS 2008 (until SSDT arrives with SQL 2012)

Also some companies may just have a policy to stay on a version of VS for their own reasons.

Either way this is not a barrier to using TFS 2010. The key to getting these older versions of Visual Studio to talk to TFS2010 is only a matter of applying the correct patch sets, so for

All the products can be installed side by side.

Another point to note is that if you are using any of the TFS 2010 PowerTools and want the same features in old versions of Team Explorer you must also install the 2005 and/or 2008 PowerTools versions. Even if the 2010 PowerTools are installed, they will not be found by the 2005 or 2008 clients. The most common time you see this issue is when using check in policies.

For those of you working with VS2003 or VB6 all is not lost, you too can use TFS 2010, you just need Team explorer 2010 installed and the MSSCCI  provider

Hope this post clears up a bit of confusion.

Thanks to everyone who came to my session at NEBytes last night
Thu, Feb 16 2012 4:57

Thanks to everyone who attended my session at NEBytes last night, sorry I had to rush away. As my session was demo based I don’t have much in the way of slides to upload, but if you want to find out more have a look at my guest blog post on the UK Visual Studio blog on ‘TFS for Everyone’.

Also keep an eye on the Black Marble site for upcoming free webinar sessions on the same subject

Speaking on the 15th Feb at the NE Bytes user group on “TFS for Everyone”
Wed, Feb 8 2012 4:23

I will be speaking at the NE Bytes user group next Wednesday (the 15th of Feb) on ‘TFS for Everyone’.

This a session based on the guest blog post on the UK Visual Studio blog  I did on how TFS is not just for .NET developers. It can be used from a whole range of development platforms and operating systems. I will be including demos using Eclipse and Ubuntu.

Hope to see you there.

Webinar on migration from VSS to TFS
Tue, Feb 7 2012 14:14

I will be giving a free webinar presentation on the morning of Monday  the 20th February on ‘Why migrate from Visual SourceSafe to Visual Studio Team Foundation Server’.

To register  for this event please check out the Black Marble site

More Community TFS Build Extension Documentation
Mon, Feb 6 2012 14:49

Just published documentation of the VB6 activity on the Community TFS Build extensions site

by But it works on my PC!
Filed under: ,
Filtering in MDX Calculated Members
Sat, Feb 4 2012 4:28

BI development is not something I do that often, but from time to time you need to develop a custom report in TFS. I recently had to battle a MDX problem that someone who does more BI development I am sure why have had no issue with; but as with most of these blog posts (or my long term memory as I think of it) I thought it worth a post in case it helps anyone else

What I was trying to do was produce a table, as shown below, that would allow me to report for a project on the total estimated time in the requirements work items (an estimate made in the requirements planning phase of the project), the total original estimate in the tasks work items (the estimate made by the developers during iteration planning) and compare both with the actual completed time from the task work items.

Project Estimated Effort (from Requirements) Estimated Effort (from Task) Actual Effort (from Tasks)
Proj A 10 11 12
Proj B 15 14 21
Proj C 23 20 24
Proj D 9 10 10

 

The problem is that in the TFS warehouse both the requirement and task work item estimate in stored in the

[Measures].[Microsoft_VSTS_Scheduling_OriginalEstimate]

measure. In the MDX query I needed to add a pair of calculated measures that would filter for the two work item type.

This is where I stumbled, should I use IIF() or FILTER(). So I tried both. However, working in Report Builder 3 neither seemed to work. I seemed to end up with either an empty column or not filtering at all and showing the sum of all the work items estimates irrespective of the filter.

The first tip is stop work in Report Builder, this is great for making the report look good, but not the best for resolving MDX issues. Use the query tool within SQL Management Studio. As soon as I did this I saw some of my efforts were returning #Err. This explained my empty columns, Report Builder seemed to just swallow the #Err and give me an empty column.

A a bit more digging I found the form that did what I needed, and ended up with the following form for the MDX in the calculated measures

MEMBER [Measures].[EstimatedWorkForTasks] AS '([Measures].[Microsoft_VSTS_Scheduling_OriginalEstimate], [Work Item].[System_WorkItemType].[Task])'

By editing the MDX in SQL Management Studio it was fair quicker to develop and debug

image

Once I was happy with the MDX, I could cut and pasted it back into Report Builder and fix the layout of the report. And all without using either IIF() or FILTER().

My guest post on Microsoft Visual Studio UK Team Blog published
Thu, Feb 2 2012 16:48

A guest post I wrote on TFS for the non-.NET developer has just been published on the Microsoft Visual Studio UK Team Blog. Why not pop over and have a look.

Update released to fix issue for TFS 2010 with SQL Enterprise Page Compression
Thu, Feb 2 2012 3:51

Brian Harry has just posted on his blog about a bug in SQL page compression (found in SQL Enterprise) that can cause problems with TFS 2010 or TFS1(preview), previous version of TFS did not support page compression.

So if you are using TFS and SQL Enterprise have a read and make sure the correct updates are in place.

by But it works on my PC!
Filed under: ,