Recently in tfs Category

CodePlex People using CodePlex can download Visual Studio Team Explorer to access a CodePlex hosted TFS instance free of charge, but what if you want to be a project team member and access the code from Eclipse or a non-windows machine?

Well, I’m proud to say that we’ve continued the tradition and you can now use Team Explorer Everywhere with CodePlex.  Simply download the trial edition of Team Explorer Everywhere and then enter the license key given on the CodePlex wiki.  Note that if you already have a full license to Team Explorer Everywhere (either through retail, volume licensing or MSDN) then you can obviously use this to access CodePlex as well.

Just a quick tip.  When adding the connection, be sure to hop over to the Advanced tab to ensure that you do not have “tfs” in your path.  CodePlex has it’s TFS servers at the root of the server location (as required by older TFS clients and older versions of TFS) – but the Team Explorer Everywhere client will default to the TFS 2010 convention of looking at https://servername/tfs unless you tell it differently.  Also some of SSL certificates on some of the CodePlex servers are signed by a root certification authority that is not in the Java Certificate Store in all Java Runtime Environments running today.  If you run into this problem and you are having SSL issues then you can add the root CA to your Java certificate store.  An easier way is to un-check the “Accept only trusted SSL certificates” which will disable the root certification authority check for the SSL connection to the CodePlex server – but bear in mind that reduces the security of the communication between your machine and the CodePlex server.

 

Advanced settings for a codeplex connection

Let me know how you get on.  I’m excited to see who takes us up on this offer.  As an encouragement, I’ll send a free copy of my book to the first person who emails me a screenshot of them contributing to a project on CodePlex using Team Explorer Everywhere.

This morning I was creating a new build definition for the Beta branch of the initial Microsoft release of the Teamprise acquired bits.  Creating a new build definition in Visual Studio 2010 is remarkably easy, but we have a fairly complex workspace template.  Our files are stored in version control in a way optimised to make it easy to get the source and build/debug in locally in Eclipse rather than for the automated Ant based build.  Because we have a lot of plug-ins, Eclipse features etc that make up our build we actually have over 30 separate entries in the workspace section of the build definition.  Is looks something like the following:

The workspace mapping template for the main branch

When developers want to run a full Ant build locally (as opposed to doing a debug session in Eclipse), we have a script file that creates the workspace for them. We actually have two workspace creation scripts, one that is for Windows machines and another shell script that is for Mac/Linux etc.  Both are just wrappers around the Team Foundation Server command line (tf).

When I originally created the main branch build definition, I did this using the often overlooked “Copy Existing Workspace…” button at the bottom of the Workspace section of the build definition and pointed to the local workspace I was using to test the Ant build once we’d moved over to Microsoft.  This was great as it saved me entering all 30-odd working folder mappings again and it is very clever, calculating a common root folder to use as the $(SourceDir) folder.

However, this morning I wanted to create a new build definition from a branch that I’d created ($/TP/Releases/Dev10-beta).  I didn’t have a local mapping that was pointing to the release branch.  I could easily create one using our workspace creation script – however I wondered if there was an easier way.  And it turns out there is, good old copy/paste!

I simply clicked on a row in the workspace section, did Ctrl-A to select all then Ctrl-C to copy all the rows.  I then went into my favorite text editor (in my case Notepad2) and pasted the results.

Editing the source folder mappings in Notepad2

I then did a simple Find/Replace to convert all $/TP/main/ entries to my release branch $/TP/Releases/Dev10-beta.  Did a Ctrl-A to select all and then a Ctrl-V to paste them back into my build definition for the release branch.

The release build definition

A nice simple way of bulk editing a complex working folder mapping template that Just Worked(tm).  Note that the copy/paste trick also works in Visual Studio 2008 as well as the Teamprise 3.3 release (and of course the beta release that I was setting up the new build definition for).

We are Hiring!

Since joining Microsoft it has been fantastic to see how committed everyone is to the technology that was acquired from Teamprise.  When Microsoft purchased the Teamprise technology, they also hired all the developers (including me) and are investing heavily not just in the 2010 release but more importantly the long-term future of heterogeneous development using Team Foundation Server.  Since joining Microsoft we’ve grown the team with some fantastic developers (both Software Development Engineers and Software Development Engineers in Test) who we poached from others parts of the company.

