Blog Home  Home Feed your aggregator (RSS 2.0)  
.Net Jonesie - Monday, May 01, 2006
A simple programmers blog
 
# Monday, May 01, 2006

Here's the code for the tasks from my Team Build pressie at Code Camp.  JonesieMSBuildTasks.zip (7.64 KB)

There's 4 custom tasks in the zip.

  • CreateVDir: Create a Virtual Directory in IIS.
  • ModifyXMLNode: Modify an element or attribute in an XML (.config) file.
  • AddListItem: Add an item to a sharepoint list.
  • ExecuteSQL: Execute some SQL.

If you find any bugs or make some enhancements then please send then to me and I'll incorporate the changes for all.

And here's the references from the slide deck.

TS Home:   http://tinyurl.com/n5zf5
TN_1600:   http://tinyurl.com/mxqpj  The TechNote detailing how to alter you SLN files.
TF Blog:   http://tinyurl.com/ryp52
MSBuild Blog:  http://tinyurl.com/pv9z9
ScottGu:   http://tinyurl.com/syjcw 
Forums:   http://tinyurl.com/n8shm

Monday, May 01, 2006 3:51:00 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   NZ .Net User Group | Team System  | 
# Saturday, April 29, 2006
Doh! DNN Template by peter@jonesie.net.nz
I've had several attempts at creating a new DotNetNuke web site on my local machine.  Thoughtfully, DNN 4 comes with a template project for doing this but for the life of me I couldn't find it when I created a new Web Project.  I spent hours trying to find a solution to what I thought was a broken Visual Studio installation and today I was going to re-install VS to fix the problem.
 
We'll this morning I had a brain wave (to make up fo the brain farts) and realised that DNN is a VB project so now when select Visual Basic in the new web site dialog I can see the DNN project template and it works.
 
Double Doh!  I seem to be able to think straighter lately.... a bit.
 
Saturday, April 29, 2006 8:42:45 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   Visual Studio  | 
# Thursday, April 27, 2006
I was tired of my old Dilbert desktop today so went searching for a snazzy new image.  In the process I found a blog post to few sites with some lovely images that work well on dual monitors.  I remembered that UltraMon allows you to span an image across two monitors or have different images on each.  I downloaded and installed it and now I wish I had tried it out a long time ago.  If you have dual monitors you must get UltraMon.
 
One of the sites I browsed tells me that IE Sux and I should use FireFox.  There is no way of browsing the site at all with IE.  To the the owner of http://www.guikit.com I'd like to say that if you believe that 75% of the world is wrong then go ahead and block your site, I don't give a rats.  Everyone is entitled to thier opinion and you may well be correct but it's like saying that people who drive on the right hand side of the road are wrong and I'm going to drive on the left no matter where in the world I drive.
 
Then I discovered the brilliantly named site http://www.killbillsbrowser.com.  How f'ing ridiculous can you get?  OMG, get a life.  What about all the corporate users who don't have a choice?  I've seen this sort of campaign before - from OS/2 users, from BetaMax fans .  Didn't work then, won't work now.  FireFox is a great browser and IE 6 does have it's problems (to put it mildly :) but this sort of religious clap trap doesn't make anyone want to change.  Just get over it!
 
Phew.  That feels better.
Thursday, April 27, 2006 2:19:27 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [1]   General  | 
# Wednesday, April 26, 2006
A few people have had some negative things to say about Microsoft Live & Vista of late.  While I'm certainly no expert on either of these I'd just like to offer my observations.
 
Live is a google killer.  From what I have seen so far, and from past experience, Microsoft will have a superior product based on one thing: Integration.  No one does integration as well as Microsoft.  Google is currently all over the place.  Some things looks the same, some things work the same, but in general it's 'messy' :}
 
Sure, Live is very messy also but it's not even v1 yet.  When the integration with Vista is working and Live is more Live, I think people might be less harsh.
 
HOWEVER, I don't like Live either and its not becuase it's buggy or evil, but becuase I've seen web portals before and adding a splash of Ajax is not going to spin my wheels.  PORTALS JUST DON'T WORK.  This whole Web 2.0 Mashup BS is just that - complete marking hype.  Give it a year or two and we won't be any further ahead than we are now.
 
