Showing posts with label TFS. Show all posts
Showing posts with label TFS. Show all posts

Sunday, December 04, 2011

WorkItem only view in TFS 2010 Web Access

Here is an excellent how-to. It covers the very simple scenario as well as more complex approach (in case you need to deal with multiple customers and need more granual settings).
However, there's one glitch that is not mentioned there. TFS has a nasty habit of not picking up domain changes right-away. So if you just created the user & group in your domain, set everything up according to the how-to, you may end up with an error:

Access Denied: {your user} needs the following permission(s) to perform this action: View instance-level information

There's a thread describing the issue. In essence you have a choice of:

  • wait for a bit (30 minutes or so) and TFS will pick it up eventually
  • restart the TFS server
  • instead of using group, use user credentials directly (probably not the best option though)

Monday, February 14, 2011

Migrating project from one TFS to another

As I wrote in couple of my previous posts, we've migrated from TFS 2008 to 2010. This mean new install and btw also new server name.

To make thing interesting, we had to continue work on the code-base in the mean time (un offline mode) and now how to connect it back to the new server?

First - lets sort out workspaces. Get TFS Sidekicks - free, yet priceless tool. Get connected to the new server. Now, in the Workspaces sidekick window, clear out "Owner" and "Computer" fields in the search criteria and hit "Search". This will give you list of all the workspaces that are registered on the server. In my case, I just deleted the ones associated with the TFS2008 instance (as it didn't exist anymore). This "freed-up" the existing folders and I could use them for binding to new TFS2010.

Now you have to remove the workspace entries from local machine. Use the "TF" command tool. For example, executing following statement in the VS's command prompt will show workspaces defined on the computer:

tf workspaces

And this will delete all of them (or you can delete them individualy by name):

tf workspaces /remove:*

Now, you can get latest version of the code from the new TFS version, go offline, ovewrite updated files, go online again and voila!

Setting up security for TFS 2010 in small team

After successfully migrating from TFS 2008 to 2010 (see my previous post), I've faced the challenge of having to set up security. We're very small team of developers, so I was looking for the least-laborious way. So here it is:

1) Create domain users (i'll work with Dev1, Dev2, etc.). Create domain group "Company Developers" and put all the Dev1-n users in it.

2) In TFS Administration Console select "Application Tier".
a) Click "Group Membership". Then "New" to create new group - I named it "Developers". Then click "Properties", select "Windows User or Group", click "Add..." and enter the "Company Developers" domain group & close.

b)Back to "Application Tier". Now click "Administer Security", select the newly created "Developers" and in the list below check last 2 items - "Use full Web Access features" and "View instance-level information".

This step ensures that users from the Company Developers group can connect to the TFS server and see the list of collections.

3) Now one level down, still in TFS Admin Console, select "Team Project Collections" on left. In the detail select the "DefaultCollection" (or whatever collection you created).

a) Click "Group Membership" again and again create "Developers" TFS group (you actually may want to create multiple groups at this level, depending on your requirements). Then click "Properties..." and add either "Company Developers" domain group or individual Dev1, etc... if you work with multiple groups.

b) Click "Administer Security" and on the list below select whatever rights you want to assign (I recommend checking out how the TFS default groups are set to get an idea).

Ok, at this point, we've actually given rights to the users to access the "DefaultCollection". Still can't see any projects, but we're getting close.

4) Now open Visual Studio and in "Team Explorer" connect to the server (if you don't have that on the server, install Team Explorer from the TFS dvd). Once connected (providing you're logged in as administrator), you'll see all the projects in collection. Unfortunately, you DO HAVE TO set rights individually for each project.
So, select project, right-click and "Team Project Settings" -> "Security". There add TFS group "Developers" and set the rights below. If you created multiple groups in 3a, this is where you can use them, to distinguish who has access to what.

That's it. It's very basic, but this way you don't open your TFS too much and still have the flexibility to start being more granual in future should you require so.

Thursday, January 27, 2011

TFS 2008 to 2010 migration

I'll be migrating my TFS 2008 server (32bit) to TFS2010 (64bit) soon. I'll have to completely reinstall the machine, so this is my reading so far:


Monday, January 17, 2011

Hidden workspaces in TFS

I've ran into an issue where I had to switch user under which i was connecting to TFS. Somehow workspace from my previous account was still present in the system and checking out solution to the same folder under the new workspace ended up with errors.
There's a tool called Team Foundation Sidekicks which can help to resolve this situation. You can view all workspaces, modify them, etc... Awesome tool, free one too!

Monday, December 27, 2010

VS2010 and TFS credentials

VS2010 for some reason doesn't save TFS credentials if you connect to the TFS server. Under Win7 there's a trick that you can use to fix this:

Open up the user credentials (this is for Windows 7): Control Panel\User Accounts and Family Safety\Credential Manager
To the right of the Windows Credentials title is "Add a Windows credential". Click that link.
In the "Internet ro network address (e.g., myserver, server.company.com) box put: tfs
In the User name, put: DOMAIN\username (your username)
In the password, your password.

The whole description is here.

Friday, September 05, 2008

Diff tool for C# source code

The diff tool which is part of VS 2005 (TFS) is very basic and any complex diff is impossible to resolve in it.
This page has a nice list of tools available:
http://codebetter.com/blogs/patricksmacchia/archive/2008/04/28/diff-tools-to-see-source-files-changes.aspx

I used to use Araxis long time ago and it was brilliant. I'll check out WinMerge and DiffMerge now to see if free tool can do the trick. Will post more info here once I'm done evaluating.

Thursday, September 13, 2007

TFS Install

I've ran into some issues during the TFS install. First, we'd like to use the dual server configuration (having DB server separate). What I didn't expect is limitation of TFS to default instance! Well, here seems to be a workaround (can't confirm it yet though) in case you need to use named instance as we do.
The install process is quite complex task too - Cliff's blog post is quite a nice summary of the core things to do.

Tuesday, August 14, 2007

TFS Evaluation - thoughts

I've spent last couple of days evaluating TFS along with the Team Suite version of studio. Luckily, as a trainer, i have access to the MOC 2631 course, so I was able to actually test the stuff rather than just reading about it.

Prior to this, i've evaluated SourceSafe 2005 as well as Perforce - needless to say, SS doesn't match PF by any means. PF intergrates with VS quite nicely - it may not be as smooth as TFS (especially when it comes to solutions/projects), but still good enough to keep developer happy.

For testing, i evaluated NUnit. TFS offers much more that that though (code-coverage tests, load tests, etc.).

Here are couple of my thoughts:
1) TFS server is running for about $2700 if i'm not mistaken. The real killer is VS Team Edition. If you combine that with "Visual Studio Team Suite with MSDN Premium", you're looking at almost $20,000! Ouch. Compare that to "Visual Studio Professional Edition with MSDN Professional" for $2000... It already includes license for SS! Perforce is kind of pricey as well - $750 per user.

2) What i really like about VS-TS is the integration of work-items with everything (code changes, artifacts, builds, etc.) User logs a bug, you fix it in "myobject.cs" and when you check-in the file, you just link it with the bug work-item. This really kicks a$$.

3) I haven't had a chance to do a research on UI tools for work-items though. I hope there's something that would allow regular users to add/view work-items - and I sure hope it won't require CAL for each user!

4) Documentation. We all hate it, avoid it, fake it... I've tested couple of the diagramming tools in VS-TS and I have to say i was pleasantly surprised. As an architect, I can quickly draw top-level diagram, drill down to application diagram, code-generate from that to give it to the developers. Nothing impressive yet - get this, it propagates changes in the lower-level diagrams back to the upper level ones! Still need to play with this in some real-life scenarios, but so far very impressive.

5) Policies. Oh developers are gonna hate me now - I can actually FORCE them to TEST before they submit changes back to repository.

6) SharePoint site - i'm still kind of undecided on this one. I like the idea of sharing documents in SP for each project, having them version-controlled, etc. I just don't like SP and then I'm worried about maintenance...

Final words - so far, I'm inclining towards the TFS. Yes, it's very expensive, but if you need to put process around your app development and actually have a tool that helps, i think this is the way to go. Can you do all the stuff without it? Certainly yes, but expect to pay for some of the tools (Perforce, etc.) and don't expect them to communicate as seamlessly as TFS...

This FAQ may have some questions for you as well, plus many TFS links...