We are now after one more person to join our little family. We need someone to help us with our User Education work.  If you know of a technical writer that might be interested in working with us then please send them over to this job posting at Microsoft Careers (https://careers.microsoft.com/JobDetails.aspx?ss=&pg=0&so=&rw=2&jid=10007&jlang=EN). This role is based in Raleigh, North Carolina, USA

I promise you, it is a very exciting time to be joining our team.  I am looking forward to showing you a bit more of what we have been working on soon!

Fellow Microsoft TFS Program Manager Jim Lamb has a good post detailing how to create a custom workflow activity in Team Foundation Build 2010 using the first of what I am sure will be many activities to stamp your assemblies with the build number.

One of the common requests we hear is to provide a way of automatically updating the version information in the assemblies produced by a TFS build. Unfortunately, it’s one of those features that never gets quite high enough on our priority list to get implemented. You may have noticed that we haven’t provided a solution to this problem in TFS 2010 Beta 2, but this article is going to show you how to solve this problem yourself and will even give you the sources (see the attached ZIP file) for a working solution that you can start using today.

Jim Lamb – How to create a custom workflow activity for TFS Build 2010

If you start creating your own workflow activities then please consider going over to the Team Build 2010 Contrib project on CodePlex and share what you can.

To MSBuild or not to MSBuild

That is the question that I am frequently asked by folks looking at the impact of Team Foundation Build moving to Windows Workflow 4.0 from MSBuild as the master build orchestration language in the TFS 2010 release.

In general I would always think carefully about re-writing everything in WF 4.0 if you have a perfectly functional MSBuild based build process. Just because things have moved towards workflow based builds in 2010, there is still plenty of logic (such as the actual compile) that is conducted in MSBuild.

Fellow former MVP turned Microsoft employee, William Bartholomew has done an excellent job of writing up the pro's and con's of the available approaches when upgrading build logic to TFS 2010.

I'm regularly asked what's the best way to upgrade an MSBuild-based build process to a Workflow Foundation-based build process and one of the most important parts of this is how to leverage the investment and dependence you have on any custom MBBuild tasks you've written. This post outlines four different ways you can make your custom MSBuild tasks callable from a Workflow Foundation workflow.
  • Use MSBuild Activity to call MSBuild wrapper around MSBuild task
  • Wrap MSBuild task in a custom Workflow Activity
  • Rewrite MSBuild task as a Workflow Activity
  • Extract custom task logic into a POCO class and provide an MSBuild Task and Workflow Activity adapters

William Bartholomew - Upgrade Paths for Custom MSBuild Tasks

William's post is worth reading in full if you are interested in this topic. Also, if you are not subscribed to his new MSDN hosted blog then I highly recommend that you do.

In my inbox this morning I got news of another new version of the Team Foundation Sidekicks from Attrice.  I recommended these tools to several people during the recent TechEd EMEA event in Berlin and so it is great to new tools being added all the time.

With this release we conclude support for Visual Studio/TFS 2005 & 2008; from now on any future releases will target VS/TFS 2010. Sidekicks version for 2010 (based on Beta 2 bits) may be expected by the end of 2009.

The release 2.4 includes a relatively large number of bug fixes as well as couple of new features.

Features

  • Labels Sidekick: Support filtering by file extension in Labels Comparison window
  • Code Review Sidekick: Check-in policy violation indication shown next to changesets in a list
  • Workspace Sidekick: Support ability to save list of found workspaces
  • New Users View Sidekick: Show searchable list of user names and user display names in TFS Valid Users group

Team Foundation Sidekicks 2.4 releaseAttrice

As a reminder, the sidekicks are an excellent and free add-on to Team Foundation Server.  They make up an essential part of my toolkit.  I’m also pleased to see that they are going to be looking into tools for the TFS2010 stack later in the year, bodes well for TF Sidekick support of TFS 2010 soon after release.

Four years ago this month, I joined a small start-up being created called Teamprise after reading about it on Eric Sink's blog. Our mission was to bring the benefits of application lifecycle management (ALM) with Microsoft Team Foundation Server to everyone. After all, your customers and requirements do not care about the artificial technological borders inside your organisation - so why should your ALM tools?

Today we start a new chapter in the story of accessing Team Foundation Server from Eclipse and non-Windows platforms with the announcement that Microsoft has acquired the Teamprise technology and will be releasing a new TFS 2010 targeted version next year.

As part of the deal, I was lucky enough to get offered a position as the Program Manager for this product in Microsoft - a role that I start properly today. As a (now former) Visual Studio MVP I've had a great relationship with the team behind Visual Studio and Team Foundation Server, and I am incredibly excited to move into that very same group. I'm joining a team of people that I consider my friends - a team that consists of some of the smartest people I have ever had the pleasure of working with.

Microsoft has always been committed to creating an ALM solution that was ready to support the entire enterprise and I think this commitment is demonstrated in their decision to support cross-platform and Eclipse clients under their own name. It is also a sign of how clearly the Visual Studio team listens to their customers.

There are obviously going to be some changes along the way, however we're trying to do the best we can to minimise negative impacts. The same core team of developers behind Teamprise is moving to Microsoft to carry on what was going to be Teamprise 4.0. Until Microsoft ships its version, Teamprise 3.3 will continue to be sold and supported by the Teamprise division of SourceGear. If you are an existing Teamprise customer, you will be contacted shortly to help understand what the deal means for you – but the short version is that people with a valid Teamprise 3.3 license and a TFS CAL should be eligible for an upgrade to the new version that will come from Microsoft. That said, feel free to take a look at the FAQ to see if this helps, head over to the Teamprise Support forums, or drop me a line at martinwo@microsoft.com if you have any questions or concerns that are not being answered and I'll do my best to help.

From a personal point of view, I'll continue to live in rural Northern Ireland as a remote member of the team. I also intend to continue to blog and tweet. I'll try to minimize the number of the "wow what a crazy awesome place Microsoft is to work" type posts that you see from new hires - but I probably won't be able to resist the odd one or two.

I'm very excited about all that we will be able to do with the resources of Microsoft behind us. While I officially have the job title of Program Manager, I’ll be heads-down coding for the next few weeks and months and looking forward to seeing what my new team and company come up with next year.

I'll be posting more here as this particular chapter continues, stay tuned – I’m pretty sure the next 12 months are going to be an exciting time!  For more information don’t forget to take a look at Brian Harry’s blog post on the topic.

Archives

Creative Commons License
This blog is licensed under a Creative Commons License.