I beleive that Microsoft have a grander vision than Live and I think it is this:  "The web does not work.  Smart client applications are where it is at.  Let's create a medium that will leverage both platforms and drive people back to Windows - but with an open implementation that will encourage development and adoption". 
 
If I had my way I'd make HTML & JavaScript illegal.  Sure it has it's place but everything in Web 2.0 is just a catchup to what Smart Client apps (or whatever you want to call them) have been doing for years.
 
As for Vista, that's a different story.  Most people haven't seen the real power of Vista yet - and it's not anything you can see through the glass UI.  The best parts of Vista are under the hood.  I remember a lot of similar statements about XP 3 (?) years ago but look at it today - it's the domenant desktop UI by a huge margin.
 
I may be completely wrong on all of this - I often am - but one thing is certain - we love change.  Sooner or later we will embrace it in one form or another.

Wednesday, April 26, 2006 4:43:21 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General  | 
As you've probably seen elsewhere our Code Camp is done for 2006 and yes, it was a great success. I've been collating the eval sheets and we got a very high average score on presentations, speakers & venue.  I think the only thing really missed was some sort of social event.  You can bet that it will be on the agenda for the next Code Camp, but this year there just wasn't time to do everything.
 
When we started the initial planning for Code Camp, I estimated that 80 people would be a good size audience.  In the end we had 150 registrations and of these about 20 no-shows.  For most of Saturday there was in excess of 110 people in the main room.
 
Some people would like to have another Code Camp this year, but it's taken me three days of rest to regain some level of equilibrium so I'm not yet ready to think about that. 
 
While I didn't have a lot of time to sit and absorb the presentations the highlights for me:
 
Rod, Chris and Mauricio's Business Forum
They had some great tips and background info for budding entrepreneurs.  If I was younger and riskier I would be very inspired to have a go.  Sadly, I'm too old and stayed in my ways for that sort of malarky.
 
Ivan on WPF
Ivan was a great presenter and gave a good overview of WPF with plenty of wizzie demos.  I'm sure Kirk will be calling on him again to present.
 
Tim on Ajax
I think this was Tim's biggest audience but despite a few nerves he did a great demo of Ajax & Anthem.  He made me wish I was doing web stuff. 
 
And all the other presenters were great too - but some required more brain cells than I had to spare over the weekend.  That's the big problem with running these type of events - you miss out on most of the good stuff.  Oh well, maybe next year.
 
Wednesday, April 26, 2006 4:25:20 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General  | 
# Thursday, April 20, 2006
This is my favourite report from Team System.
 
 
Can you see when I started to get some help with the project?
Thursday, April 20, 2006 7:50:11 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   Team System  | 
# Monday, April 17, 2006
Code Camper's are Go! by peter@jonesie.net.nz
5 Days till Code Camp!  I can't wait.
 
When I first thought about organising a community lead developer-only event I realised it would be a lot of work and I wasn't wrong.  However, it's been a lot more work for everyone else than me.  So before things get crazy, I'd just like to publically thank The Team - Kirk, Sue, Brenda, Tim, Chris, Nic, Phil, all the presenters and everyone else who contributed some time or ideas to this project.  Now we just need to make the event happen.  See you all soon.
 
Monday, April 17, 2006 8:26:21 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General  | 
I was just catching up on my long overdue blog reading and saw on ScottGu's blog that MS have released the source for all (?) the ASP.Net 2 providers.  This is awesome!  If you want to create your own providers then this will be a fantastic resource to help you do it 'The Microsoft Way'.
 
It would be great if they extended this philosophy to more of the Framework.  Borland used to do this with the Delphi VCL.  I never actually used any of the VCL code but on occasion it was necessary to delve into it to figure out why something worked the way it did.  Usually this was because of some strange control behavior rather than a core runtime feature.  Microsoft do have shared source agreements on other products - most notably Windows (2K & 2K3?) and Rotor but you have to jump through flaming hoops to get it. 
 
