Team System Trials

I’ve recently added Team System as a category on this blog because I *intend* to explore this awesome new IDE pretty thoroughly.  Well, at least enough to hit all of the major problems with it and try to find answers.


For those of you looking to get started with Team System, the price is almost certainly a barrier. Also, it is more complicated to setup because of all the plumbing in the background.  If you have the MSDN subscription, there is actually a fully installed version of Visual Studio Team Suite (VSTS) on a virtual server. It comes in two pieces and takes a long time to download, but it’s still faster than trying to set it up for yourself.  For those of you without MSDN, sorry, you’re stuck scrounding for trial editions.


At the time of writing, you can get some trial editions at the following locations: (I hope you have a fast internet connection)


Team Foundation Server Trial Edition
Team Suite Trial Edition


I will be setting up the whole package in a VM environment shortly. I’ll be making notes on it and sharing it in my next post (unless it kills me)

How to create a function name to the global scope in a Powershell script file

I created a script named s.ps1 to define a function named s1.


# s.ps1
function s1
{
             //
}


But, after I run this script, the s1 function is not available in the global scope like:


.\S.ps1
S1
s1′ is not recognized as a cmdlet, function, operable program, or script file.


 There are two ways to add the function name to the global scope.


1) Using the dot sourcing


. .\s.ps1 # be cautious that there are a space between two dots.


This makes all definitions in the script be exported or copied to the global scope after its execution.


2) Using global: keyword as follows:


# s.ps1
function global:s1
{
             //
}

How to clean up all of the backup files created with the BizTalk Backup Job

How to clean up all of the backupfiles created with the BizTalk Backup Job

As anyone who has fully implemented BizTalk will know, if you do not backup your databases you will have problems.

I can not stress more highly, please back up your BiTalk databases.

The next thing you will notice is that its not that simple, there is a Backup Job that ships with the product, that creates backups, you NEED to use this job to create your backups or you will not be supported.

The job will create a full backup daily, and a transactional log backup every 15 minutes. (This is configurable)

At the end of the day, you end up with quite a lot of files, that take up quite a lot of disk space depending on how active your solution has been.

In reality you should be archiving these backups daily, and cleaning up the backup directory. But what if your backup directory is on the SAN and its backuped up, but there are several days worth of backup still lying around

This happens more often than you would think, so we have 100’s of these backup files filling up the disk, which gets critical when the disk fills up.

So how do I clean up these files automatically…….

How to create a function name to the global scope in a Powershell script file

I created a script named s.ps1 to define a function named s1.


# s.ps1
function s1
{
             //
}


But, after I run this script, the s1 function is not available in the global scope like:


.\S.ps1
S1
s1′ is not recognized as a cmdlet, function, operable program, or script file.


 There are two ways to add the function name to the global scope.


1) Using the dot sourcing


. .\s.ps1 # be cautious that there are a space between two dots.


This makes all definitions in the script be exported or copied to the global scope after its execution.


2) Using global: keyword as follows:


# s.ps1
function global:s1
{
             //
}

Date/Time tracked with BAM must be expressed in Universal Coordinated Time (UTC)

All date/time tracked by BAM must be expressed in UTC. BAM depends on this to provide accurate durations, among many other things. This is clearly explained here. It was also the case for BizTalk 2004 even if the documentation gave subtle hints instead of describing it:
es.UpdateActivity(“PurchaseOrder”, poid, “POShipped”, DateTime.UtcNow);
This rule is unfortunately easy to forget. For instance, let’s assume you have a message with a date/time field you want to track with BAM. You start…(read more)

SSO, AD and Password Synchronization

SSO, AD and Password Synchronization

Just finished watching a webcast on Enterprise Single Sign-On integrated with Microsoft BizTalk Server 2004
and Microsoft Host Integration Server 2004 .
If you havent already seen that or arent familar with how SSO works and how AD and password synchronization can be used together with SSO, then check this out. Its really well presented with good demos. Since the transcript and PPT are also available if you dont have time to watch it all, then read the transcript. The SSO management story has improved a good deal in BTS 2006 and this should make the solution even more compelling. It should also be interesting to see how far they have progressed in linking this with ADFS and MIIS now.

How to create multiple or jagged arrays in Powershell

For me, it was not apparent to create multiple dimensional or jagged arrays in Powershell. I tried the following command, but it only made a single dimensional array:


$b = ((’a’,’a’))


$b.Count


2


Bruce Payette gave me the answers for this basic question.


 


Here is how to create multiple arrays:


$x = new-object “int32[,]” 10,10


$x.rank


$x[0,5] = 13


$x[0,5]


13


And, here is how to create jagged arrays:


$a = (1,2,3),(“a”,”b”,”c”),([char[]]”Hello”)


$a[0]


1


2


3


$a[0][1]


2


$a[1][1]


b


$a[2][4]


o


$a[2][1..3]


Or..you can use unary comma operator as follows:


$a = ,(1,2)
$a.count
1
$a[0]
1
2
$a[0].count
2

You will love the new shell named Powershell!

When I installed Windows SDK to test Indigo stuff, I found another toy named Powershell. Powershell is the new name of MSH code named Monad. It is a shell or command interpreter based on .NET framework.
I thought the cmd.exe shell is too simple for practical uses. But, Powershell is simply great!. It is easy, simple, and powerful. It also gives an interactive script development environment that I missed from VB or Jscript. For me, it looks like a Scheme or Lisp interpreter that I learnt and loved at college. Moreover, I think it gives good enough features to manage systems..Now I’m considering using a text based editor like vi, emacs, or qeditor again..:-)
You can download Powershell standalone here.
It will be great if Powershell provider or cmdlet (command let) for BizTalk Server would be provided. (If I have sometime I’d like to make some sample codes for BizTalk Server management.)
Try the new shell, and I believe you will love it!

You will love the new shell named Powershell!

When I installed Windows SDK to test Indigo stuff, I found another toy named Powershell. Powershell is the new name of MSH code named Monad. It is a shell or command interpreter based on .NET framework.
I thought the cmd.exe shell is too simple for practical uses. But, Powershell is simply great!. It is easy, simple, and powerful. It also gives an interactive script development environment that I missed from VB or Jscript. For me, it looks like a Scheme or Lisp interpreter that I learnt and loved at college. Moreover, I think it gives good enough features to manage systems..Now I’m considering using a text based editor like vi, emacs, or qeditor again..:-)
You can download Powershell standalone here.
It will be great if Powershell provider or cmdlet (command let) for BizTalk Server would be provided. (If I have sometime I’d like to make some sample codes for BizTalk Server management.)
Try the new shell, and I believe you will love it!