# 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