Publicly releasing the code for ALL the ASP.Net and WinForms controls would not provide any competitors with an advantage.  There are plenty of public licenses around that would protect Microsoft from litigation or MS Legal could come up with something in their spare time.  It would not encourage many developers to copy and enhance the standard controls.  It would, however, provide a wealth of knowledge to developers that would allow them to understand why the .Net World is round and not flat. 
 
Clearly, the Open Source movement has had some effect on Microsoft.  Over the last few years - in fact ever since Steve Ballmer took over - Microsoft have been much more open - and not just in the source code kind of way.  I'm sure this debate has not ever gone away and I'm also sure they are constantly being asked the same question but I've never heard a reason from Microsoft that explains why they cannot open source more products.  I'm guessing many at Microsoft are also thinking the same thing.
Monday, April 17, 2006 8:08:34 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General  | 
# Tuesday, April 11, 2006
I've had enough.  Time for a rant.
 
Why is our state television broadcaster being allowed to waste money on digital television?  Do they really think this will improve the quality of anything but the signal?  Digital crap is about as usful as Analog crap.  Before I shell out good money for a decoder I'd want to know that the quality of the programming was similarly upgraded and the advertising considerably reduced.
 
Best theory: Kill your TV - or at least, kill your antenna.
 
And what about the price of new TV's here?  How can anyone justify spending $5k on a wide screen plasma or lcd TV?  It's such a con.  Wake up people - vote with your wallets.  Better yet, get outside and enjoy life while you can - before Bush kills us all.
 
Ok, sorry, bad morning, back to work.
Tuesday, April 11, 2006 9:15:28 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [1]   General  | 
# Wednesday, April 05, 2006
MVP's Awarded by peter@jonesie.net.nz
ASP.Net Guru and mate Tim has just been awarded an MVP.  Well done Tim, you thoroughly deserve it.  Oh yes, I was also re-awarded this year, for which I am extremely grateful because next March the Global MVP Summit will be keynoted by the man himself - Bill Gates. Steve Ballmer did last years so it will be great to see the 'other' half of the dynamic duo!  Hopefully, you'll be able to make it Tim.
Wednesday, April 05, 2006 7:17:52 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General  | 
# Monday, March 20, 2006
It's been a long time coming but Team Foundation Server has finally shipped.  I'd just like to say a big Thank You to the team at Microsoft for a job well done.  Your stellar efforts have resulted in an outstanding product that can only get better.  The amount of support from 3rd parties and the community is a great vote of confidence in the product and I'm sure we will be seeing some very interesting improvements and additions in the next version - which will ship next month, right? :}
Monday, March 20, 2006 8:49:38 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [1]   Team System  | 
# Wednesday, March 15, 2006
I spent a couple of hours in Wellington and Auckland this week with Michael Leworthy - ex(?) TFS PM and Australian larrikin - and Jeremy Boyd - RD & Kiwi larrikin - doing a real-short presentation to the Architects Forum on my experience with Team System.  Along the way Michael presented a few tid-bits of news and some nifty things you can do with TFS.
  • Launch of Team System is March 16 in the US.  RTM will follow very shortly after this.  Michael wouldn't give us a date - even off the record - but I'm guessing you can start looking for a download about the end of next week.
  • In April (I think) there will be a truck load of training material for TS released on the web site - 150 videos, labs, white papers etc. 
  • In June, at TechEd US they will release the timeline for TS 2 and also the way that future version of the individual roles of Team Suite will be release.  Currently all edition are released together but this may change.  There's also some other big announcement scheduled at the same time but again, Michael could not be bribed or threatened into revealing the details of this.
  • They are looking at producing new roles such as an edition for DBA's and database designers.
  • Michael did a nifty demo of using Workflow Foundation to trigger some Team Build activities.  It's quite trivial to hook into TFS events to fire off a workflow.  I thought this was a great idea and can't wait to put this to use.
  • Michael also has a MSN style popup message that fired off when a TFS build event happened.  The code for this will be posted shortly.
Fun times ahead!
Wednesday, March 15, 2006 4:02:35 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]   Team System  | 
# Tuesday, March 07, 2006
I just created a new stored proc using SQL Management Studio (can I call this SMS?) and discovered the cool new templates you get for free.  The standard template for a new proc looks like this. 

    1 -- ================================================

    2 -- Template generated from Template Explorer using:

    3 -- Create Procedure (New Menu).SQL

    4 --

    5 -- Use the Specify Values for Template Parameters

    6 -- command (Ctrl-Shift-M) to fill in the parameter

    7 -- values below.

    8 --

    9 -- This block of comments will not be included in

   10 -- the definition of the procedure.

   11 -- ================================================

   12 SET ANSI NULLS ON

   13 GO

   14 SET QUOTED IDENTIFIER ON

   15 GO

   16 -- =============================================

   17 -- Author:    <Author,,Name>

   18 -- Create date: <Create Date,,>

   19 -- Description:  <Description,,>

   20 -- =============================================

   21 CREATE PROCEDURE <Procedure Name, sysname, ProcedureName>

   22   -- Add the parameters for the stored procedure here

   23   <@Param1, sysname, @p1> <Datatype For Param1, , int> = <Default Value For Param1, , 0>,

   24   <@Param2, sysname, @p2> <Datatype For Param2, , int> = <Default Value For Param2, , 0>

   25 AS

   26 BEGIN

   27   -- SET NOCOUNT ON added to prevent extra result sets from

   28   -- interfering with SELECT statements.

   29   SET NOCOUNT ON;

   30 

   31     -- Insert statements for procedure here

   32   SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>

   33 END

   34 GO

 
Like the comment says, you can specify values for the placeholders by pressing Ctrl+Shift+M:
 
 
 
You can view and edit all the templates - and there's a lot of them - by using the Template Explorer from the View menu:
 
 
This is not as cool as CodeSmith, but it's free and easy and very cool.  Remember, you can use Management Studio with SQL 2K, not just 2005.
Tuesday, March 07, 2006 10:16:37 AM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]   General | SQL  | 
# Friday, March 03, 2006
My old Jonsie.net domain is due to expire sometime soon so I thought it was about time I saved the 1 or 2 interesting posts I made there. The old site uses .Text so I could easily grab the posts from the SQL DB, but I thought it would be more fun to use RSS.  I remember Scott Guthry posting recently about the ASP.Net RSS Toolkit so I downloaded it to have a play.
 
First thing I tried was to RTFM but for some reason this word doc keeps exploding and taking Word with it.  A quick copy and paste to a new document fixed that (Word's document recovery was less than helpful!).  The 'manual' is a little sparse, but it gives enough pointers to get your started.
 
There are several ways you can access the RSS feed.  I wanted to create a simple WinForms or Console app to do this job so I tried using the Rssdl.exe tool to create a strongly typed channel feed.  Unfortunately our Nazi firewall got in the way and the RssToolkit doesn't know anything about firewalls.  After a bit of a search around the code I found the source of the problem in RssDownloadManager.DownloadChannelDom().  It was using WebClient to make the call to DownloadData but without first configuring the proxy.  So, I changed this to:
 

    1             // download the feed

    2             WebClient wc = new WebClient();

    3             wc.Proxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

    4             byte[] feed = wc.DownloadData(url);

 

This is adequate for this UI application but for a more robust solution you may need to modify this to allow a user name, password and proxy string to be passed in somehow. 

 

So, now I executed the Rssdl.exe too to create the class. This created jonsie.cs for me.  I then created a simple console app to dump the title of all the items on the blog:

 

    1 using System;

    2 using System.Collections.Generic;

    3 using System.Text;

    4 

    5 using RssToolkit;

    6 

    7 namespace JonsieExtract

    8 {

    9   class Program

   10   {

   11     static void Main(string[] args)

   12     {

   13       jonsieChannel jc = jonsieChannel.LoadChannel();   

   14 

   15       foreach (jonsieItem ji in jc.Items)

   16       {

   17         Console.WriteLine(ji.Title);

   18       }

   19       Console.ReadLine();

   20 

   21     }

   22   }

   23 }

 

Which produced this:

 

 

Cool!  Oh, crap.  I only get the last 15 posts.  I need all of them.  Oh yeah, this is a setting in .Text.  So I log to my old site and .. hang on, where's the admin options?

 

 

IE 7 has problems displaying the tabs.  Fortunatly I have a spare machine with IE6.  I set the Default number of posts on the home page/feed to 115 and click save.  And wait.  And wait. And wait.  Bum.  Looks like .Text is as useful as ever.  Oh well, part 2 another day.

Friday, March 03, 2006 3:36:01 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]   General  | 
# Tuesday, February 28, 2006
I've been tweaking a stored proc today and when using the new SQL 2005 Management Studio I spotted a new option in the query menu:  Client Stats.  When I execute the stored proc, I get a tab page with some interesting numbers.  The really usful thing is, if I execute the same query again - after tweaking the proc - I get to see multiple results side by side:
 
 
How cool is that!
Tuesday, February 28, 2006 2:57:27 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]   General | SQL  | 
# Monday, February 27, 2006
Plans are starting to come together for our Code Camp. There's a lot of work getting this organised, but it's starting to get exciting.  So far we have about a dozen sessions and speakers confirmed, talking on some interesting topics like AJAX, Ruby on Rails, WWF, SQL, Biztalk, Team System and more.
 
Registration for Code Camp will - hopefully - be available this week.  In the meantime, you can enjoy the chrome, created by Phil (The Genius) Cockfield.

 

Don't miss the great kiwi
Coding Getaway

Two days of hard core .Net programming demo's, workshops & discussions. Nothing but code.

Code Camp 2006, April 22/23,
Porirua Wellington


Brought to you by the NZ .Net User Group
Monday, February 27, 2006 4:18:17 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]   General | NZ .Net User Group  | 
# Friday, February 24, 2006
I've started working though the Hands-On-Labs for Windows Workflow Foundation today and in Lab 1, Excerise 1 (more about that later) I discovered something old that I had never existed before:  Event Accessors. 
 
Normally you would decalre an event like this:
 

    1 public event EventHandler<CancelEventArgs> ValidateControls;

 

 

Using Event Accessors makes this look a lot more like a property:

 

    1     public event EventHandler<CancelEventArgs> ValidateControls

    2     {

    3       add

    4       {

    5 

    6       }

    7       remove

    8       {

    9 

   10       }

   11     }

 

This could be useful to ... hmmm, I'm not exactly sure if I would use it, but I imagine some people would.

 

FYI, this also works in .Net 1.1.  Not sure about VB though.

Friday, February 24, 2006 8:59:21 AM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]   General  | 
# Thursday, February 23, 2006
I just noticed that Visual Studio gives you a nice little tooltip in the Solution Explorer to tell you who has a file checked out (or not).
 
 
Is this new?  I normally don't keep the mouse stationary long enough to see tooltips.
Thursday, February 23, 2006 1:24:03 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [1]   Visual Studio  | 
# Monday, February 20, 2006
I've been having a bit of a play with three 3rd party products for Team System, namely, TeamLook, TeamPlain and Teamprise.  This is not a review of these products, just some observations.
 
TeamLook
TeamLook integrates without Outlook to provide access to Work Items only.  It gives you a nice tree view of work items and you can create new work items from emails.  It looks promising but I found that Outlook was taking minutes to start-up with TeamLook loaded.  After removing TeamLook, Outlook starts up in about 2 seconds.
 
Teamprise
Teamprise is a J* client for TFS and provides work item and source control functionality for Eclipse or as a standalone client.  I don't know much about Eclipse but we do have a team using it for a large WebSphere project.  This does look promising but it doesn't go far enough yet.  There is no access to reports or documents or process guidance - you fall back to Sharepoint for this - which is fine, but TeamPlain is better.
 
TeamPlain
TeamPlain is a ASP.Net application that provides much of the same functionality as Team Explorer, but with a much richer UI.  With it you can view and create work items, view reports and documents, view source code with some limited source control interaction and pretty much do everything you need to do if you don't have Team Explorer.  For us, this means we can provide work item access to testers and users without having to install the TS Client.  I found the web access extremely fast - faster than the Team Explorer.  The UI is also very attractive and easy to use.  TeamPlain also authenticates users with Integrated Security if possible or using a standard login/password prompt.  This means we can provide external access to our repository without providing a VPN. 
 
In the future they will be providing Eclipse and VS2003 addins which will suit us very well.
 
Licensing of TeamPlain is not cheap, but they do have floating licenses and if you just need work item access then there will be a cheaper Lite version.
 
Summary
All of these products are still officially in beta, but TeamPlain is pretty much finished and just waiting for TFS RTM. Overall, I think TeamPlain provides the best performance and coverage of TFS functionality but I'd expect TeamPrise to improve when it's closer to release.  If you just need work item access then TeamLook is probably also worth a closer investigation.
Monday, February 20, 2006 9:27:27 AM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]   Team System  | 
# Wednesday, February 15, 2006
I'm jumping on the snippet bandwagon a bit late but this morning I realised I was repeating myself repeating myself repeating myself more than usual.  I am trying to figure out a bit of spaghetti I write a while ago that is getting events firing in the wrong order.  The logic is  bit too complex to step through so I'm adding tracing code and capturing this to a log file. 
 
Eg:
 

    1     private void fireModeChange()

    2     {

    3       Trace.WriteLine("Starting fireModeChange", "Designer");

    4       Trace.Indent();

    5       try

    6       {

    7         if (ModeChanged != null)

    8         {

    9           ModeChanged(this, new EventArgs());

   10         }

   11       }

   12       finally

   13       {

   14 

   15         Trace.Unindent();

   16         Trace.WriteLine("Ending fireModeChange", "Designer");

   17       }

   18     }

 
The time saving solution is to create a code snippet that surrounds the selected code with this block.  Creating a snippet is pretty easy when you've done it a few times, but to make things interesting I downloaded Snippy from GotDotNet.  It's a NLU (nice little utility) for creating snippet files.
 
 
Now surrounding the selected code is very easy.  Of course, it's taken me several hours of fracking about to get all this working and documented - but that's another blog post :}
Wednesday, February 15, 2006 12:01:20 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]   Visual Studio  | 
I've been pretty critical of GotDotNet in the past so I must now give credit where it is due.  The site is much faster, it seems more reliable and it even looks better.  I also find the menu's a lot easier to navigate.  The GDN team have done a great job.  Well done!
 
My only annoyance is that you often have to join a workspace community to download a tool or sample code, but I suspect this necessary for legal reasons or some such thing.
Wednesday, February 15, 2006 10:06:47 AM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]   General  | 
# Monday, February 13, 2006
Here's a few notes and tips from my TFS Server Upgrade experience.
  • Make sure you get the upgrade kit and read the instructions cover to cover before starting. 
  • You'll also need the updated install guide.  But be warned, you may not be able to view the contents of this.  See my rant in a previous post.
  • The upgrade guide is 43 pages long, but don't panic.  You can ignore some of this.  I have a single server install so I ignored the dual server upgrade instructions.
  • Read Rob Caron's blog.  There's a few links there to other peoples upgrade experience.
  • During the upgrade you need to create and delete Team Projects.  I found that TFSDeleteProject would not work on my client machine.  It kept telling me it could not find the server.  I suspect this was due to my TFS permissions or something funcky with our domain/AD setup.  I copied TFSDeleteProject to the server and, using remote desktop, logged in using the TFSService account and it then worked just fine.
  • You need to uninstall Beta 3 during the upgrade.  I have the Team Test Load Controller on our single server so I uninstalled that first just to be safe.  I didn't have Team Explorer on the TFS server so I didn't need to uninstall this.
  • After you install the TFS RC, you need to execute a web service method on http://localhost:8080/services/v1.0/Registration.asmx  and verify that the returned XML is correct.  This seems daft to me.  It should be something that is built into the install.
  • To upgrade the build types, you have to run the upgrade tool TFSBuildUpgrade on a machine that has the Team Explorer installed.  I didn't have this installed on my TF Server so I tried to run this on my build server but I got the same error as TFSDeleteProject - it could not see the TFS Server.  So, I installed the Team Explorer on the TF Server and ran the upgrade there without issue.
  • You have to install the Team Explorer on client machines. This sounds obvious but when you are working through the upgrade instructions it's not easy to spot when you should do this.  You should do it after you have installed all the servers.  If you try to use Visual Studio with the Beta explorer (like I did) it won't work.
The installation took me about 2.5 hours but I was very careful - this is a production system.  I would expect a full install from scratch (including SQL & Sharepoint Services) would take about the same time - maybe a little longer.  Overall, this was a pretty painless process and I think is more than good enough for a Version 1 product - at least for a single server install.  I'm being deliberatly cautious in my praise here as I have installed TFS a few times already. Someone installing for the first time may not find it as easy as I did.
 
I haven't had much time to play with the client yet, but here's a couple of things I noticed.
  • The Security & Permissions dialogs include some more informational tips:   



    This is a nice reminder for people. 
  • User names are now displayed instead of login names:

       
  • Reports are tidier and much more complete.
Now back to more boring work...

Monday, February 13, 2006 1:52:03 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]   Team System  | 
I understand that there is a lot of nasty stuff around on the web that may get onto my work machine and cause all sorts of problems, but really, sometimes I find Windows too protective.  For example, I downloaded an updated Compiled Help File for my TFS upgrade.  When I open the file I get this:
 
 
Well, ok, someone forgot to sign the file so this is reasonable and I can untick the option to hide this next time I open it.  However, when I click open I see this:
 
 
After a lot of head scratching, a colleague pointed me to this in the file properties:
 
 
Once Unblocked, the help contents display correctly.
 
I spend all day working with various versions of Windows and I can't figure this stuff out.  How the frack is an ordinary occasional PC user supposed to understand this BS?  This is a really good example of unintelligent design.  Maybe it's a consequence of the Windows UI that limits the amount of useful information that can be displayed to a user.  To me, it would be much more sensible to display the file differently so I can immediately see that there is a problem with it.  Eg.  Instead of displaying the short-cut thus:
 
 
it could look something like this:
 
 
I look forward to having a play with Vista very soon to see if it's any better.
Monday, February 13, 2006 11:43:15 AM (New Zealand Daylight Time, UTC+13:00)  #    Comments [1]   General  | 
# Thursday, February 09, 2006
I've been looking at some complex code that someone else wrote lately and trying to figure out how it all works (or doesn't actually).  I've been adding lots of Trace statements so I can more easily follow the flow of execution.
 
Now, I'm not sure if this is a problem for anyone else or just my addled brain but I found that Trace statements in my Web Service don't display in the Visual Studio Output window unless I step into the Web Service code from the WinForms client.  This is a real drag.  All I want to do is execute the application and later examine the process steps.
 
A simple workaround is to use the TextWriterTraceListener.  With this I can capture Trace output to a file and look at the results after execute.  You do this by adding the following section to your web.config:
 
<system.diagnostics>
 <
trace autoflush="true" indentsize="2"
>
  <
listeners
>
   <
add name="myListener"  type="System.Diagnostics.TextWriterTraceListener" initializeData="mywebapp.log"
/>
  </
listeners
>
 </
trace
>
</
system.diagnostics>
 
 
However, I also rediscovered that by default, Trace messages also get output via OutputDebugStr() and this can be viewed with a suitable Debug Viewer.  Eg:
 
 
This DebugView is free from SysInternals.com.  It captures Trace messages from .Net apps and any other apps that use OutputDebugStr(), which includes Windows.  There is one problem that I noticed immediately though.  Trace.Write() appears like Trace.WriteLine() so you may loose some of the nice formatting that you would get in a log file but I can live with this.
Thursday, February 09, 2006 9:19:04 AM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]   General | Visual Studio  | 
Copyright © 2012 Peter G Jones. All rights reserved.
DasBlog 'Portal' theme by Johnny Hughes.
Pick a theme: