Test Your HTML with the W3C Markup Validation Service

A co-worker asked me today about an issue in a Web app in which pages display correctly in IE 6.0 but incorrectly in IE 5.5.  He could duplicate the problem in IE 6.0 by changing the page’s <DOCTYPE> tag.  Sometimes issues like this are due to rendering engine differences (or bugs) in various browsers.  However, I very often see developers test the code and functionality of their Web pages, but fail to test the HTML.

There are far too many Web pages out there that have broken and/or sloppy HTML.  I know, I know, you have a deadline to meet and as long as it works on your computer it’s fine, right?  Hopefully that’s not your attitude.  There’s an excellent, free tool from the W3C that can quickly and easily validate your HTML and give you a list of errors and issues.  You can quickly jump to the trouble spots and make corrections.

The W3C (World Wide Web Consortium)’s free Markup Validation Service can validate HTML, XHTML, MathML, SMIL and SVG documents, and it is still being tweaked and improved.  I highly encourage you to add it to your Web development toolkit.

Don’t Change the BizTalk SSO Service Account — Or Else

Helpful hint du jour — if you know what’s good for you, don’t change the service account of your master BizTalk 2004/06 Enterprise Single Sign On service.  If you insist on doing so, make SURE you have backed up your master secret first!  As you may know, BizTalk Server 2004/06 stores much of its own configuration in the encrypted SSO database.  If you change the service account, or even, I believe, its password, the service modifies the SSO database and will render your entire BizTalk group useless.  Supposedly, after you change the account you can restore the master secret from your backup to fix the destruction, but I think it depends how lucky you feel.  Go make sure your service account is set to “password never expires!”

One of my clients made this mistake, but thankfully the BTS group was not yet in production!

This Thursday is the latest Twin Cities BizTalk User Group meeting at Microsoft Bloomington at 6:30 PM.  Please join us!

Updated 08-28-2006

I suspect that Enterprise SSO uses DPAPI or the broader CryptoAPI for data encryption, and also probably to encrypt the master key itself in the service account user profile.  This explains why changing the service account causes the service to be unable to read the database.  The master key remains with the original user profile and does not exist in the new one.  I do not think that changing the service account password will have any effect, as long as you remember to update the password in the SSO service configuration.

The solution, as I originally mentioned, is to restore the master key while the service is running under the new service account.  This has the effect of copying the master key from the original service account user profile to the new user profile.

If you changed the service account and did not have a backup of the master key, you might have a chance of saving your configuration by switching back to the original account.  If that doesn’t work, you will have no choice but to completely reconfigure your BizTalk installation.

Here is a Microsoft KB describing the procedure to change the SSO service account.  This process works in 2004 or 2006.  The difference in 2006 is that you may choose to backup and restore the master key through the SSO Administration MMC snap-in (requires MMC 3.0).

Enterprise Library for .NET 2.0 Finally Arrives!

Updated 1/20/2006

I hope you’re not still using the Microsoft Data Access Block and sibling Blocks in your code.  If you are, I hope you have a good excuse!  Microsoft released Enterprise Library for .NET 1.1 about a year ago to replace the old Blocks.  It was co-developed by Microsoft and Avanade, and Avanade still carries on a proprietary enhanced version called ACA.NET.  The former Blocks that were incorporated into Enterprise Library gained a more unified programming and extensibility model, improved documentation and samples and an extensible GUI configuration tool.  We used Enterprise Library throughout most of 2005 on a large WinForms app, and it worked great.  I recommend it to every .NET development team.

Since then, I’ve moved on to Visual Studio 2005 like many of you, and we’ve all been (patiently?) waiting for Microsoft patterns & practices to rework Enterprise Library for .NET 2.0.  A couple deadlines passed with no code, but it’s finally here.  You really owe it to yourself and your dev team to check out the excellent work being provided by the patterns & practices team.

Share and Synchronize Files for Free, Courtesy of Microsoft

With Microsoft buying up companies and not always merging them into the Microsoft brand, it’s easy to miss some great Microsoft services.  In November 2005, Microsoft purchased FolderShare, a service for synchronizing and sharing files across multiple devices.  FolderShare was a subscription service, but no more — Microsoft made it free.

FolderShare seems like a terrific service.  No more ZIPping and emailing large files!  No more burning CDs and then tossing them!  Forgot your USB key?  No problem.  FolderShare lets you share files up to 2 GB in size, and at least for now, there are no limits on quantity or size of files transferred.  Hard to believe it’s really free.  Maybe Microsoft will eventually make it a Windows Live subscription service.  Until then, enjoy!