Tuesday, November 1, 2011

Visual Studio and TFS extensibility

I came across this post by David Baliles listing a whole range of add-on’s to TFS and Visual Studio.

Whenever I speak to anyone that will listen I keep on re-emphasising the extensibility of TFS and Visual Studio. It really opens up the potential that lies within the applications, making it available to people and environments that no-one would ever have thought possible.

Together with this there are the people that actually take the time to solve their problems and then make their solutions available to the world. I really commend these individuals for their passion and effort.

David’s list just emphasises the extensibility and the community that surrounds it.
Have a look – it is a really interesting list, I’m sure you may find something that you have been struggling with…

Monday, October 24, 2011

Customising TFS Work Items

Work Items in TFS forms one of the primary “abilities” that Team Foundation Server exposes. A work item is a generic object that you use to record various “things” in TFS. The type, structure and workflow is defined as part of the process template as a work item definition or type. The MSF for CMMI process template has different work item definitions than for example the Scrum template would have. Work item definitions is also the closest that TFS will get to “exposing” or modelling a methodology.

In my business I often get requests to change or adapt work items to include fields that are important to the customer or to alter the workflow to better represent the process that is used internally in the customer’s team.

The work item definition is at its heart an xml schema containing fields, rules, form layout and workflow associated to the specific work item.
If you have a good xml editor you can export the work item definition using the witadmin utility, make your changes and then import it back into TFS using the same tool.

Of course if you don't feel like wading through all those angle brackets you can get hold of the TFS power tools and use the process editor.

After installing the power tools, select “Tools –> Process Editor –> Work Item Types” from the Visual Studio menu. You have the option of importing or exporting work item types (WIT),  editing types directly on the server or locally (using an exported WIT).
Good advice would obviously be to first export a WIT, make changes and then import the changed WIT if you are using a production  instance of TFS.

A note: As mentioned previously, the different types of work items are defined as part of the process template. For example the MSF for Agile template would yield the following work item types:

image

After selecting a work item the work item editor will open

image

You are now free to add new fields, change the work item form and alter the workflow.

It is simple enough to change the work item definitions using the process editor but you still need to take note of the following:

  • Make sure you know the difference between the a Dimension, Measure and Detail when setting the “Reportable” field
  • Make sure that you have a good understanding of, and cover all paths when changing the workflow for the work item
  • When customising a work item it is important to remember that if you change the work item definition on a team project, the change will not be reflected on other team projects unless you manually update them. One way to overcome this is to alter the process template and include the changed work item definition in the process template. Next time you create a new team project those changes will be present.

 

Monday, October 17, 2011

Working for yourself…

I have been working for myself for over a year now and looking back I have concluded the following:

  1. A pay check is the easiest (legal) money you'll ever make
  2. I have never in my life worked so hard for so little
  3. I am by far the worst boss I have ever had

Working for yourself is not easy, and is definitely not everybody's “cup of tea”.

Would I consider changing ?
Hhhmmm…..

Friday, September 30, 2011

Team Foundation Server is Version Control

This is a part of the blog posts surrounding the misconceptions that surround TFS. For the first post see TFS is expensive.

Team Foundation is Version Control…

There are a lot of debates raging (and have been for a long time) about how inferior TFS is when it comes to version control. Obviously the favourite comparison has always been between TFS and SVN, but these days the comparison is also shifting to the DVCS style of version control systems.

TFS version control (IMO) has always done what was needed. There are a lot of nit-pickers who look at the specific functionality that TFS does not support, but once again – I have used SVN and TFS and found that a lot of these features were really just “nice to haves”, and in most cases TFS did have a work around in one form or another.

The main thing that I feel is not addressed when people make these comparisons is the fact that TFS “IS NOT” version control. Version control is merely a feature, one of the components that make up TFS.
TFS is an ALM suite. It covers a much broader spectrum than just version control.

There are a lot of misconceptions around ALM as well. In fact, one of my large corporate clients was very keen to check the “we do ALM” checkbox after they started using SVN. Using version control does not mean you are addressing the full ALM!

So that said, one of the things that really excites me about TFS is the rate at which it is evolving. The “problem areas” are being addresses as the product matures. I’m sure you would have heard of TFS 11 & VS 11 by now.

Just looking at the changes that Brian Harry and his teams are making to TFS version control, it is going to be yet another game changing release:

I’m off to get my hands dirty with the TFS & VS 11 developer previews…

Monday, August 22, 2011

Team Foundation Server for everyone, everywhere…

The topic I chose to present for this round of Dev4Devs Cape Town was (you guessed it) TFS.
This time I took a different approach and showed off the “new” focus that Microsoft has started adopting. Instead of trying to convert everybody to the Microsoft way of doing things, Microsoft is starting to adopt the desperate development realms and in some cases, is actually supporting them! This is very exciting for everyone using very competent, often “lower cost to entry” development tools and technologies, providing capability to grow which was previously unrealised.

So without further delay – here is a brief overview of my presentation: TFS for everyone, everywhere

IDE of choice…

Anyone who has worked with TFS should be familiar with Team Explorer. This is the developers portal into “the belly of the beast, erm TFS”.

image

Maybe a little less known to the Java, and especially the Eclipse developers would be a product  by the name of Team Explorer Everywhere (TEE).
This is (amongst others) an Eclipse plugin which is basically Team Explorer for the “non-Microsoft” orientated. It introduces TFS to the Windows, Linux, Mac, Solaris, AIX and HP-UX users (see here under system requirements for the “official” list of supported IDE’s and OS’s).

TEE

Deja vu?

As would be expected there are a few minor differences between the two, but by far any Visual Studio / Team Explorer user will feel right at home using and configuring TEE, right down to the check in dialog and policies.

API of choice…

OK, so now you have TFS integration into Visual Studio and Eclipse. What about the extensive .NET API (that is installed with Team Explorer)?

No Problem! Microsoft has released a TFS Java SDK.

Looking at a .NET example to create a work item in TFS:

1) Add a reference to Microsoft.TeamFoundation.Client and Microsoft.TeamFoundation.WorkItemTracking.Client

2) Establish a connection to the appropriate TFS Project Collection

   1: //get default credentials
   2: var credentials = CredentialCache.DefaultNetworkCredentials;
   3:  
   4: //connect to TFS project collection 
   5: TfsTeamProjectCollection collection = new TfsTeamProjectCollection(new Uri("http://localhost:8080/tfs/defaultcollection"), credentials, new UICredentialsProvider());
   6: collection.EnsureAuthenticated();

3) Using a Service Locator pattern we can get “services” from the project collection. In this case we are interested in the WorkItemStore. This is basically a repository for work items and can be used to load and query work items



   1: var workItemStore = collection.GetService<WorkItemStore>();

4) Then a bit of plumbing… Because each team project is based on a specific process template we need to get a work item definition that is appropriate to that project/process template. In this case we are looking for the “Task” work item definition in the “Dev4Devs” team project



   1: var project = workItemStore.Projects["Dev4Devs"];
   2: var workItemType = project.WorkItemTypes["Task"];

5) Create a new work item and start setting appropriate properties



   1: var workItem = new WorkItem(workItemType);
   2:  
   3: //set appropriate properties on the work item
   4: workItem.Title = "my new work item";

6) And finally, based on an active record pattern, we simple save the newly created work item



   1: workItem.Save();

Simple enough…..


So looking at the Java SDK, how difficult will it be?


1) The first step is to obviously get hold of the Java SDK and add it as a referenced library in the java project


2) Create a connection to the team project collection



   1: TFSUser user = new TFSUser("useraccount");
   2: TFSTeamProjectCollection collection = new TFSTeamProjectCollection("http://localhost:8080/tfs/DefaultCollection", user, "Password");
   3: collection.ensureAuthenticated();

3) Get the work item client (instead of store…)



   1: WorkItemClient workItemClient = collection.getWorkItemClient();

4) Get hold of the work item definition from the appropriate project



   1: Project project = workItemClient.getProjects().get("Dev4Devs");
   2: WorkItemType type = project.getWorkItemTypes().get("Task");

5) Create a new work item



   1: WorkItem workItem = workItemClient.newWorkItem(type);
   2:  
   3: //set appropriate properties on the work item
   4: workItem.setTitle("my new work item from java");

6) and finally



   1: workItem.save();

So, save a few nuances, pretty much the same when it comes to the interface exposed by the .NET and Java object models.


As mentioned earlier, I can’t wait to see where all this leads to in the adoption of TFS as a decent (and more often than not, cheaper) ALM suit.
Team Foundation Server…. not just your average version control Winking smile


 


Logo 48x48

Tuesday, August 9, 2011

Team Foundation Server goodie bag

Anyone that has been following Brian Harry over the last number of weeks would have started seeing what is in the pipeline for Team Foundation Server vNext.

As he posts about the new features, I’m getting more and more exited about the way that Microsoft is busy closing the gap between TFS and the products that TFS is usually compared to. I find that there is still a very narrow vision of finding a single feature, and then if the system you are comparing against does not support this feature as expected, it is discounted (sometimes aggressively).

Things are changing though…

One of the new features that would make a lot of SVN users very happy is the introduction of local workspaces. This is a particularly big deal as a lot of people seem to have problems with working in “offline” scenarios.

Another contentious issue has always been the rollback ability within TFS source control. A large number of people may not have known this, but rollbacks in TFS have actually been possible for a while now. Granted a bit of a hassle as a “true” rollback was only possible via command line.
Well not any more. According to Brian, the next version of the TFS Power Tools will be bringing forward the Rollback “UI” from the next release.

Considering how TFS as a product is maturing while taking the community into consideration, I must admit that making a decision to take the passion I have for TFS, building a business around it while sharing it with the world, was probably the best thing I could have done.
After all, who would have ever expected a Microsoft supported “cross platform” Java based environment and API for TFS to appear?

I can’t wait to see what is coming next!

Logo 60x50

BTW: If you are considering upgrading to Visual Studio 2010 or TFS 2010, please do evaluate your Software Assurance options…

Monday, August 1, 2011

Professional Team Foundation Server 2010

ProTFS2010I recently finished reading Professional Team Foundation Server 2010 by Ed Blankenship, Martin Woodward, Grant Holliday and Brian Keller.

I’ve been a long-time fan of all the authors and was quite exited when I heard that they were busy writing this book. So when it was finally available in this country I snatched one up and started reading.

Barring the fact that I think there are some questionable statements, I found the book to be tedious at times as it starts out with a high level overview and then drills down into more detail in subsequent chapters.  I think the layout of the book is well suited as a reference book, looking up sections as and when you need to find information on certain topics.

The book did bring some insight into areas that I was previously not so familiar with, and it is evident that the authors are well versed in TFS. One thing that I found interesting was the guidance on how to do “Planning and Deployment”. This is obviously very helpful when you’re doing this as a business or just wanting to adopt internally.

ProALMwithVisualStudio

Overall I must admit that I did enjoy the book. I would say that Professional Team Foundation Server 2010 and Professional Application Lifecycle Development with Visual Studio 2010 are definitely required for any team taking development with Team Foundation Server and Visual Studio 2010 seriously.

Happy Reading !

Logo 60x50

Monday, July 25, 2011

Dev4Devs coming around again…

The second round of Dev4Devs 2011 is coming around…
I really enjoy this type of community “event” that brings together a bunch of like-minded individuals to interact and discuss what is happening in their area and industry as a whole.

I would really encourage everyone to attend and even present if there is something that you would like to share with others…

Go here to find out more.

 

Monday, July 18, 2011

Microsoft Test Manager Video Recording on Windows 2008 Server

I had some “issues” getting the video recorder collectors working on Widows 2008 R2 Server recently.

I’m sure some of you have had something like this pop up…Video Recording can not be created

The link provided is not really of much use, it merely tells you to install the Expression 4 encoder. This in its self is not going to give you much joy, so here are the steps in a bit more detail:

Step 1: Add “Desktop Experience”

Using “Server Manager” add a new “Feature”. Select “Desktop Experience” as highlighted below, add any required features and complete the installation

Add Desktop Experience

Step 2: Expression 4 encoder

Download and install the Expression 4 (SP1) encoder.  Note that the new Encoder is now included in Visual Studio SP1.

Step 3: The missing link…

One thing that the Microsoft Help does not mention is that you need to update the Microsoft Test Manager Video Diagnostic Adapter as well. To do this you need to download the updated adapter and install it.

From here on it is as simple as ensuring the your configuration has the video recorder adapter enabled.
Open up Test Manager, select “Plan” and then select the “Properties” tab.

Open MTM Test Settings

In the properties select the appropriate test settings and select “Open”.

Enable Video Diagnostic Collector

Select “Data and Diagnostics”, scroll down the list of diagnostic adapters and make sure that the “Video Recorder” collector is enabled. You can select “Configure” toward the right of the “Video Recorder” collector row, and set some options if you want to configure the collector further.

Select “Finish” and voila, you can start recording test run sessions.

 

Monday, July 4, 2011

Team Foundation Server 2008 vs 2010

When speaking to potential clients, I more often than not end up needing to explain to them that all the issues and problems they are highlighting often derive from TFS 2008, or more so, TFS 2005.  In my business I find that I still deal with a lot of misconceptions around TFS as a product and what it provides. The result is that I end up needing to “re-sell” clients on TFS.

Dealing with such a legacy is a hotly contested market space and obviously a big hindrance to any business. So in an attempt to correct some perceptions I’ll endeavour to address some misconceptions around TFS 2010, specifically comparing TFS 2010 against TFS 2005 & TFS 2008.

To start off with, a real common one….

TFS 2010 is Expensive…

In years gone by the licensing structure of Visual Studio 2005 & 2008 merely included a TFS CAL ($499) in the MSDN subscription. You still had to purchase a TFS server license for about $2800.
In 2010 you still have the CAL included in the MSDN subscription, BUT you now also get a TFS 2010 server license included!
You can however still buy a retail copy of TFS 2010, it will only set you back $499 allowing 5 named users without the need for additional CAL’s (going over this number you will have to purchase CAL’s for each user though).

So… if you purchased Visual Studio 2010 with MSDN for each developer, you are ALREADY licensed for TFS 2010.

Due to the fact that TFS 2010 comes with a restricted usage SQL 2008 license (or in fact can run on SQL 2008 Express) and WSS3 or SharePoint Foundation is free, you can have a fully functioning TFS 2010 environment up and running without coming close to the capital expenditure of its predecessors!

The next thing that people always go on about is but svn/git/mercurial is free”. Yes they are free, BUT they are merely version control products (and yes some of them are pretty good ones at that).
TFS has a version control component to it, BUT it also incorporates and integrates a large number of other features, to mention a few:

  • extensive reporting capability
  • collaboration
  • work item management
  • test case management & lab management
  • build automation

But…” you say, “there are a bunch of other tools that can perform these tasks”. “Yes“ I say “there are”, but are they seamlessly integrated to give a single view across all the functions in the development sphere? Do they give you the ability to interrogate the progress, activity, quality or performance of your team in detail? Are they integrated into your “day-to-day” environments making them a natural part of your environment?

If you have not yet considered TFS 2010 due to cost, please take some time and get the facts (or speak to me Smile )!

You may be surprised!

Tuesday, June 28, 2011

Visual Studio 2010 version aversion…

TFS being a tool that has some intimacy with Visual Studio often puts me in a situation where clients have many questions regarding the different versions of Visual Studio. The tight integration between TFS and Visual Studio can leave one wondering… where does Visual Studio end and TFS begin.

I will be the first to admit that any search for a comparison between Visual Studio editions is pretty easy to come by, but for convenience, here's a useful comparative table of visual studio 2010 versions.

Visual Studio Sku

(Image stolen from Ahmed Salijee)

Visual Studio 2010 Professional

Professional is your entry level environment allowing you to perform you day to day coding tasks. A big issue that I have is the lack of quality tools packaged with this edition, but it is a cheaper alternative to get your team up and going.

Visual Studio 2010 Premium

Premium in my mind is the minimum version that an enterprise dev team should consider. More expensive, but adding a quality perspective, including aspects such as code analysis, code coverage & metrics and then also (in my mind) a hugely underutilised “Database Professional”.

Visual Studio 2010 Ultimate


Ultimate is the granddaddy. A strong focus on architecture with support for modelling and layer validation, but including load and web tests. It also includes a Test Manager license (see Test Professional below). Very pricey and probably not worth the money in most teams/smaller companies.

Stepping out of the developer realm a new product or edition has been introduced in the 2010 suite called Test Professional

Test Professional

Contrary to common believe this is NOT a development environment. It includes Team Explorer, but that is where the similarities end. Test Professional edition primarily consists of Microsoft Test Manager, a tool that is targeted toward the tester, someone that needs to set-up test cases and execute these by (often) manually running through the application. It also includes the ability to set-up and configure Lab Management which in my opinion is more technical than I would prefer to allow a tester to handle.

Misconceptions…

One of the misconceptions that I often deal with is that you need Visual Studio to “work” with TFS. Team Explorer is actually all you need which happens to be a free download (you still need a CAL to access TFS though). Team Explorer does provide a tight integration between TFS and ANY Visual Studio 2010 version though. Then again Team Explorer is just one of the many ways to interact with TFS…

 

Wednesday, May 25, 2011

DevDays 2011 Cape Town

DevDays 2011 Cape Town drew to a close yesterday evening.

I presented one of the community session slots and decided to upload the presentation for those who could not attend.

Enjoy…





Tuesday, May 17, 2011

Visual Studio vNext

For those of you that do not keep up to date with what is happening around the world, TechEd North America is currently in progress.

Being a technology junky I generally enjoy events such as TechEd and MiX(especially our American counterparts). This is the time that Microsoft starts introducing stuff they have been working on since the last event, or gives us a glimpse into what they are working towards in the next wave of product releases.

This time, once again, TechEd is hardly off the ground and the excitement has already started to set in.  As part of the keynote Jason Zanders gave some insight into what is coming in Visual Studio ALM vNext.

I must admit, from a brief glimpse, there are some very exciting things heading our way! I really like the revamp of the TFS Web (TSWA) and the new functionality around planning and capturing feedback. I would however like to see more around the work that they have been doing with TFS on Azure.

In Visual Studio the unit test integration hooks for 3rd party frameworks looks interesting and the new “Team Navigator” has potential.

Oh man.. we’re just starting to get the hang of VS & TFS 2010 and we are already looking to the next version with anticipation…
Hi, my name is Niel, and I’m a technology junkie Crying face

TFS as an open platform?!

Brian Harry has previously mentioned his intent for TFS to be an open platform. To date the architecture supports this very nicely, from the wide range of integrated applications and clients to providing developers with a very rich .Net API.

Then Microsoft took over Teamprise’s Client Suite rebranding it to Team Explorer Everywhere (TEE).
For those that have not yet heard about TEE, it is basically Team Explorer for Mac, Linux and some Unix flavours (yes… even Windows). One of its components is an Eclipse plugin, giving (primarily java developers) basically the same experience that we are familiar with inside Visual Studio.

Yesterday Microsoft once again upped the ante by providing a java SDK for TFS.

This extension to different development environments, and the work that Microsoft has put in on the Hosting story and is putting in to get TFS on Azure means that you can have the benefits of TFS, without the need to actually run any Windows based servers locally! How neat is that!

Now what I would really be interested in is how much demand there is for this, and what is Microsoft doing to “sell” TFS to non Microsoft dev environments? Locally TFS and Visual Studio is being evangelised via the main stream events such as DevDays and Tech Ed, but what should we be doing to get the message out to people that do not attend these events?

But enough business, where did I put that old Java book of mine….

Monday, May 9, 2011

Dev4Devs Cape Town

Dev4Devs was held on Saturday, what an awesome event!

Well done to my fellow presenters for giving us very interesting (yet brief) insight into some topics that lie close to their hearts, and a big thanks to Dave Russell from Microsoft for setting it up and hosting the event here in Cape Town. 

I believe Dev4Devs is a platform for people who have a passion for what they do, and would like to share it with “the world”. You’ll experience what it means to present to like-minded people allowing just enough time to give you a “taste” for what presenting is all about. I would really encourage people to give it a go. Dave has promised that this would definitely not be the last time that this event is held in Cape Town.

We each had a 20 minute slot to talk about, or “present” on a topic of our choice which is challenging, but part of the fun! And of coarse, if by some highly unlikely event you get bored with the current topic, the next one is literally around the corner Winking smile

Thanks to all that attended, hope to see you at the next one…

For now though, the next event to look forward to is DevDays, see you there!!

Thursday, April 21, 2011

Custom Check-in Policies for TFS 2010

I was showing a demo to a client on custom policies the other day. We went through a couple of caveats that exists between the TFS 2008 and TFS 2010 way of doing things.
If you look long enough you will find specific posts or conversations on individual issues. I decided to do a post that encompasses these issues, and a couple of my findings while creating these custom policies in TFS 2010.

Creating the custom policy is fairly straight forward. Using Visual Studio, create a new class library and add a reference to “Microsoft.TeamFoundation.VersionControl.Client.dll”.

Next create the class that you will be using and inherit from “Microsoft.TeamFoundation.VersionControl.Client.PolicyBase” and implement the methods. You should have something like this:

using Microsoft.TeamFoundation.VersionControl.Client;

 

namespace TeamFoundation.CommentPolicy

{

    public class CommentWordCountPolicy : PolicyBase

    {

        public override string Description

        {

            get { throw new System.NotImplementedException(); }

        }

 

        public override string Type

        {

            get { throw new System.NotImplementedException(); }

        }

 

        public override string TypeDescription

        {

            get { throw new System.NotImplementedException(); }

        }

 

        public override bool Edit(IPolicyEditArgs policyEditArgs)

        {

            throw new System.NotImplementedException();

        }

 

        public override PolicyFailure[] Evaluate()

        {

            throw new System.NotImplementedException();

        }

    }

}

The “Type” property can be related to the friendly name of the policy. Interestingly enough, the “TypeDescription” property is the description shown on the “Add Check-in Policy” dialog (Figure 1), and the “Description” property is the description shown in the description column of the “Check-in Policy” tab (Figure 2) when the policy is selected.

 Add Policy Dialog
Figure 1: Add Check-in Policy Dialog

Active Policy Dialog
Figure 2: Check-in Policy Tab

The “Edit” method is where you would handle any custom configuration that you may require. This method is executed before the policy is added to the list in figure 2 and when you click the “Edit” button while the policy is highlighted in the Check-in Policy tab (Figure 2). Note that if you return “false” in this method the policy will not be added to the active list. In addition, the “PolicyBase” class has a property “CanEdit” that you can override manually. If you return false for this property the “Edit” method will not be executed and the “Edit” button next to the list in figure 2 will be disabled.

Next up is the “Evaluate” method, this is where all the magic happens. You have access to the protected property “PendingCheckin” which provides pretty much all the information that you would need to devise some weird and wonderful policies. If the “Evaluate” method returns an array containing a valid instance of a “PolicyFailure” class, the check-in will show you the policy violation.

So once you have populated the properties and methods accordingly the next point is of utmost importance. You must mark your class as Serializable. If you do not, your new policy will simply not show up in the available policies list.

Next up you need to register the policy in the registry under the following path: [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\TeamFoundation\SourceControl\Checkin Policies].

Create a new String Value with the name of the assembly that contains your policy excluding the .dll extension and the value being the full path to your assembly. Example :
Name: TeamFoundation.CommentPolicy
Value: C:\Projects\Policies\TeamFoundation.CommentPolicy.dll

This should complete the steps to create and register a new check-in policy. The only thing left is to deploy the policy on each workstation that is to adhere to the policy. If you do not do this an error will be displayed that the policy is not installed, and it will be disregarded. The TFS 2010 Power Tools however have a “new” way of deploying these assemblies, but it is still up to the developer to opt in to the deployment mechanism.

zippedFile
TeamFoundation.CommentPolicy.zip

 

Logo 60x50

Monday, April 11, 2011

TFS & VS 2010 and the Database Developer

 

I was working at a client last week, giving them an overview of Database Development using Visual Studio 2010 Database Professional (DBPro). They mentioned the TFS Provider for SQL Server Management Studio (SSMS) and their attempts in trying work with it.

It had been a couple of years since I looked at it last (honestly before DBPro was released). You can download (it’s free) the plug in from here (created by the famous Martin Woodward). I noticed that it had in fact been updated to work with TFS 2010. So I decided to give it a spin.

Firstly I must highlight one of the (in my opinion) less know features in SSMS, you can create and manage projects in pretty much the same way you do in Visual Studio.

After installing the TFS Provider, make sure that SMSS knows that you are using a Source Control plugin. Select Tools | Options. Select “Source Control” and if it has not already updated, change the current plug-in to “Team Foundation Server MSSCCI Provider”.

Team Foundation Server MSSCCI Provider

Now select the File | New | Project menu option and a pretty familiar looking dialog will appear

image

Once the project has been created open up the “Solution Explorer” ( View | Solution Explorer ) and the project layout is shown

image

Right click on the “project name” and select Add | New Item. Notice that you start to get the same experience as you would in Visual Studio. You have the ability to add a number of “different” items to the project. Different categories have different templates etc..

image

And now with the Source Control plugin you can add this “Solution” or “Project” to source control (as you would a Visual Studio Project) and perform source control related check-in’s and outs, view history, compare etc. etc..

Using SSMS you still do use scripts to manage your “database”. If you only have access to Visual Studio 2010 Professional (or not at all) then this is possibly an option to evaluate (you still would need a TFS CAL).

Both SSMS and DBPro use scripts to manage your schema (DBPro has a nice “schema view” that shows you the database schema represented via scripts though), BUT with all the additional functionality that DBPro offers, including database comparisons, unit testing and data generation, I definitely prefer DBPro.

 

Logo 60x50

Friday, March 18, 2011

Visual Studio Setup project is on its last breath!

 

I was reading Buck Hodges’ blog this morning and came across an interesting piece of information: The age old Visual Studio setup project (vdproj) is coming to an end. After Visual Studio 2010 it will no longer be supported.

Personally I’ve been expecting that something would be happening around the installer experience in Visual Studio for a while now. There was quite a bit of excitement about the inclusion of WiX in VS2010. But alas, this was not to be.

Now don’t get me wrong, I have worked with WiX for a while now and it is immensely powerful. In fact a number of Microsoft’s applications are shipped using a WiX based installer, but there is nothing quite like the Visual Studio setup wizard for creating a quick and easy installer for the small, simple apps. I suppose this is where the “InstallShield 2010 Limited Edition” project support in VS2010 comes from (I must admit though, I have not really taken a good hard look at the InstallShield project yet).

I also need to say that some of the changes in WiX 3.5 (including assembly harvesting) do make it easier to deploy large projects, and you have some free, and commercial, WiX editors (I use WiXEdit) to help out.

It will be interesting to see how the support for WiX grows after the default Visual Studio setup project dies. I would recommend that now is a good time to  start looking closer at the installation technology that you are going to be choosing going forward (Microsoft has put up a nice comparison between the Visual Studio Setup, InstallShield and WiX as a guide).

Wednesday, March 16, 2011

Upgrade Visual SourceSafe today!

 

If you do not already know Visual SourceSafe’s mainstream support is coming to an end July 2012. This means that if you are still using SourceSafe after this date and you have a serious problem, too bad! (unless you are willing to pay for the extended support.)

So if you have not already though about upgrading, it is probably advisable to start looking at options.

Over the last couple of week I’ve noticed a bigger push from Microsoft to upgrade with pricing specials and more information around migrating to Team Foundation Server 2010 (being the de-facto Microsoft upgrade path).

If you have not yet looked at your options, do take a look at the following resources:

That said, if you happen to be in South Africa and would like more information or advice feel free to give us a shout

Tuesday, March 8, 2011

Visual Studio 2010 SP1 released

Finally!

Very unceremoniously Microsoft has announced that the Visual Studio 2010 Service Pack 1 will be available today (8th March ) for download for MSDN Subscribers, and will be generally available for download on March 10th, 2011.

This brings with it some very exiting bits (in addition to fixing some very annoying bugs). Some of my personnel favourites include:

  1. IIS Express Support (still need to install it separately though)
  2. Silverlight 4 tools are included
  3. Performance wizard for Silverlight (to profile Silverlight apps)
  4. Unit Testing under .Net 3.5 (previously they all ran under .Net 4)
  5. Initial HTML 5 support

On TFS SP1 most of the changes were focussed to allow the Team Foundation Server 2010 and Project Server Integration Feature Pack, in addition to a fairly large number of bug fixes outlined here by Brian Harry.

Oh and while we’re at it, don't forget about the Team Foundation 2010 Power Tools March 2011 release Smile

Thursday, January 20, 2011

A new year…

Somehow, somewhere we have entered into a new year and 2010 has drawn to a close!

After all the hype and expectation of 2010 I think a lot of people are a bit disappointed and/or let down, especially with the “global financial crisis” and the SA 2010 soccer world cup not delivering all that was promised and expected for the local economy.

For Team Foundation Consulting I must admit, it is has been going a bit better than I expected. It is about 6 months down the line and I was surprised at the interest that we were getting during the end of the year – a period  I though would be pretty dead for a young business like this, and then in January things are also starting to look good.

None-the-less it is now time to bed down how to grow this business in 2011 into a viable operation. And first on my list of things is still to “spread the word” and create awareness. At the moment we are looking at some online advertising options (more on that in another post).

There is also still a lot that needs to be done with regards to standardising past and existing engagements with a bunch of ideas that I have, into formal outlines and marketable “products”. I do find that in some cases it is easier to give people a standard, yet relevant “product” as apposed to asking them to “compose” one that will suit them. This should also enable me to start advertising approximate costs on the site, which should make people more inclined to contact us if they have an idea of what the charges could be.

I’m sure that this will be an interesting year for us, especially with the end of mainstream support for Visual Source Safe in sight and Team Foundation Server being the logical upgrade.

So to everybody that may be reading this, I wish you all the best in the new year!!!

See you around! Smile