Team Foundation Server: Team Project Structure Guidance

Doug Neumann [MSFT] has released a great little whitepaper called Guidance for Structuring Team Projects on CodePlex. It's a great read if you're still getting started with Team Foundation Server and can't decide how to structure your team projects and source control.

Back in early February, I wrote a post called Team Foundation Server: Project and Source Control Structure where I explained how our development team had decided to structure one ongoing project. I'm still not sure we're using the best project structure (we create one team project per major "application" we are working on) but so far, it works just fine.

We've also decided to start looking at the TFS Orcas Beta 1 bits now rather than later. It's our hope (after viewing the recent Channel 9 video) that the new features in TFS Orcas will help us manage our corporate development efforts with less time spent on management and administration and more time on development (the fun stuff!).

I'll let you know how it goes!

Team Foundation Server: Team Project Structure Guidance

Doug Neumann [MSFT] has released a great little whitepaper called Guidance for Structuring Team Projects on CodePlex. It's a great read if you're still getting started with Team Foundation Server and can't decide how to structure your team projects and source control.

Back in early February, I wrote a post called Team Foundation Server: Project and Source Control Structure where I explained how our development team had decided to structure one ongoing project. I'm still not sure we're using the best project structure (we create one team project per major "application" we are working on) but so far, it works just fine.

We've also decided to start looking at the TFS Orcas Beta 1 bits now rather than later. It's our hope (after viewing the recent Channel 9 video) that the new features in TFS Orcas will help us manage our corporate development efforts with less time spent on management and administration and more time on development (the fun stuff!).

I'll let you know how it goes!

 

New Evangelist Team

I should have taken time to write this post a while ago, but life’s been a bit hectic.

Microsoft has hired three new Evangelists over the last few months for the Texas,

Oklahoma, Arkansas, and Louisiana area. I’ve had a chance to meet all three

of them and I’m looking forward to seeing them flourish in their roles.

  • Chris Koenig is the new Developer Evangelist

    for the region. His is moving to the Dallas/Fort Worth area right now from San

    Antonio and will be focused on evangelizing the “How” of Microsoft’s development tools.

  • Phil Wheat joins as the new

    Architect Evangelist for the region. He has a strong background with Sharepoint

    and is a very engaging guy. If you attended Dallas Code Camp 2 you might have

    had a chance to meet him. He is based out of Austin but I’m sure he’ll be seen

    in Dallas more than a little.

  • Zain Naboulsi join as the new MSDN Developer Evangelist and is focused on the MSDN

    events through the region. I had a very nice chat with Zain, who also attended

    Dallas Code Camp 2, and I think the community will see more of him than you might

    have traditionally expected to from someone with his focus.

Welcome to these gentlemen and I wish them nothing but the best in their positions.

I also remind the community to go easy on these guys for a while, they are all brand

new to Microsoft, and Chris is brand new to the D/FW area, so it will take them a

while to get completely hooked in.

Birds of a Feather – BizTalk, WCF and WF

I’m pleased to announce that my Birds of a Feather talk has been accepted for TechEd

2007. The talk will focus on BizTalk Server, WCF and WF and the future of these

technologies. I’m very much looking forward to meeting as many BizTalk professionals

as I can while at TechEd this year.

If you’re attending TechEd, try to find the time to spend an hour with us. The

talk is currently scheduled for Monday, June 4, 2007 at 3:00 PM. Also, if your

planning to attend TechEd drop me a comment here so we can be sure to find time and

talk!

MOSS Search (MS Search) Ranking and Relevance clues….

Have you ever wondered what makes certain search results appear above others
in my searches?
(rankings) You may have put it down to “that’s the rocket
scientists algorithm”……I tend to think of it as a magic sauce/wine/sangria or
Grandma’s special pancakes – a formula refined overtime.

Here’s a little insight:

Microsoft’s #1 Priority for this release of Search (it’s been rebuilt from the ground
up from previous versions) is Relevance and Priority of results.

Getting more accurate results appearing at the top of result lists.

Some of the ingrediences going into the sensational pancake mix are (a partial list):

  1. Click Distance – how far away you are from ‘authoritative sites’.
    e.g. take your intranet, it’s got documents on it, links to internal and external
    locations. As you drill down these links, essentially your getting further away.
  2. Anchor Text – html links act as annotations in what their pointing
    to.
    e.g. ‘Link to Footy Results’ = http://moss/sites/footy
  3. URL Depth – Generally URLs higher in the heirarchy tend to be more
    relevant than those below. e.g. simply looking at the number of slashes in a URL this
    may indicate that you’re going deeper and deeper into more specific areas, and loosing
    relevancy (possibly).

    We can also go and make certain sites/URLs as being ‘authoritative sites
    that allow us to influence the search ranking and relevance where needed.
  4. URL Metadata – direct matching on text within URLs
  5. Metadata Extraction – automatically extract metadata like Titles,
    Author, LastModifiedDate
    etc. from documents etc.
  6. Automatic Language Detection – results in your language bubble to
    the top.
  7. File Type Biasing – generally speaking, PPTs will be more relevant
    than XLSs for e.g.
  8. Text Analysis – Text ranking based on matching terms, frequencies
    and word variations.

    + more………

So just in case you’re ever wondering is there alot that goes into MS Search and getting
your results to the top of the list……absolutely!!! I dont quite have the formula
to Coca Cola yet…but working on it…….

MSDTC Hell how to fix it.

I was getting errors when installing BizTalk 2006, around MS DTC.


 


TITLE: Microsoft BizTalk Server 2006 Configuration Wizard


——————————


Failed to deploy BizTalk system assembly “D:\Program Files\Microsoft BizTalk Server 2006\Microsoft.BizTalk.GlobalPropertySchemas.dll”.


A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 – An existing connection was forcibly closed by the remote host.)


 


Deployment cannot initialize the connection to the database “BizTalkMgmtDb” on server “biztalkqa02”. Verify that you have the required security permissions and that communication between Distributed Transaction Coordinator services on the machines involved is not prevented by current DTC security,   firewall or authentication settings.


 


I have seen this countless times, and the mstdc config and a reboot fixes it, I then looked further and saw this in the event log however.


 


The local MS DTC detected that the MS DTC on BIZTALKQA02 has the same unique identity as the local MS DTC. This means that the two MS DTC will not be able to communicate with each other. This problem typically occurs if one of the systems were cloned using unsupported cloning tools. MS DTC requires that the systems be cloned using supported cloning tools such as SYSPREP. Running ‘msdtc -uninstall’ and then ‘msdtc -install’ from the command prompt will fix the problem. Note: Running ‘msdtc -uninstall’ will result in the system losing all MS DTC configuration information.


 


I had a separate biztalk machine and separate sql server machine. These machines were created from a standard 2003 server image, they were renamed and made good for network connection, they were fine in all aspects. All except for MSDTC.


It seems that when you install MSDTC it assigns a unique id to your instance to know who is who, however if you clone the machine then they get the same instance id.


I tried the msdtc -uninstall and -install, it did not fix the problem It seems there is a sequence to this to ensure that no one gets the same id.


To fix this do the following: (The SQL server must be turned on and connected to the network.)


1.      On the BizTalk server:


a.       msdtc -uninstall.


b.      Reboot


c.       msdtc -install


d.      Reboot


e.       Check MSDTC is installed and working.


2.      On the SQL Server.:


a.       msdtc -uninstall


b.      Reboot


c.       msdtc -install


d.      Reboot


3.      On both of them:


a.       Configure msdtc for network transactions, go to the security tab and turn every checkbox on, and then reboot.


Your machines should now be able to communicate via msdtc, you can try msdtc ping, however install and configure BizTalk 2006, and it will work now.

Biztalk and VSTemplates

Biztalk and VSTemplates

I’ve always been fascinated with the concepts and technique of automating VS development through macros, add-ins, templates etc.By now at my clients site we have more or less standardised what our Biztalk “services” look like but since we are still in Biztalk 2004 I didnt want to waste time with VS2003 automation as things have become so much more polished and advanced in later versions. I recently spent a couple of days at another client site with v2006 setting up the solution tree and MSBuild scripts and then sat back and wondered why i didnt have a tool to set the whole thing up in 5 minutes. It would have saved so much time that could have been spent on more significant issues. So today, after much procrastination (and collecting links on the subject), I finally decided to take the plunge and create my own multi-project template.


There’s a wealth of material on creating Visual Studio Item and Project Templates and one of the best I’ve read is How to create starter kits (including multi-project templates). I gleefully put in the .net class library and test projects, schemas, maps etc and ran the Export Template Wizard. Imagine my horror when i found that it would not pick up Biztalk projects!!. So i got stuck for a while. I did have a look at Jon Flanders awesome videos on his Pattern Wizards including the facility to create biztalk project wizards from your own projects. I say, that guy is really something!! Anyway, that helps to some extent in that we can now “export” existing biztalk projects and use them later (and make them highly dynamic through wizards etc), but it still doesnt help create a multi-project template.


So I went ahead and decided to try and experiment. With the starter-kits article in hand I created the basic .NET projects and then decided to take a set of biztalk projects and add them in. I removed all the unncessary items, except for the btproj file. I then added in a .vstemplate file and a icon file (from the exported .net projects). I then edited the vstemplate file to set the links to the btproj files and so on. Ultimately having put them all together and zipped it up and dropped it into the Templates folder, voila, it worked. I have a multi-project solution with Biztalk projects in it.


In the btproj files i can set macros such as $safeprojectname$.Unfortunately no matter what I try it will not accept items such as schema files, maps etc. VS always complains that it cannot find the files even if they are included in the package. So i gave up that route and left the projects empty. I would like to try to set the Application Name as the name of the Solution in all the btproj files, but there doesnt seem to be a template parameter to do that


You can find the results of my handiwork at my new codeplex project site here . Feel free to play with it and let me know your thoughts and suggestions.


I’m thinking of extending this with add-ins and macros to create msbuild scripts to build and deploy the solutions. This would give projects a good kick start. Of course, people modularise Biztalk in many ways, some have multiple schema projects, some have multiple orchestration projects and the layout is not always the same. And of course, once you start using Jons tool, then the solution will morph into something very different from what the starter kit looked. So the Build and Deploy script generator tools must be capable of running at anytime and regenerating stuff from scratch. The codeplex site should see some growth very soon. It would also be interesting to hear how others lay out their projects especially how branching is done.


I’ve also written up another little tool to generate my source tree, taking inspiration from tools like TreeSurgeon. I should put that up soon. For now , i guess these tools will work together, but in a slightly disjointed fashion and in time i’ll get a deeper understanding of VS automation and with stuff like GAT, theres a lot that can be done.


The big limitation right now is that doesnt link in with Jons work in any way. All my project templates that i made are sitting in the Biztalk Project Wizards folder, but the vstemplate only shows its own collection of btproj files which arent dynamic in any way. If anyone has some experience on linking VStemplates with wizards and would like to sharet the info please let me know. I’d love to be able to link my templates to Jons wizards, thus making it a highly dynamic and rich experience in creating multiproject solutions.


 

Biztalk Solution Templates_- 1 : VSTemplates

Biztalk Solution Templates_- 1 : VSTemplates

I’ve always been fascinated with the concepts and technique of automating VS development through macros, add-ins, templates etc.By now at my clients site we have more or less standardised what our Biztalk “services” look like but since we are still in Biztalk 2004 I didnt want to waste time with VS2003 automation as things have become so much more polished and advanced in later versions. I recently spent a couple of days at another client site with v2006 setting up the solution tree and MSBuild scripts and then sat back and wondered why i didnt have a tool to set the whole thing up in 5 minutes. It would have saved so much time that could have been spent on more significant issues. So today, after much procrastination (and collecting links on the subject), I finally decided to take the plunge and create my own multi-project template.


There’s a wealth of material on creating Visual Studio Item and Project Templates and one of the best I’ve read is How to create starter kits (including multi-project templates). I gleefully put in the .net class library and test projects, schemas, maps etc and ran the Export Template Wizard. Imagine my horror when i found that it would not pick up Biztalk projects!!. So i got stuck for a while. I did have a look at Jon Flanders awesome videos on his Pattern Wizards including the facility to create biztalk project wizards from your own projects. I say, that guy is really something!! Anyway, that helps to some extent in that we can now “export” existing biztalk projects and use them later (and make them highly dynamic through wizards etc), but it still doesnt help create a multi-project template.


So I went ahead and decided to try and experiment. With the starter-kits article in hand I created the basic .NET projects and then decided to take a set of biztalk projects and add them in. I removed all the unncessary items, except for the btproj file. I then added in a .vstemplate file and a icon file (from the exported .net projects). I then edited the vstemplate file to set the links to the btproj files and so on. Ultimately having put them all together and zipped it up and dropped it into the Templates folder, voila, it worked. I have a multi-project solution with Biztalk projects in it.


In the btproj files i can set macros such as $safeprojectname$.Unfortunately no matter what I try it will not accept items such as schema files, maps etc. VS always complains that it cannot find the files even if they are included in the package. So i gave up that route and left the projects empty. I would like to try to set the Application Name as the name of the Solution in all the btproj files, but there doesnt seem to be a template parameter to do that


You can find the results of my handiwork at my new codeplex project site here . Feel free to play with it and let me know your thoughts and suggestions.


I’m thinking of extending this with add-ins and macros to create msbuild scripts to build and deploy the solutions. This would give projects a good kick start. Of course, people modularise Biztalk in many ways, some have multiple schema projects, some have multiple orchestration projects and the layout is not always the same. And of course, once you start using Jons tool, then the solution will morph into something very different from what the starter kit looked. So the Build and Deploy script generator tools must be capable of running at anytime and regenerating stuff from scratch. The codeplex site should see some growth very soon. It would also be interesting to hear how others lay out their projects especially how branching is done.


I’ve also written up another little tool to generate my source tree, taking inspiration from tools like TreeSurgeon. I should put that up soon. For now , i guess these tools will work together, but in a slightly disjointed fashion and in time i’ll get a deeper understanding of VS automation and with stuff like GAT, theres a lot that can be done.


The big limitation right now is that doesnt link in with Jons work in any way. All my project templates that i made are sitting in the Biztalk Project Wizards folder, but the vstemplate only shows its own collection of btproj files which arent dynamic in any way. If anyone has some experience on linking VStemplates with wizards and would like to sharet the info please let me know. I’d love to be able to link my templates to Jons wizards, thus making it a highly dynamic and rich experience in creating multiproject solutions.