August 2008 - Posts

One of the projects I'm working on for my company, Strategic Data Systems, is our internal Team Foundation Server 2008 solution.  I'm working with some of the guys who head up our Agile Development Center to make sure things fit well with what they are doing.  It's been difficult to find overlapping free time, so I have started putting together screencasts to highlight our procedures and what I consider best-practices.  We've published written documentation internally, but these are so much more palatable.

These are geared toward our organization in content, but should be generally relevant to anyone interested in TFS.  This particular screencast walks through creating a Team Project and specifying permissions for implementing Scrum roles.

 Direct Link

p.s This is hosted, for free (as in beer), by Silverlight Streaming Services.  It took all of 20 seconds to sign up and 5 minutes to upload the video made with Camtasia.

with no comments
Filed under: ,

People give Microsoft Outlook a lot of crap, but if you're willing to think outside the box, you'll realize they did all the little things that make life easy.  For instance, I rarely use the calendar popup for creating new appointments.  No, if I have a meeting next Wednesday, I type "next wed" and hit tab.  It's at 1pm, well, type 1 and hit tab.

Done.

New Appt. Screenshot

with 2 comment(s)
Filed under:

Someone was looking to do quick-and-dirty validation of an Xml document inside a SQL Server procedure today.  I assumed, and regretted, that he meant 2005, which would have looked like this:

declare @xml1 xml 
declare @xml2 xml 
set @xml1 = '<Node1><Node2 attrib="This is it." /></Node1>'
set @xml2 = '<Node1><Node2 /></Node1>'
select Col.value('count(./@attrib)', 'int') as count
from @xml1.nodes('Node1/Node2') as Tbl(Col)

select Col.value('count(./@attrib)', 'int') as count
from @xml2.nodes('Node1/Node2') as Tbl(Col)

After being told, "that blows up", I jogged the memory a bit and came up with this mess:

/* THE STUPID WAY */
DECLARE @hdoc int
DECLARE @doc1 varchar(MAX)
DECLARE @doc2 varchar(MAX)
set @doc1 = '<Node1><Node2 attrib="This is it." /></Node1>'
set @doc2 = '<Node1><Node2 /></Node1>'
/* DOC 1 */
EXEC sp_xml_preparedocument @hdoc OUTPUT, @doc1

IF EXISTS( SELECT    *
FROM       OPENXML (@hdoc, '/Node1/Node2/@attrib',1)
            WITH (attrib  varchar(20)))
BEGIN
PRINT 'Dumb ass'
END
exec sp_xml_removedocument @hdoc

/* DOC 2 */
EXEC sp_xml_preparedocument @hdoc OUTPUT, @doc2

IF EXISTS( SELECT    *
FROM       OPENXML (@hdoc, '/Node1/Node2/@attrib',1)
            WITH (attrib  varchar(20)))
BEGIN
PRINT 'Dumb ass'
END
exec sp_xml_removedocument @hdoc

 

Moral of the store?  UPGRADE!

with 1 comment(s)
Filed under:

This evening I completed my first split-server (or dual server as it's called in the guide) installation of Team Foundation Server 2008.  I've installed TFS a few times now in single-server mode which is pretty crazy easy when you consider what you get (way more than SVN or CVS by themselves).  Throughout the entire process I actually found myself RTFM step -by-step.  For all the grief that Microsoft receives, you have to give them a ton of credit for their manuals, guides, and walk-throughs.

Today I blew up a server.  Couldn't figure something out so I pushed every button I could find, flipped every switch and changed every setting.  Nothing.  So you know what I did, I deleted it, copied over a new Sysprepped Hard Drive and had a clean slate in about 5 minutes.

I figured out my problem, by the way.

with no comments
Filed under: