# Wednesday, July 01, 2009

I’m up really early this morning.  I’m about to head to the airport to spend my Independence Day weekend in the Carolinas for some much needed beach vacation and visit with friends.  Thankfully, I didn’t miss Martin Woodward letting me know that the latest Radio TFS episode was made available just a few moments ago that includes my interview about our use of TFS and Visual Studio Team System at Infragistics.  It’s a longer episode than normal so it’s perfect if you’re going to be spending some time at the beach like me and listen to a fun talk.  We both really enjoyed chatting for this episode so we hope you enjoy it as well!

Using TFS with Ed Blankenship

In this episode we sit down and chat with Ed Blankenship about the use of Team Foundation Server at Infragistics. Ed has had some interesting challenges and experiences in running their TFS instance.  Additionally they have done some fairly advanced integration work which we discuss in detail.  This is a double-length show, so hopefully plenty of stuff to enjoy if you are sunning yourself on a beach somewhere.

Ed is the Release Engineering Manager at Infragistics, makers of the world's leading presentation layer tools and components.  He is also a Microsoft MVP in Visual Studio Team System.

     Play Now: Using TFS with Ed Blankenship

As the Release Engineering Manager, he leads the Release Engineering Department which is responsible for automated builds, creating product installers, packaging source code for customers, source configuration management/version control, metrics, release management, work item tracking, licensing enforcement, and development of internal productivity tools.  The department also is responsible for TFS Operations & Maintenance.

Ed has been a technical editor for the Wrox Silverlight 1.0, Silverlight 2 Developer's Guide, and Silverlight 2 Bible books, author of numerous articles, and has spoken at various user groups, events, and conferences.

Links from the show:

As usual send any feedback to radiotfs@gmail.com.

 

Feel free to let me know if you have any questions based on the Radio TFS chat.  I’m more than happy to get them answered for you!

 

Take care,

Ed B.

posted on Wednesday, July 01, 2009 3:56:42 AM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Wednesday, June 03, 2009

Come join!  Here’s the website and the details.

Website:  http://www.tsug-ve.com/

JUNE EMEA Meeting
Meeting Date: Thursday, June 18th, 2009
Time: 10:00AM PDT/SLT (18:00 UTC)
Location:  Microsoft Island in Second Life

Real World TFS:  Tips for a Successful Team System Implementation

OK, you’ve decided that Visual Studio Team System & Team Foundation Server is going to bring your organization added value (because it will :)) but what do you do now?  This session will cover the 2.5 year successful implementation of VSTS and the experience of that journey at Infragistics, the world’s leading maker of software development tools.  The session intends to cover over each phase of the implementation over all of the affected areas for a smooth adoption:  Version Control, Builds, Work Item Tracking, global deployment, moving multiple teams, training, automated testing, migration from legacy systems, and integration with other systems and TFS.  The goal will be to go through at a high-level what it takes to make you successful by learning from the challenges and obstacles overcome.  We’ll also look to the future with VSTS 2010 and see how strategic planning will help make a successful adoption of the new features in the upcoming 2010 release.  The session is led by a Team System MVP & Champ who has been in the trenches during the whole implementation.

Prerequisites:  A healthy attitude from learning from other’s challenges and a strong desire to make real change at your organization!

 

Take care,

Ed B.

posted on Wednesday, June 03, 2009 3:43:44 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback

I’ll have to admit, the Easy Assist feature is not very discoverable if you have a Live Meeting account but it’s really really really useful!  So imagine you have a coworker or a mother who needs help but they’re not where you’re at.  There are a lot of different ways for people to do remote assistance support but if you have a Live Meeting account there’s another way that I’ve been using:  Easy Assist.  It’s the same app that lots of support professionals at Microsoft Product Support & Services use to help customers remotely.

BTW:  If you’re an MVP, you have received a complimentary Live Meeting account as part of your benefits!

Downloads for End-users who need support

Downloads for Support Agent

Easy Assist Launchpad

So the first thing you should do to help create support sessions quickly as a “support agent” is get the Easy Assist Launchpad installed so it sits in your tray and waits for you.  When you launch it for the first time, it’ll ask you to put in your Live Meeting credentials.  These are the same that you would use when you setup & configure the Live Meeting client. 

image

After you have finished that, the Launchpad will sit in your system tray and has a few options available for you:

image 

I’ve went ahead and chosen “Create Session” and I’m just going to put in something to let my Mom (and I) know this is for her session.

image

After, creating the session you’ll have the option to join the session yourself and also send the invite by e-mail (using your default e-mail application) to the person you’re trying to support.  Look at the URL… you’ll notice it’s very similar to a Live Meeting invite but instead it has the “joinEA?” inside of it.  This is important because this is what makes the end user experience better for the support agent and the person being supported because it will fire off the Easy Assist client instead of the full Live Meeting client.

image

Support Agent Features

Once you’ve fired off the Easy Assist support agent client, you’ll be able to see the other support agents that are attending as well as the person(s) you are trying to support.  You can request that they reboot, share their screen, share your screen, request to control their session, send files, and more.  Support agent screens:

image image

All the end user sees is a small window that’s out of view.  After the session, it even asks the end user if they would like to uninstall the Easy Assist client since it’s not needed anymore!  How nice?!  It even works if the customer has booted in safe mode.  Very handy at times.

CustomerViewEasyAssist    CustomerUninstallEasyAssist

 

You can see how it’s super easy to escalate a support call from a family member, an IM/e-mail from a co-worker, or even setting up a session for you to get help from a support agent who doesn’t have remote assistance provided by their employer.  Hope this is helpful to you!

Ed B.

posted on Wednesday, June 03, 2009 1:00:44 PM (Central Standard Time, UTC-06:00)  #    Comments [1] Trackback
# Sunday, May 31, 2009

This has been out for a little while but wanted to make sure that you knew about it as well!

Our Director of Product Development here at Infragistics, Joe Croney, has been working on a personal side project of creating an iPhone app that will connect to Team Foundation Server.  He’s got a BETA posted in the Apple iTunes store now.  At the moment it only supports checking on Builds but I know he’s starting a backlog.

More screenshots and an FAQ are available at the website:  http://www.tfstogo.com/

clip_image001 clip_image003

Joe is looking for some feedback and any bugs so if you find some feel free to report them at support@tfstogo.com.  Congrats Joe!

FYI:  We’ve found that if you connect over VPN in the iPhone that sometimes a local DNS name isn’t resolved correctly.  You can correct this by putting in the hard-coded IP address of the TFS server instead.

 

Have fun and enjoy!

Ed B.

posted on Sunday, May 31, 2009 1:14:56 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback

It’s been pretty quiet around this blog for quite some time now.  Just been busy traveling to TechEd North America and back to our office in New Jersey.  Lots going on!  However, no one ever has enough time to get everything done :)

I’m going to be a little more demanding on myself to get through my blog topic backlog that I’ve been keeping for a while.  I think I’m up to 19 at the moment so I need to get it flushed out!  I keep a list alongside my To-Do list in OneNote about different topics that I come across that I blog about.  Usually they are from problems that I see day to day that other people probably will want to solve at some point (I always archive the screenshots so I can use them in my blog posts later.)  Other topics that end up on the list are in response to something I’ve done while traveling.  For example, Martin Woodward and I had the chance to record a Radio TFS episode (not yet aired) where we talked about our implementation of Team Foundation Server and Visual Studio Team System at Infragistics.  I think it was a great session and definitely looking forward to it getting out in the wild.  There were a few topics that we talked of stumbles we’ve encountered over the last two years and how we ended up solving them.  The goal for us was to get those out in the public since others may be experiencing the same hurdles and looking for resources on how to solve them.  It’s more along the lines of “hey, here’s our story so you can learn from our mistakes.”  I hope you find them useful.  On this blog, I’ll start talking about some of those points that we brought up in more detail since the radio show has to be reduced to a reasonable amount of time :)  Some of the stuff we talked about was just down-right cool!  More details to come…

 

So, dear reader, I am pledging to you to get through my current blog topic backlog by the end of June.  Let me know if you would like me to write about anything in particular!

 

Take care,

Ed B.

 

P.S.  I cross-post between my Infragistics Blog and my personal blog.  Some posts don’t end up on my Infragistics Blog site so be sure to check http://www.edsquared.com/ from time to time where my long-time colleague Ed Kisinger and I blog.  If you’d like to subscribe to that feed, the RSS address is:  RSS for Posts

posted on Sunday, May 31, 2009 10:24:27 AM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Thursday, April 16, 2009

I had a really good time last night speaking to the Dallas VSTS User Group about the Microsoft Process Template.  If you want more information, I wrote a blog post shortly after the public release of the MPT.  I was really sick last month when I was supposed to speak so I’m really glad I got the opportunity to make it up.

One of the things I really enjoy about the group was the open session time after the scheduled talk to discuss problems people were facing with Team System and the group attempts to come up with possible solutions.  That’s really a great use of time for a specialized user group like this one.

As a fun extra, thankfully the Demo Gods were okay with me and saved this Blue Screen of Death (BSOD) until after I was finished using the VPC during my talk :)  Everyone insisted that I take a screenshot and share with the rest of the world so enjoy!

image

Ed B.

 

P.S. As a side note, the experience whenever your evaluation license runs out in Windows Server 2008 has definitely improved.  It no longer gives you a BSOD.  I was using TFS 2008 SP1 installed in a Windows Server 2003 VPC for my demos.

posted on Thursday, April 16, 2009 1:56:37 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Friday, February 27, 2009

In December, I had the privilege to be the “MVP in Residence” with the Team System product group.  Chuck blogged about the experience at the beginning and end of the week.  I felt really good about the accomplishments at the end of the week.  The main project I worked on was packaging up the Microsoft Process Template (MPT) so that it could used by the public community.  I’m happy to announce that it is live on CodePlex now so feel free to download and use it!

Description

The Microsoft Process Template (MPT) is a Microsoft internal, end-to-end project management solution that maps to the Microsoft product development cycle and works with Visual Studio Team System 2008 (VSTS). The MPT offers an out-of-the-box solution and includes all the work item types (forms), queries, documentation, engineering best practices, and reports required for Microsoft development teams to get up and running on Visual Studio Team System. The Engineering Excellence* and Visual Studio Development teams worked together closely over the last year to create this template by compiling the lessons learned from other teams that have implemented similar templates, incorporating engineering best practices, widely socializing the concepts, and finally piloting this template with several product groups.
*The engineering excellence team is a Microsoft business unit that provides Microsoft business group employees with high-quality technical education, best practices and guidance.

Be sure to check out the Introduction and the Getting Started guides to dive in and get the background information for the process template.  One of the main things that people will notice is that the MPT simulates work item hierarchy through the the use of some daemon services.  There are several ways to simulate hierarchy in TFS 2008 so if you’re looking for a solution the MPT has the services source code and reports created for them.

image

Here is a sample report that uses the hierarchy to rollup the progress by Feature:

image

There are a few known issues with the process template which are listed in the Getting Started guide.  I’ll be sure to keep the guide updated if I hear of any other known issues.

Other MPT Resources

Gregg Boer, Principal Program Manager on the TFS product group, wrote an excellent series of blog posts of how Microsoft uses the MPT internally along with an overview of the process around tracking progress throughout the release.

· How Microsoft/DevDiv uses TFS - Chapter 1 (Our Process)

· How Microsoft/DevDiv uses TFS - Chapter 2 (Feature Crews)

· How Microsoft/DevDiv uses TFS - Chapter 3 (Implementing the Process)

· How Microsoft/DevDiv uses TFS - Chapter 3 (Addendum)

· How Microsoft/DevDiv uses TFS - Chapter 4

· How Microsoft/DevDiv uses TFS - Chapter 5 (Tracking Progress)

· How Microsoft/DevDiv uses TFS - Chapter 6 (Tracking multiple projects)

· How Microsoft/DevDiv uses TFS - Chapter 6 (Addendum)

· How Microsoft/DevDiv uses TFS-Chapter 7 (Tracking Risk)

· How Microsoft/DevDiv uses TFS-Chapter 8 (Tracking Quality Gates)

· How Microsoft/Dev Div uses TFS - Chapter 9 (Transparency in Reporting)

image

Jeff Beehler and Brian Keller also put together a video of how Jeff uses the MPT & TFS to monitor progress of the release cycle. Take a look on Channel 9: http://channel9.msdn.com/posts/briankel/Better-Project-Management-with-Team-Foundation-Server/

 

I really want to thank you to everyone that helped getting it packaged up for the public!  Also, thanks to Chuck for organizing the week, working logistics, and of course giving me a place to stay!

 

Ed B.

posted on Friday, February 27, 2009 3:06:34 PM (Central Standard Time, UTC-06:00)  #    Comments [1] Trackback
# Tuesday, February 17, 2009

I just found out about this group from an MSDN Flash. Check them out; there is a meeting tonight.

Azure User Group Website

The website is home for many Azure User Groups from around the world.

 

Ed K.

posted on Tuesday, February 17, 2009 10:10:41 AM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback

Download here

Overview

The Azure Services Training Kit includes a comprehensive set of technical content including hands-on labs, presentations, and demos that are designed to help you learn how to use the Azure Services Platform. The February release includes the following updates:

  • 19 demo scripts that walkthrough several of the services
  • 10 presentations covering the entire Azure Services Platform
  • 3 additional hands-on labs for Live Services


This technical content covers services including: Windows Azure, .NET Services, SQL Services, and Live Services.

Ed K.

posted on Tuesday, February 17, 2009 9:29:16 AM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Saturday, February 07, 2009

Grant Holliday, former Team System MVP, is now working on the VSTS product group on various things but most importantly helping keep the internal Microsoft TFS servers in tip-top shape.  They have the largest known TFS instances in the world so you could imagine it’s got to be tough keeping it up and running well.  Brian Harry posts their usage metrics regularly if you’d like to get an idea of how HUGE it is.

 

Keeping the performance manageable requires lots of monitoring and looking over the data that gets stored in the activity logging.  Grant has packaged up some of the reports they use internally and provided them to the world.  The download package is available on his blog post.

 

imageimageimageimageclip_image004clip_image002[4]image

 

Personally, I’m really glad that the product group is investing in dogfooding the early builds of the version of TFS that they are working on.  By putting the product under real use and under the load that only Microsoft can generate, we end up with a better product by the time it RTMs.

 

Thanks again for making this available to the world!

 

Ed B.

posted on Saturday, February 07, 2009 12:10:13 AM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Monday, February 02, 2009

Here are some links to get you started learning and developing on the Azure platform.

Azure Services Platform

Azure SDK downloads

Azure training Kit

PDC recorded sessions

Azure sample application (IssueTracker)

MSDN Azure blog

 

Ed K.

posted on Monday, February 02, 2009 4:27:09 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback

Well, I have hit my one year mark of not using tobacco products!! Its been extremely hard but well worth the sacrifice. I will not lie to anyone thinking about quitting....I still have cravings but they are not as bad and they do not last as long. The main thing that got me through the first 6 months was "hard candy" by the truck loads (weight gain was present) and family support. After 6 months I was able to manage cravings with exercise and avoiding stressful situations.

notobacco

 

Ed K.

posted on Monday, February 02, 2009 11:58:38 AM (Central Standard Time, UTC-06:00)  #    Comments [3] Trackback
# Wednesday, October 29, 2008

From those of you that use the Workgroup edition of Team Foundation Server you might have notice that you cannot use the Build Notification Power Tool since you cannot authenticate to TFS.

image

Here is what I have done to work around the noted limitation:

"RunAs" to the rescue:

image

C:\Windows\System32>runas.exe /user:ROSCOE\jbm /netonly "C:\Program Files\Microsoft Team Foundation Server 2008 Power Tools\BuildNotification.exe"


To automate, create yourself a little batch file for startup. Here is a VBS script to automate the entry of the password for RunAs:

dim WshShell,FSO

set WshShell = CreateObject("WScript.Shell")
set WshEnv = WshShell.Environment("Process")

set FSO = CreateObject("Scripting.FileSystemObject")

WshShell.Run("C:\Windows\System32\runas.exe /user:ROSCOE\jbm /netonly" & " {YourInstallPath}\BuildNotification.exe")

Wscript.Sleep 300 ' Wait for window to open

WshShell.AppActivate("C:\Windows\System32\runas.exe")
WshShell.SendKeys "{YourUserPassword}"
WshShell.SendKeys VBCRLF

set WshShell=Nothing
set WshEnv=Nothing
set FSO=Nothing

wscript.quit

[UPDATE]
You can "Connect As" from the GUI; Unfortunately, you will have to do this each time you restart.

TFS

Ed K.

posted on Wednesday, October 29, 2008 8:58:52 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Friday, October 10, 2008

TulsaTechFest 2008

I’ve been in the middle of a lot lately and completely forgot to mention Tulsa TechFest 2008!  This will be my third year speaking and interestingly I have the only Team System talk this year.  If you’re around the area be sure to come by to learn more about automating your build & packaging process using Team System.  I’m going to do my Team Build talk that I did earlier this year at the Dallas VSTS User Group but we won’t go into as much depth since we only have 1.5 hours.  Looks like another great year with almost.  Infragistics has been a proud & regular sponsor of this event and I’m honored to have been invited again!

[Update]

Wanted to be sure I posted my slides and then also made the link to the awesome build lifecycle poster done by our friends in South Africa.  Thanks for keeping me honest!

 

Ed B.

posted on Friday, October 10, 2008 9:57:00 AM (Central Standard Time, UTC-06:00)  #    Comments [2] Trackback
# Thursday, July 10, 2008

I didn't get to read my RSS feeds yet today but I got a hint to go read them and I discovered that Chuck wrote a nice blog post about volunteer work and me.  I guess the cat's out of the bag now :)  Thanks Chuck for the kudos - I really appreciate it.  I'm looking forward to making a really good use of that time.

There are so many people in the development community that spend countless hours of their volunteer time.  Especially in the VSTS community.  People are working volunteering time:

  • developing and supporting open-source projects & tools,
  • speaking at events and conferences (this takes a considerable amount of time to prepare for,)
  • leading local user groups,
  • writing blog posts, technical articles, & books,
  • answering community questions in the MSDN Forums,
  • giving feedback, enhancement requests, & reporting problems of Microsoft products to improve them, and
  • all of the other ways people volunteer time that I can't even begin to think of.

I personally know several people (and more) who really focus on trying to make the entire development community better off with these time & knowledge contributions.  (Infragistics as a company has been really supportive in all of our efforts to help the community.) I hope you get as much out of it as I do from learning from everyone.  Microsoft has done a great job in recognizing those individuals by creating the Most Valuable Professional (MVP) award.  I'm honored to have been awarded this award earlier this year.

I've really not been able to blog as much as I have liked to or participating in the MSDN Forums answering people's questions.  I have focused the volunteer time that I have had in other areas.  I had a really great time at the MVP Summit earlier this year and came back with so many different ideas.  I really love the VSTS MVP & Champs group - truly a great group of professionals!  This brings me to my idea for this year.

I feel like I haven't had time this year to really provide anything meaningful to the community.  So, I want to dedicate a work week and do something meaningful for the VSTS community.  There are plenty of places that we could all use help so I think that would be something meaningful and useful.  I'm planning on doing this time locally in Redmond so that if I need background information on a project, I can get it quickly.  I need to meet with some people about Infragistics stuff and really take some vacation time in that area (since it is so beautiful) so I think it's beneficial to be local during that week.

 

What should I work on?

 

Chuck mentioned a few ideas that we have so far but the one I personally love is being able to release the gigantic amount of work that Microsoft has done with their internal process templates & reports.  Have you seen them?  They are awesome!  Reports are so tricky to do and take a good chunk of time to be done correctly.  The Microsoft internal reports need to be scrubbed for external consumption which is my initial idea for volunteer work.

Or should I work on a productivity tool?

Don't let me taint your opinions though.  What do you want/need that would be valuable for VSTS?  Go to Chuck's blog post and give us suggestions about what you would like to see me work on.  No car washing or details though :) unless it's for a good charity organization then I'll consider it.

 

Ed B.

posted on Thursday, July 10, 2008 12:11:53 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Wednesday, July 09, 2008

So, I came across something pretty interesting when I was making a work item query today that I've wondered for a while.  I can't believe I just came across it today.

OK - Just for some background on what I was trying to do:  I wanted to get a team query made that returned all of the bugs for my team.  The only problem is that our department supports all of our products for mainly builds & installers (among other things) and it causes the Area Paths that we look at to be pretty much all over our TFS server.  Usually you would just want all the bugs for a particular product and you can use the UNDER operator for the Area Path field.  I need to use multiple condition clauses using the UNDER operator.  I knew that the Work Item Query Language (WIQL) had a way for putting parenthesis around the conditionals in the WHERE clause.  (The WIQL syntax is very similar to T-SQL if you haven't ever seen it before.)  For example, here's part of a sample WIQL query that I was going after....

SELECT [System.Id], (Other Fields) FROM WorkItems WHERE [System.WorkItemType] = 'Bug'  AND  [System.State] <> 'Closed'  AND  ([System.AreaPath] UNDER 'NetAdvantage\.NET\Installers'  OR  [System.AreaPath] UNDER 'NetAdvantage\.NET\ASP.NET\Builds'  OR  [System.AreaPath] UNDER 'NetAdvantage\.NET\WinForms\Builds'  OR  [System.AreaPath] UNDER 'NetAdvantage\WPF\Builds'  OR  [System.AreaPath] UNDER 'NetAdvantage\WPF\Installers'  OR  [System.AreaPath] UNDER 'TestAdvantage\QTP\WinForms\Builds'  OR  [System.AreaPath] UNDER 'TestAdvantage\QTP\WinForms\Installers'  OR  [System.AreaPath] UNDER 'TestAdvantage\RFT\WinForms\Builds'  OR  [System.AreaPath] UNDER 'TestAdvantage\RFT\WinForms\Installers')

My problem was - how do I put parenthesis in the query using the Work Item Query Editor? (UI in Visual Studio)

 

However, I remember reading Brian's post yesterday about the new Alerts Editor (which by the way is totally awesome and immediately adds value to the product without waiting for the next major release) and thought, I wonder how they did that in the UI with the alerts XPath queries because I know you can't get very good alerts without the ability to group the XPath query conditionals.  Let me steal an image from Brian's post with a little editing showing off a grouping of condition clauses:

Alert Definition with Grouped Conditions

I thought to myself, hmmmm... that grid looks pretty similar to WIQ Editor grid that exists today in Team Explorer 2008 and started searching everywhere for the "group" tool button (since there is not a toolbar above the grid.)  I found it.  It's in the context menu whenever you select multiple rows.  Seriously, I can't believe I haven't ever seen it before.  I guess I don't usually write very complex work item queries :)

Grouping of Conditions in Work Item Query Editor

 

Have fun writing some useful queries for yourself and your team now!

 

Ed B.

posted on Wednesday, July 09, 2008 8:11:21 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Tuesday, June 17, 2008

Microsoft MVP Horizontal Logo Speaking of Team System, I found out last week that I have been officially inducted into the Team System MVP group.  Earlier this year, I was awarded as an MVP in the Client Application Development competency.  Don't get me wrong, I still love WPF & Silverlight development and will continue to be involved in that community in the future.  I'm even working on finishing up the technical editing of a Silverlight 2 book right this minute. Or actually I'm procrastinating writing blog posts :)

Being part of the Team System MVP group, I'm really joining one of the most awesome groups ever.  I spent all of my time earlier this year at the MVP Summit at all of the Team System sessions and they truly are one of the best product teams at Microsoft.  They truly value our feedback and the Team System MVPs really love and care for the product just as much and want to see it grow by leaps and bounds.  And when I say love and care for the product, you don't even understand! :) This is definitely a good fit and I'm honored to officially join the group.  So when do I get to learn the "secret handshake?"

 

Ed B.

posted on Tuesday, June 17, 2008 7:09:21 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback

Fellow Team System MVP Mike Azocar has announced an awesome new contest to stir up the Team System tools ecoystem.  There are some really cool prizes so far including a free license for Microsoft Visual Studio Team Suite 2008 w/ MSDN Premium Visual Studio Team System Logosubscription and there are more donated prizes coming...  Get the full details at his blog post:  Want to be famous- Enter the Coolest Team System Gadget Contest!

Have you created a useful gadget for Team System? Do you have one in mind? I am looking for the coolest community built tool for VSTS. It can be something for TFS, for Visual Studio, or something that is stand alone. The winner will receive a one year subscription to MSDN with Team Suite!

To enter, submit a screen cast (up to 3 minutes long) which tells everyone why your gadget is the coolest and the source code. All submissions will be released to the public as free source to use and enjoy (with you getting all the credit of course). Videos will also be made available to the public to help make you famous! This should be something new (i.e. not on Codeplex or previously released) and not something repackaged. Submissions accepted up until August 31st 2008. Winner will be announced September 15th 2008.

Judges will be Mike Azocar, Martin Woodward, and I so this is going to be a lot of fun!

 

Ed B.

posted on Tuesday, June 17, 2008 6:46:35 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Thursday, June 12, 2008

I'll be speaking on July 1, 2008 at the Dallas Visual Studio Team System User Group. Starts at 6 PM.  This is going to be a really exciting session for me personally and I love that we have a big block of time to get into some really fun Team Build details.  I think we are meeting at the Notion Solutions office in Irving for the July meeting but I'll double-check and update if there is a change.

 

Here are a few topics that I'll make sure we talk about:

  • New Features for Team Build 2008
  • Fun Stuff around Builds at Infragistics
  • Build Notification Power Tool
  • Building Java applications using Team Build & TeamPrise - (This blows people's minds away)
  • Building Installers using Wix
  • New Changes in TFS 2008 Service Pack 1 for Team Build
  • If time, Extensibility with the Team Build API

Be sure to sign up on the user group website to get updates and the RSVP link whenever it gets sent out.

 

Ed B.

posted on Thursday, June 12, 2008 8:38:52 AM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Monday, June 02, 2008

Our team has been kept extremely busy lately with our new responsibilities.  What does the Release Engineering team do exactly?  Along with creating builds and installers for ALL of our products, we now have responsibility of Team Foundation Server Operations, and the entire development lifecycle of internal productivity tools that we call the "Internal Tools Suite."  So to sum it up, if it has to do with automation or the release process, it's us :)  We need some help (so I can get around to doing some blog posts again haha.)

 

Here's the positions we have open for the department:

 

Come join our team! It's been extremely exciting lately with what we're doing internally at Infragistics.  Contact me if you're interested:  ed AT infragistics DOT com

 

Ed B.

posted on Monday, June 02, 2008 2:52:35 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Wednesday, May 21, 2008

There is a new book about VSX out from Wrox called “Professional Visual Studio Extensibility” and looks pretty promising if you are first starting out to learn add-ins and VSPackages.  It's actually the first one that I've seen get released so I hope it does well.  VSX is a topic that I have a keen interest in.

  • A quick overview of Visual Studio Shell and Domain-Specific Languages Tools
  • Techniques for creating, debugging, testing, and deploying your add-ins
  • Ways to work with user interface elements, Windows Forms, and controls via code in your add-ins
  • Steps for extending Visual Studio functionality using VSPackages
  • Tips for writing and managing code snippets to make your coding process easier
  • Using Visual Studio templates to save time when writing code for common projects
  • How to use MSBuild to write custom builds for Visual Studio and .NET applications
  • New techniques for recording, developing, debugging, deploying, and running macros

 

Ed B.

posted on Wednesday, May 21, 2008 7:57:43 AM (Central Standard Time, UTC-06:00)  #    Comments [1] Trackback
# Friday, April 11, 2008

It's finally available!  Seriously - this CTP has quite a bit of features that they have added and you can start to see that VSTS is and will continue to be a strong if not the best ALM offering.  The new features are added to Head over to Jeff Beehler's blog post to find out more details of what has been added...

I haven't picked a favorite feature just yet :)  The three I just really like the most across the whole offering:

  • New Team Build System based on Windows Workflow Foundation
  • Historical Debugging (this will really help with the Debug and Repro scenarios)
  • Great Test Case Management System

Here's a list of all the new features!

Architecture Edition

  • Exploring the existing code structure
  • Designing process flow as activities
  • Designing user interactions with systems
  • Designing system functionality as components
  • Visualizing and designing types in systems
  • Visualizing and designing interaction sequences in systems

Development Edition

  • Simplify Code Analysis rule selection with rule sets
  • Find and fix a bug using the historical debugger
  • Identify the test impact of code changes
  • Find a bug on a separate machine using the standalone debugger

Database Edition

  • Building and using an off-line representation of your operational database as a “sandbox” development environment.
  • Using Data Generation to custom-build data for testing your database application.
  • Making and unit-testing schema and code changes in an off-line environment.
  • Performing static code analysis of your programmability objects.

Test Edition

  • Planning a testing effort
  • Executing manual test cases
  • Verify the fix
  • Automate a manual test and add validation.

Team Foundation Server

  • Managing an Agile schedule
  • Easier reporting from Excel
  • Managing features with the CMMI Process
  • A new Add Files to Source Control wizard and support for drag and drop from Windows Explorer to Source Control Explorer
  • An enhanced, non-modal conflict resolution experience, integrated into the pending changes tool window
  • A new history view that shows labels applied to a file as well as how changes were merged across branches
  • A new automated build system built on Windows Workflow Foundation, featuring dynamic build machine allocation from a machine pool and distributed build functionality
  • Rollback for a check in (currently only available at the command line)
  • Many Source Control Explorer usability enhancements

Be sure to head to their Connect site with your feedback!

Ed B.

posted on Friday, April 11, 2008 8:00:49 AM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Wednesday, March 19, 2008

 

When creating a transition between states you may want to use a "Server" level security group for the "For" and/or "Not". Taking a first stab at doing this you will probably do as the screen shot below.

image

When you go to validate this you will get the error shown in the screen shot below. You might even bang your head a couple times trying to figure out what the deal is. :) TF26171

image

The correct way to specify a SERVER security group is shown in the screen shot below

image

 

Ed K.

posted on Wednesday, March 19, 2008 7:50:49 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Thursday, March 13, 2008

I'm really excited because the last three days I've been in Redmond, WA attending the TAP briefing for the next version of Visual Studio Team System code named "Rosario."  All I can say is WOW - I'm completely impressed with the work that Microsoft has done and the amount of effort they are making into making the next version of Team System be absolutely awesome.

A lot of big announcements were made and we received a lot of insight into the future.  However, I'm not allowed to say anything just yet about any of it since we were all under a Non-Disclosure Agreement (NDA)  I'm reviewing the latest bits and going to start several blog articles about the multitude of amazing features and as soon as I am able to talk about it I will.  (By the way there are early bits available in the November CTP already that you can download using the Rosario link above!)

It was great meeting with the other VSTS Champs in person and putting faces with names.  Truly a great event and I really got the impression that the VSTS product team members were genuinely interested in how we felt about the product and our opinions about what we were being shown.  That kind of commitment to receiving feedback from real end users really shows in the quality of their product.

All I can say is that I can't wait until we receive the final bits and are using it in production!

 

Ed B.

posted on Thursday, March 13, 2008 9:09:32 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Tuesday, February 19, 2008

Sorry this post is mainly for me again :(

I am building some tools to help manage the complexities that come along with Localizing an enterprise application. I will post the source(s) when I get a chance to clean everything up :)

Neutral and Specific codes for localization

Culture/Language Name
Culture
"" (empty string) Invariant culture
af Afrikaans
af-ZA Afrikaans (South Africa)
sq Albanian
sq-AL Albanian (Albania)
ar Arabic
ar-DZ Arabic (Algeria)
ar-BH Arabic (Bahrain)
ar-EG Arabic (Egypt)
ar-IQ Arabic (Iraq)
ar-JO Arabic (Jordan)
ar-KW Arabic (Kuwait)
ar-LB Arabic (Lebanon)
ar-LY Arabic (Libya)
ar-MA Arabic (Morocco)
ar-OM Arabic (Oman)
ar-QA Arabic (Qatar)
ar-SA Arabic (Saudi Arabia)
ar-SY Arabic (Syria)
ar-TN Arabic (Tunisia)
ar-AE Arabic (U.A.E.)
ar-YE Arabic (Yemen)
hy Armenian
hy-AM Armenian (Armenia)
az Azeri
az-Cyrl-AZ Azeri (Azerbaijan, Cyrillic)
az-Latn-AZ Azeri (Azerbaijan, Latin)
eu Basque
eu-ES Basque (Basque)
be Belarusian
be-BY Belarusian (Belarus)
bg Bulgarian
bg-BG Bulgarian (Bulgaria)
ca Catalan
ca-ES Catalan (Catalan)
zh-HK Chinese (Hong Kong SAR, PRC)
zh-MO Chinese (Macao SAR)
zh-CN Chinese (PRC)
zh-Hans Chinese (Simplified)
zh-SG Chinese (Singapore)
zh-TW Chinese (Taiwan)
zh-Hant Chinese (Traditional)
hr Croatian
hr-HR Croatian (Croatia)
cs Czech
cs-CZ Czech (Czech Republic)
da Danish
da-DK Danish (Denmark)
dv Divehi
dv-MV Divehi (Maldives)
nl Dutch
nl-BE Dutch (Belgium)
nl-NL Dutch (Netherlands)
en English
en-AU English (Australia)
en-BZ English (Belize)
en-CA English (Canada)
en-029 English (Caribbean)
en-IE English (Ireland)
en-JM English (Jamaica)
en-NZ English (New Zealand)
en-PH English (Philippines)
en-ZA English (South Africa
en-TT English (Trinidad and Tobago)
en-GB English (United Kingdom)
en-US English (United States)
en-ZW English (Zimbabwe)
et Estonian
et-EE Estonian (Estonia)
fo Faroese
fo-FO Faroese (Faroe Islands)
fa Farsi
fa-IR Farsi (Iran)
fi Finnish
fi-FI Finnish (Finland)
fr French
fr-BE French (Belgium)
fr-CA French (Canada)
fr-FR French (France)
fr-LU French (Luxembourg)
fr-MC French (Monaco)
fr-CH French (Switzerland)
gl Galician
gl-ES Galician (Spain)
ka Georgian
ka-GE Georgian (Georgia)
de German
de-AT German (Austria)
de-DE German (Germany)
de-LI German (Liechtenstein)
de-LU German (Luxembourg)
de-CH German (Switzerland)
el Greek
el-GR Greek (Greece)
gu Gujarati
gu-IN Gujarati (India)
he Hebrew
he-IL Hebrew (Israel)
hi Hindi
hi-IN Hindi (India)
hu Hungarian
hu-HU Hungarian (Hungary)
is Icelandic
is-IS Icelandic (Iceland)
id Indonesian
id-ID Indonesian (Indonesia)
it Italian
it-IT Italian (Italy)
it-CH Italian (Switzerland)
ja Japanese
ja-JP Japanese (Japan)
kn Kannada
kn-IN Kannada (India)
kk Kazakh
kk-KZ Kazakh (Kazakhstan)
kok Konkani
kok-IN Konkani (India)
ko Korean
ko-KR Korean (Korea)
ky Kyrgyz
ky-KG Kyrgyz (Kyrgyzstan)
lv Latvian
lv-LV Latvian (Latvia)
lt Lithuanian
lt-LT Lithuanian (Lithuania)
mk Macedonian
mk-MK Macedonian (Macedonia, FYROM)
ms Malay
ms-BN Malay (Brunei Darussalam)
ms-MY Malay (Malaysia)
mr Marathi
mr-IN Marathi (India)
mn Mongolian
mn-MN Mongolian (Mongolia)
no Norwegian
nb-NO Norwegian (Bokmål, Norway)
nn-NO Norwegian (Nynorsk, Norway)
pl Polish
pl-PL Polish (Poland)
pt Portuguese
pt-BR Portuguese (Brazil)
pt-PT Portuguese (Portugal)
pa Punjabi
pa-IN Punjabi (India)
ro Romanian
ro-RO Romanian (Romania)
ru Russian
ru-RU Russian (Russia)
sa Sanskrit
sa-IN Sanskrit (India)
sr-Cyrl-CS Serbian (Serbia, Cyrillic)
sr-Latn-CS Serbian (Serbia, Latin)
sk Slovak
sk-SK Slovak (Slovakia)
sl Slovenian
sl-SI Slovenian (Slovenia)
es Spanish
es-AR Spanish (Argentina)
es-BO Spanish (Bolivia)
es-CL Spanish (Chile)
es-CO Spanish (Colombia)
es-CR Spanish (Costa Rica)
es-DO Spanish (Dominican Republic)
es-EC Spanish (Ecuador)
es-SV Spanish (El Salvador)
es-GT Spanish (Guatemala)
es-HN Spanish (Honduras)
es-MX Spanish (Mexico)
es-NI Spanish (Nicaragua)
es-PA Spanish (Panama)
es-PY Spanish (Paraguay)
es-PE Spanish (Peru)
es-PR Spanish (Puerto Rico)
es-ES Spanish (Spain)
es-ES_tradnl Spanish (Spain, Traditional Sort)
es-UY Spanish (Uruguay)
es-VE Spanish (Venezuela)
sw Swahili
sw-KE Swahili (Kenya)
sv Swedish
sv-FI Swedish (Finland)
sv-SE Swedish (Sweden)
syr Syriac
syr-SY Syriac (Syria)
ta Tamil
ta-IN Tamil (India)
tt Tatar
tt-RU Tatar (Russia)
te Telugu
te-IN Telugu (India)
th Thai
th-TH Thai (Thailand)
tr Turkish
tr-TR Turkish (Turkey)
uk Ukrainian
uk-UA Ukrainian (Ukraine)
ur Urdu
ur-PK Urdu (Pakistan)
uz Uzbek
uz-Cyrl-UZ Uzbek (Uzbekistan, Cyrillic)
uz-Latn-UZ Uzbek (Uzbekistan, Latin)
vi Vietnamese
vi-VN Vietnamese (Vietnam)

 

Ed K.

posted on Tuesday, February 19, 2008 9:56:14 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Friday, February 15, 2008

So here at Infragistics we're truly a global company now which makes life as a TFS Administrator very "interesting" for sure!  Everyone is working around the clock and things can go wrong pretty much 24-7.  Oh well - I'm used to it already :)

 

If you didn't know, last week Microsoft announced that all of the localized versions of Team System Web Access (TSWA) had been finished and available for download.  This was great because we needed a couple of them for internal use. The only problem I found was that you can't install more than one version of TSWA on the same machine.  That's no fun :(

clip_image002

Thankfully Hakan came to my rescue and gave me a few steps to try and they definitely worked out for me.  I did everything on a separate virtual machine, gathered all of the files I needed, and then copied them to the TSWA web server. 

Disclaimer:  If you're going to follow the steps be mindful that this is completely unsupported by Microsoft.

  1. Install <localized version>
  2. Copy the files to C:\TSWA\<localized version code>
  3. Uninstall <localized version>
  4. (Repeat for all languages)
  5. Manually create web sites in IIS to point to each of the different languages
    • Make sure each TSWA instance uses a different IIS AppPool
    • Make sure each TSWA instance points to a different cachedir

 

There you go!  Also, it might be helpful to use host headers to help users out with discovering their localized versions of TSWA.  This allows you to use port 80 as well instead of the usual default of 8090.  For example:

  • English - tfsweb.[your domain]
  • Japanese - tfsweb-jp.[your domain]
  • German - tfsweb-de.[your domain]
  • etc.

 

Ed B.

posted on Friday, February 15, 2008 12:44:16 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Thursday, February 14, 2008

It's available now on MSDN Subscriber Downloads.  It's only available on the front of the Subscriptions site for right now.  It may not show up immediately so you might want to log off of your Windows Live ID and log back in while you're on the same page.

image

 

Ed B.

posted on Thursday, February 14, 2008 8:12:26 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback

Brian Harry on eScrum TFS 2008 compatibility.

eScrum and TFS 2008

*Sorry folks this blog post is mainly a book mark for me so I can google my brain later.

Ed K.

posted on Thursday, February 14, 2008 9:40:56 AM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Thursday, January 03, 2008

I was just reminded this morning by an old colleague that Ed K. and I have been slacking tremendously since we haven't had any blog posts since November :)  I want to wish everyone a happy new year and share some news.  Last week, I moved back to Dallas and will be working remotely from home.  It's new for me so I'm still trying to get into the groove of things.  Scott Hanselman's latest posts about being a remote worker have been extremely interesting to me.

It's been a little hectic in the last few weeks.  I needed to wrap a few things up before I went on vacation at the office.  Also, we had our final NJ .NET User's Group meeting for the year which turned out to be terrific.  Since it's a new year, we also had announced a new leader - Jess Chadwick.  It has been a privilege to serve as a leader of the group for 2007.   I really want to thank Jess, Tony, Ambrose, Kathleen, and Peter for the help during the year in leading the group.  I'm looking forward to rejoining the Dallas .NET community and also the newly formed Dallas VSTS Users Group (How exciting!)

From there, there was:  packing, cleaning, movers picking up, cleaning, driving, getting the new place, movers dropping off, unpacking, getting new furniture, setting up the new office, having out-of-town guests, whew... and getting ready to host a party!

After waking up from a very long but extremely fun night on New Year's Eve (which ended up being my housewarming party as well since all of my friends were in town,) I was surprised to find an e-mail in my inbox:

Congratulations! We are pleased to present you with the 2008 Microsoft® MVP Award!MVP_FullColor_ForScreen

Oh I was/still am pretty excited! :)  It's exciting to be working at Infragistics for many reasons.  They have been the most supportive company that I have worked for when it comes to being involved in the developer community which is one of the primary reasons I came aboard a year ago.  Describing Infragistics as "community-friendly" would be putting it mildly!  There's a total of SEVEN MVPs now at Infragistics which is a testament to the quality of people that I have the privilege to work with every day.  We really do have the best people in every department around the company.

There are so many people who really have been extremely helpful to me.  I want to specifically thank Ambrose for his mentorship as my coach for the majority of 2007.  He has been very influential in my career and cared about my professional growth.  Thank you!  So many people deserve Kudos:  Ed K., Jess, Tony, Jason B., Peter, Grant, Kathleen, Devin, Josh, Tim, Caleb, Omar, Fraser, Jason T., Chuck, Mel

I'm still working on getting my profile to get it all set up with my information so for now it's a work in progress:  My MVP Profile

All in all, I'm looking forward to the new year and what exciting things are in store both at Infragistics and with my continued involvement with the developer community.  It's going to be an awesome year!

 

Ed B.

posted on Thursday, January 03, 2008 11:27:21 AM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Monday, November 12, 2007

If you happen to use Dotfuscator by PreEmptive Solutions then you have probably wondered how to integrate this into your automated Team Builds.  They happen to include an MSBuild task for calling the proper command-line functions but don't have much documentation about this feature.

Background Obfuscation Information:  In general, obfuscation prevents reverse engineering of your software by using different techniques to make the MSIL of your .NET compiled application less understandable.  Several different companies use many techniques for doing this including: string encryption, renaming of symbols, control flow manipulation, etc.  If you've ever used Reflector for .NET you know how easy it is to look at reverse-engineered "source code" for a .NET application.

  • Start by putting your Dotfuscator configuration file in the folder that contains your team build script (i.e. TFSBuild.proj) and it to source control.
  • Open up your team build script and edit it.  (Be sure to check it out first.)
    • Start by adding a reference to the proper custom targets file that is provided.  You should have a Dotfuscator Build Machine license installed on the TFS Build Server(s.)  If you got the wrong license version, just ask them for upgrade pricing.

      <Import Project="$(MSBuildExtensionsPath)\PreEmptive\Dotfuscator\4.0\PreEmptive.Dotfuscator.Targets" />

 

    • Next, add a section for the Dotfuscator Properties you will need.  You'll notice we have a keys directory that gets pulled down from source control during the build process.  We keep our strong name key in this direcotry and the keydir directory property is for resigning the assemblies after the obfuscation is complete.

        <!-- Properties for Dotfuscate Task-->
        <
      PropertyGroup
      >
          <
      ConfigPath>$(SolutionRoot)\..\BuildType\Dotfuscator.Configuration.xml</ConfigPath
      >
          <
      InputPath>$(SolutionRoot)\..\Binaries\Release</InputPath
      >
        </
      PropertyGroup
      >
        <
      PropertyGroup
      >
          <
      DotfuscatorProperties
      >
            <
      targetdir>$(InputPath)</targetdir
      >
            <
      keydir>$(SolutionRoot)\Keys</keydir
      >
          </
      DotfuscatorProperties
      >
        </
      PropertyGroup
      >
        <
      ItemGroup
      >
          <
      InputAssembly Include="$(InputPath)\*.dll;$(InputPath)\*.exe" Exclude="$(InputPath)\*.vshost.exe"
      />
        </
      ItemGroup
      >  

 

    • Finally, customize the AfterCompile target by adding the Dotfuscate task with appropriate property settings.  See more information about Customizable Team Foundation Build Targets.

        <Target Name="AfterCompile">
          <!--
      Perform obfuscation steps after assemblies are compiled.
      -->
          <
      Dotfuscate InputAssemblies="@(InputAssembly)" Properties="$(DotfuscatorProperties)" ConfigPath="$(ConfigPath)"
      >
            <
      Output TaskParameter="MappingFile" ItemName="DotfuscatorMappingFile"
      />
            <
      Output TaskParameter="ReportFiles" ItemName="DotfuscatorReportFiles"
      />
            <
      Output TaskParameter="OutputAssemblies" ItemName="DotfuscatedAssemblies"
      />
            <
      Output TaskParameter="SatelliteAssemblies" ItemName="DotfuscatedSatelliteAssemblies"
      />
            <
      Output TaskParameter="DebugSymbols" ItemName="DotfuscatedDebugSymbols"
      />
          </
      Dotfuscate
      >
        </Target
      >
  • Next, take some time to edit your Dotfuscator configuration file.  Notice the properties I am using in my sample project below and what is being set in the Dotfuscator properties collection in the Team Build script above.  Basically, I have just cleared the property values out to make sure that the MSBuild task populates them correctly.

    <?xml version="1.0" encoding="utf-8" standalone="no"?>
    <!
    DOCTYPE dotfuscator SYSTEM"http://www.preemptive.com/dotfuscator/dtd/dotfuscator_v2.1.dtd"
    >
    <
    dotfuscator version="2.1"
    >
      <!--
    This is application generated code. Do not edit manually.
    -->
      <
    propertylist
    >
        <
    property name="targetdir" value=""
    />
        <
    property name="keydir" value=""
    />
      </
    propertylist
    >
      <
    global
    >
        <
    option>verbose</option
    >
      </
    global
    >
      <
    input
    >
        <
    asmlist
    >
          <
    inputassembly
    >
            <
    option>library</option
    >
            <
    file dir="${targetdir}" name="Shared.Library.dll"
    />
          </
    inputassembly
    >
        </asmlist>
      </
    input
    >
      <
    output
    >
        <
    file dir="${targetdir}\Dotfuscated"
    />
      </
    output
    >
      <
    tempdir
    >
        <
    file dir="${targetdir}\Dotfuscated"
    />
      </
    tempdir
    >
      <
    renaming
    >
        <!--
    <mapping>
          <mapoutput overwrite="false">
            <file dir="${targetdir}\Dotfuscated" name="DotfuscatorMapFile-KeepSecure.xml" />
          </mapoutput>
        </mapping>
    -->
      </
    renaming
    >
      <
    controlflow level="high"
    />
      <
    stringencrypt
    >
        <
    includelist
    >
          <
    assembly
    >
            <
    file dir="${targetdir}" name="Shared.Library.dll"
    />
          </
    assembly
    >
        
    </includelist>
      </
    stringencrypt
    >
      <
    signing
    >
        <
    resign
    >
          <
    option>dontuseattributes</option
    >
          <
    key
    >
            <
    file dir="${keydir}" name="StrongName.key"
    />
          </
    key
    >
        </
    resign
    >
      </
    signing
    >
    </
    dotfuscator>
     
  • That's it.  Finally, just customize it to your heart's content!

 

Feel free to let me know if I can improve this in any way!  I'm always looking to efficiently refactor our Team Build scripts.

 

Ed B.

posted on Monday, November 12, 2007 10:17:54 PM (Central Standard Time, UTC-06:00)  #    Comments [2] Trackback

I'm excited to announce that we have finally released a free tool to help you visualize resource usage in your WPF applications.  Kudos to the team on a job well done!

Pistachio helps you by:

  • Seeing what resources are being used.
  • Finding unused resources.
  • Displaying the types of resources being used.
  • Filtering, Sorting, etc.
  • Cool Visualizations of Usage

If you were at either of my talks at Boston ReMix or Tulsa Tech Fest you got a pre-release preview but now it's all ready for you to use!  Please let us know if you have any suggestions or problems while using.  There are several more features being planned so let us know what's important to you.

