Sunday, 22 June 2014

09. Create First Team Project with New Environment - Setup Virtual Environment for TFS 2013 - Using Virtualbox

This post, I will explain how to setup first team project in the environment we have created to demonstrate TFS 2013 (Setup Virtual Environment for TFS 2013 - Using Virtualbox).
We are going to use the development environment to create the team project.

We do not have any team project in the demo collection yet.

tp02

First we need to provide user who is going to create a team project in this collection permission to administer the collection.

tp03

Let’s add chaminda (myself) as a Project Collection administrator.

tp04

tp05

Now, let’s use the development environment  and connect to the team project collection to add a new team project.

tp06

Then configure the workspace for development environment .

tp07

tp08

tp09


tp10

Let’s now create the first team project.

tp11
 tp12

 tp13
 tp14
 tp15
 tp16

We have selected to create SharePoint site creation and TFVC as version control. Let’s hit Finish to see how it goes.
 tp17

Oops! Te first error… TF218027.  I do not have rights for report server to create a folder for the team project in the demo collections in report server.

tp18

Let’s assign myself permission for report server, by navigating to report manager url and login with TFS Administrator.

tp19

tp20

In the TFS reports for demo collection add chaminda (myself) as “Team Foundation Content Manager”.

tp21
 tp22
 tp23
 tp24
 tp25
 tp26

To avoid anther permission error let’s give chaminda (myself) permission for SharePoint site collection as well. Simply add as Site Collection administrator for Demo Collection in SharePoint.

tp27
 tp28
 tp29
 tp30
 tp31

Let’s try again to create the team project and it seems working this time

tp32
 tp33

Looks like few more permission issues. TF30170 and TF249061, still some report service issues, this time about OLAP.

tp34

We can fix this by adding chaminda (myself) to Tfs2010OlapReportDS as “Team Foundation Content Manager”.

tp35
 tp36

let’s give permission for Tfs2010ReportDS as well.

tp37
  tp38

This time all goes well, and we are there. We have created the first team project in our Virtual Environment for TFS 2013 - Using Virtualbox.

tp39
 tp40
 tp41

In the next step let's create a small sample application ad a CI build for it.

Thursday, 19 June 2014

Create Non AD User in TFS in a Domain


If you want to create a non existing user for some purpose to TFS (For example assign all removed User Stories and Bugs to a non existing user, this was the requirement I got from a client :))  and if you do not like to add this user to Active Directory since there is no such actual Person, you can achieve this by creating the user in the TFS box as a windows user.

First create a windows user in TFS box

Capture

Add this user to the team project (do it inside the TFS box and you will not have any issues). My domain is ALM and my TFS box is TFS.

Capture1 

From any client machine having access to the TFS, login with the new user.

Capture2
Capture3

It works like a charm!

Thursday, 5 June 2014

VS '14' CTP - How to Use 'Roslyn'

I provisioned a VM for VS '14' CTP in Azure and started testing on new 'Roslyn' powered syntax with C#. But it did not work and gave compiler errors.



Thanks to Anthony D. Green of MSFT managed to fix the issue. Here is how to do.

Adding experimental to .csproj solved the issue.



Now my code with new syntax works like a charm.



Awesome!!! VS Rocks for Ever!!!


Friday, 30 May 2014

Experiment on Limit AssignedTo field of WIT to Team Members

A question in MSDN Forum lead me to do some experiments on restricting AssignedTo field of a work item to Team Members.

Here are some notes

1. I created team project CustomizeTest
2. This created default team "CustomizeTest"
3. I tried modifying Bug WIT template AssignedTo field

<ALLOWEDVALUES expanditems="true" filteritems="excludegroups">
    <LISTITEM value="[project]\CustomizeTest" />
  </ALLOWEDVALUES>

TFS template was not imported. Error
Error importing work item type definition:
TF26204: The account you entered is not recognized. Contact your Team Foundation Server administrator to add your account.
4. Created a new team "Team1" and tried with

<ALLOWEDVALUES expanditems="true" filteritems="excludegroups">
    <LISTITEM value="[project]\Team1" />
  </ALLOWEDVALUES>

Wow it works fine.
5. So where did I go wrong.... Got it... The default team of team project "CustomizeTest" is created as "CustomizeTest Team"

<ALLOWEDVALUES expanditems="true" filteritems="excludegroups">
    <LISTITEM value="[project]\CustomizeTest Team" />
  </ALLOWEDVALUES>

Works fine.
OK That is that and it works...BUT

Another experiment notes

1. I assigned one member to my Team1
2. Customized Bug WIT AssignedTo field to have

<ALLOWEDVALUES expanditems="true" filteritems="excludegroups">
    <LISTITEM value="[project]\Team1" />
  </ALLOWEDVALUES>

3. Went into Team project CustomizeTest\Team1 and tried creating Bug. Assigned To field drop down have only one member. yeah I am happy.
4. Went into root team project CutomizeTest (CustomizeTest Team) Create Bug. AssignedTo field only has that one member in Team1. Ok it should be since I have made it to work like that.  (my CutomizeTest Team has 3 Members but I can assign a bug in this team only to one member of the Team1, looks like I made some bad customization)
5. I created another Team "Team2" with 2 members.  and modified my Bug WIT AssignedTo field to have

<ALLOWEDVALUES expanditems="true" filteritems="excludegroups">
    <LISTITEM value="[project]\Team2" />
  </ALLOWEDVALUES>

Now when I go into "CustomizeTest Team", "Team1" and "Team2". Create a bug I can assign it to only to the two members of the "Team2".
6. I changed my Bug WIT AssignedTo field to

<ALLOWEDVALUES expanditems="true" filteritems="excludegroups">
    <LISTITEM value="[project]\Contributors" />
  </ALLOWEDVALUES>

and I added teams "CustomizeTest Team", "Team1" and "Team2" as members of [project]\Contributors.
This lists all members from the three teams in my AssignedTo field regardless of the team I am in.
Think all above my experiments will help someone in some way.

If there is  a way to say <LISTITEM value="[project]\<TheCurrentTeam>" /> which would be wonderful to have I think.






































Wednesday, 28 May 2014

Resolve Windows Installer Runs Continuously in TFS Lab Environment Machine - Windows 2012 - SQL 2012 SP1

Today I came across some strange error when a lab environment machine CUIT was run. This Coded UI Test supposed to launch a installsheild setup to install a n application (I was testing a Installer built with InstallSheild using Coded UI Tests).

My test was repeatedly failing with the InstallSheild  setup cannot run due to "Another installation is running" error message.



Task Manager showing a Windows Installer is running.

  



Reboot the server still no good after few minutes the windows installer starts and running continuously. I tried let it run couple of hours to finish what it was doing, and it was keep on running.

Started search in WWW and after about half an hour came across this question and answer.

As the answer confirmed the issue was with SQL 2012 SP1 . I downloaded and installed Non Security Update for SQL Server 2012 SP1 (KB2793634) and finally the issue resolved. No more continuously running windows installer and all are good, I could run my CUIT to test the InstallSheild setup.

Saturday, 17 May 2014

Setup TFS 2013 Email Via Gmail

This is my first video tutorial. In this short video tutorial I have explained how to setup Team Foundation Server to send email alerts via Gmail account using smtp.gmail.com.




Await for lot more... on TFS & VS "How to Use"

Tuesday, 13 May 2014

Resolve TFS Integration Platform Conflict - TFS WIT bypass-rule submission is enabled. However, the migration service account 'Chaminda Chandrasekara' is not in the Service Accounts Group on server

I have experienced the error below while trying to migrate work items from a TFS team Project to another team project using TFS Integration Tools.

  

Microsoft.TeamFoundation.Migration.Tfs2010WitAdapter.PermissionException: TFS WIT bypass-rule submission is enabled. However, the migration service account 'Chaminda Chandrasekara' is not in the Service Accounts Group on server 'http://tfsserver:8080/tfs/sandbox'.
   at Microsoft.TeamFoundation.Migration.Tfs2010WitAdapter.VersionSpecificUtils.CheckBypassRulePermission(TfsTeamProjectCollection tfs)
   at Microsoft.TeamFoundation.Migration.Tfs2010WitAdapter.TfsCore.CheckBypassRulePermission()
   at Microsoft.TeamFoundation.Migration.Tfs2010WitAdapter.TfsWITMigrationProvider.InitializeTfsClient()
   at Microsoft.TeamFoundation.Migration.Tfs2010WitAdapter.TfsWITMigrationProvider.InitializeClient()
   at Microsoft.TeamFoundation.Migration.Toolkit.MigrationEngine.Initialize(Int32 sessionRunId)

The fix was so simple thanks to  Chev Bryan's blog post here.

I just executed below command in VS 2012 Developer Command Prompt to add the account executing migration to Team Foundation Service Accounts.

tfssecurity /g+ "Team Foundation Service Accounts" n:domain\username ALLOW /server:http://tfsserver:8080/tfs


Need "Edit Collection Level Information" to execute above command.



The migration was successful



Tuesday, 29 April 2014

Build VS2010 Setup Projects with TFS Build

I wanted to build a .vdproj (setup project in VS 2010) with TFS build and found MS Build does not support that out of the box. Below are few link that explains  “how to do this with build template changes”.
 
All of above suggested changing build templates, which I am OK to do with. I thought there should be a easy way out. Yes of course there is. “Old but GOLD” article in MSDN has given me a hint.
I created an additional solution and a C# Class Library project.

001

I already had VS 2010 available in my build server.  I used my Setup Builder C# project “AfterBuild” to execute devenv.exe and build my solution with .vdproj. Then copied the Setup.exe and .msi file to Output to directory so that it will be copied to TFS build drop.
Below are the commands used in “AfterBuild” .

002


  
  
 


This builds my setup project with MSBuild and it executes devenv.exe to build the Main.Solution with .vdproj (setup project).

004
005

I believe it would be better if I could use the Build Template change approach. But with the time constraints, and when you need a quick solution using what I have explained above is definitely a useful workaround.







Popular Posts