DOWNLOAD HERE:  Pistachio - WPF Resource Visualizer

 

Ed B.

posted on Monday, November 12, 2007 4:26:20 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Thursday, November 01, 2007

Ever since I started at Infragistics, I had been working in the User Experience Group (under the Evangelism umbrella) primarily with WPF & WinForms.  As some of you know, I wasn't too fond with WPF at the beginning :) but now I love it.  [Shameless Plug:  Have you checked out Tangerine?  See my blog post about it.]

I have taken a new position now as what is usually referred to as the Configuration Manager (HR Title:  Configuration and Process Improvement Engineer.)

As some of you know, I have been working with Team Foundation Server since pre-beginning (is that a word?) like during the Betas.  [Strolls down memory lane... Anyone remember the Beta 2 to Beta 3 upgrade? whew... Ed K. remembers that day with the 3-hour phone call from the TFS Product Team.  Those were the days. I got a cool TFS All Stars shirt from it though!]  I digress.  Infragistics has decided to adopt TFS and planning to migrate pretty much all of our separate systems to it.  So, that's what I'm doing now in the Engineering department!  Although I'll be missing doing WPF and Evangelism work, I'm pretty excited about getting to do TFS stuff full-time.

If you were at Grant and I's talk at Boston ReMix or my talk at Tulsa Tech Fest, you got the preview of a community WPF application that we're working on to gather data from TFS and replace our Release Status Wall.  It's basically an application to visualize your release process.  As soon as we get something ready to preview, I'll definitely post up on here.  So I get to put my love of both WPF and TFS together!  Grant's a God-send when it comes to making applications look great. I'm really blessed to be working for a company that has a dedicated Visual Design team... We have 5 dedicated Visual Designers now... wow.

Another one of my goals with our new system of tracking development data is to provide more transparency to our customers in regard to feature tracking, bugs, etc.  I think it's important (as a previous customer) to be able to have that kind of transparency.  I'm thinking something along the line of Microsoft's Connect website.

So I look forward to being able to talk more about TFS and coming out with some exciting tools and information.  Don't worry, I still do WPF development too so you'll still see me from time to time blogging about it and speaking.  I just finished up a WPF magazine article yesterday even :)

 

BTW... I'll be in DevConnections next week in Las Vegas doing some WPF Evangelism stuff so be sure to hit me up if you'll be in town!

 

Ed B.

posted on Thursday, November 01, 2007 2:30:06 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Wednesday, October 31, 2007

I don't know how I ever missed it but I was shocked to find that I could not restrict users from branching and merging in TFS Version Control.  Ahhhhhh!!!!

The only security privileges (for Version Control) that are available are:

  • Read
  • Check out (branching, merging, and other similar pending changes fall into this category)
  • Check in
  • Label
  • Lock
  • Revise other users' changes
  • Unlock other users' changes
  • Administer labels
  • Manipulate security settings
  • Check in other users' changes

If you want more information about the specifics for Version Control privileges, check out MSDN at:  http://msdn2.microsoft.com/en-us/library/ms252587(VS.80).aspx

If you are facing this same issue and believe that it should be a feature in the product, help out by voting on the feature suggestion on Visual Studio Connect:  https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=307874

 

Ed B.

posted on Wednesday, October 31, 2007 5:00:49 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Saturday, October 13, 2007

So there is a huge problem with uninstalling the TFS Power Tools if you have them installed on Windows Vista.  This becomes particularly a problem when you want to upgrade the TFS Power Tools (which I was trying to do to the version just released a few weeks ago.)

If you try to uninstall the regular way, you get all sorts of errors like:

Error 1722. There is a problem with this windows Installer package. A program run as part of the setup did not finish as expected. Contact your...

Seriously - it sucks.  I even got fed up and finally decided to rebuild my machine at work (this particular uninstall experience wasn't the only reason for rebuilding my work laptop but definitely was the tipping point!) :)

Anyhow, just to save you a lot of problems, open up a command prompt as an Administrator and run:

msiexec /x {C802488F-CB5F-48BE-BBD2-0C0F9E290E63}

Click "Yes" to the next prompt and you should have a clean uninstall!

 

Ed B.

posted on Saturday, October 13, 2007 2:03:33 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Friday, October 05, 2007

VS 2008 has added a new feature called Code Metrics (CM). Code Metrics is a way to produce actionable information on a project or solution. When you generate CM on your code it produces such things as Maintainability Index, Cyclomatic Complexity, Class Coupling, Inheritance depth and lines of code.

Here is a brief description of each:
Cyclomatic Complexity: How many paths of execution are in your code. i.e. Enter a Method, That's 1, Hit an If, That's 2, Hit an Else, That's 3. This has a Cyclomatic complexity of 3. Here is more robust definition.
Class Coupling: Indicates how many other classes relate to this class
Inheritance depth: The level of inheritance
Lines of code: Self explanatory, everyone's favorite
Maintainability Index: An aggregate of the above metrics.

Each of these are shown at the assembly level then it allows you to drill down to the namespace, class and method level.

Why is this so cool? Being able to produce and show these metrics allows you to better manage existing code and produce more manageable new code, which in turn pushes you and your team to code to better standards. These metrics are actionable, meaning they enable you to do something with your code by visually displaying the information and giving you the ability to actually assign a work item right from the Code Metrics result window and attach the information to it as well. 

This is only one tool in the suite of tools within VS 2008 that will enable and guide you to produce better, more secure and performant code. Harness the power of them all!

The Code Metrics result window; user adding a work item based off metrics:
image

 

Work item created from Metrics. Notice the how the work item has all the information attached via the "History" tab.
image

 

Ed K.

posted on Friday, October 05, 2007 7:47:40 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Thursday, September 27, 2007

If you're using Windows SharePoint Services (which is installed with Team Foundation Server) or SharePoint Portal Server, you don't get to see the file icons for the files with Office 2007 extensions (i.e. docx, xlsx, pptx, etc.)

I'm not sure if they have updated it in the 2007 version of SharePoint Portal Server, WSS 3.0, or in TFS 2008.  If you happen to know, contact me and let me know and I'll update it here.

Anyhow, have you ever wondered how to add new file extensions with associated icons into SharePoint?  Check out the blog site that Alexander Groß manages and he has just how to do it!  It's something that has bothered me enough already and I'm ready to get it resolved!

How To:  http://www.therightstuff.de/2006/12/16/Office+2007+File+Icons+For+Windows+SharePoint+Services+20+And+SharePoint+Portal+Server+2003.aspx

Office 2007 sample documents with icons in SharePoint

Ed B.

posted on Thursday, September 27, 2007 11:47:19 AM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Tuesday, September 25, 2007

I recently gave a presentation @ Microsoft on Visual Studio 2008 Team System to a crowd of about 40. The presentation was an all day event where we discussed existing and new features to Team System 2008.

 

Slide Deck:   Tech Briefing.rar (3.41 MB)   
Presenters:   Ed Kisinger, Sogeti  Topic: Architect/Developer 
                   Tony Mocella, Sogeti Topic: Project Management
                   Brent Lintz, Sogeti Topic: Build/Version Control

 

Ed K.

posted on Tuesday, September 25, 2007 8:13:08 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback