Team Foundation Server

1 Comment

This is one of my many posts about FQDN. Most people who followed the guides about setting up SSRS, WSS and TFS in FQDN environment, complained they have to log on each time when the connect to their sites. These sites are still intranet sites, but IE thinks otherwise. IE qualifies any FQDN as an Internet site. If you want to log on automatically to the Local intranet site, you can add the site to trusted sites of the Local intranet. Keep in mind if you changed the level or deselect the "Automatic logon only in Intranet zone" option this workaround won't work.

Open Intranet Options and select the Security Tab. After doing so select Local intranet and click the Sites button.

When the following display appears, select the Advanced button.

Add your portal URL (e.g., or

These simple steps help you to configure your Internet Explorer so you don't have to log on every time you want to access your portal.


1 Comment

Why you should host your TFS on a FQDN, I don't have to explain anymore. If you want to know how to configure this, read the following blog posts very carefully.

  1. Hosting Reporting Services on a fully qualified domain name (FQDN)
  2. Hosting SharePoint on a fully qualified domain name (FQDN)
  3. Hosting Team Foundation Server on a fully qualified domain name (FQDN)

One thing I completely forgot to mention in the last post is the Windows Services of TFS.

These services are very important for Data Warehousing, its reports and for Code Coverage Analysis. If you configured your TFS as I described in the FQDN posts, there is still one thing left.

Check your portal reports and look if the last Warehouse update was recently done. A regular report will contain a sentence like this.

Probably it is out of sync for quiet some time now. Most of the more experienced users of TFS updated their warehouse themselves by using the Warehouse Controller web service, which can be found at http://<SERVER>/Warehouse/v1.0/warehousecontroller.asmx. Just select Run and invoke its method. To get the current status of the web service select GetWareHouseStatus.

Another thing on which you can see your Windows services don't work the way their supposed too, is by starting the Code Coverage Analysis service. When this service is incorrectly configured it will display an error in the event log. The event log window will display an error like below. 

Open the configuration files of the TFS Server Scheduler and Code Coverage Analysis. Both can be found at

%Program Files%Microsoft Visual Studio 2005 Team Foundation ServerTFSServerSchedulerTFSServerScheduler.exe.config
%Program Files%Microsoft Visual Studio 2005 Team Foundation ServerCoverAnCoverAn.exe.config

Replace the URL key of the appsettings (Note: BisDomainURL can be replaced too, because it became obsolete in SP1. Now all configurations of TFS uses TFSNameUrl) .

<add key="TFSNameUrl" value="" />

Restart your services (Code Coverage Analysis, TFSServerScheduler) and at next interval the Data Warehouse will be updated again. The error shown above will also not occur again.

I apologize for leaving this out in my guides in the first place, but I hope all errors left are now solved as well. My next post will be about setting up TFS to run over SSL and off course about WSS 3.0 the MS way.


Technorati tags: ,

Update: My post Upgrade TFS V1 to WSS 3.0 Guide and Upgrade TFS V1 to WSS 3.0 round 2 - TFS SP1 became obsolete, because Microsoft is delivering their own guides on MSDN now. I even reviewed parts of this guides and tested everything on different machines with different settings.

You can find both guides at this link TN1501: Configuring Windows SharePoint Services 3.0 on the Visual Studio 2005 Team Foundation Server Application Tier or TN1502: Configuring Windows SharePoint Services 3.0 on a Remote Server to work with Visual Studio 2005 Team Foundation Server Furthermore you'll need an additional hot fix for your Team Explorer to connect to WSS 3.0 correctly. You can find more info about this at

Last Monday I read a post of Brian Keller about Configuring Visual Studio 2005 Team Foundation Server with Windows SharePoint Services 3.0. I wondered which posts he was referring to by reading "There are even a few posts in the community from people who have demonstrated how to get WSS 3.0 working with Team Foundation Server".

This morning I received a personal email of Brian explaining why he didn't mentioned mine name in the first place. He didn't want me to feel like Microsoft came along and discounted something that somebody in the community did because that's really not their intention at all. They are just trying to come up with a solution which enables WSS 3.0 but lets your TFS deployment remain serviceable.

I experienced myself that TFS is not serviceable anymore after upgrading to WSS v3 using my own guide. When I upgraded our TFS environment to SP1, it took me several hours to complete this job. TFS is really searching for a WSS 2.0 site and can't service a WSS 3.0 site. In another post I described my adventure and how I managed to make WSS 3.0 a bit more serviceable. See

This afternoon Brian Harry added a new post about this issue as well. See Configuring TFS to use Sharepoint 2007. He explicitly thanked me and requested me to give a taught about this solution. I like the idea, so the next coming weeks, when I have some spare time,  I will investigate and test this.

Knowing now that my own post was referenced I feel flattered and hope to help MS to publish their final document on MSDN. Maybe some day my dream about TFS will come true.



Last night I had a dream about the future of TFS. Wouldn't it be nice if we had one single portal on which all my team projects and their web interfaces resides. That you could easily search across libraries and projects and relate those projects by using site hierarchies. Reports and other functionality will be really exist in those sites and all options are fully integrated. I know it's a dream, but some dreams ....

If you have read Brian Harry's blog about the future of TFS, there is possibility MS is aiming at this goal too. He mentions Office SharePoint Server 2007. And when I think of MOSS in combination with TFS, this picture immediately pops up in my head.

TFS portal on which all team projects and their sub projects resides

All Team sites have all the nice features of WSS v3.

For Example:

  • Customize your sites quickly
  • Better control with master pages
  • Send e-mail to a SharePoint site
  • Get mobile access to a SharePoint list
  • Poll people more effectively with improved surveys
  • Receive updates about lists and libraries with RSS Feeds
  • Track your work with improved calendars
  • Copy documents easily to another location
  • Better management of versions
  • Better document recovery

Team Project running on WSS v3 site

Note: You can already use WSS v3 in a TFS v1 environment. To do so follow this guide.

Another thing which was fully integrated in my dream was the reporting functionality. Reporting Services can be integrated in WSS v3 and Office SharePoint Server 2007 as you can read in a old blog of my. This way all permissions can be set within WSS and will give you a consolidated place to manage security. Nowadays when using Team Foundation Server you have to set rights in TFS, SharePoint and Reporting Services. Wouldn't it be nice to only support TFS and SharePoint.

Reporting fully integrated in SharePoint

Just a couple of days ago MS acquired acquired DevBiz Business Solutions, the makers of the popular TeamPlain Web Access for Team System. To read the complete article about this acquiring check this blog of Brian Harry. Again a great tool for TFS, but also a new web site with its own management and its own look and feel. In my dream release 3 of this product will fulfill my wishes and TeamPlain uses SharePoint as its container.

TeamPlain integrated in SharePoint

Personally I don't think my dream will be realized in Orcas, but hopefully in Rosario. Another interesting part left from the UI of a standard TFS environment is an integration with Outlook. Who doesn't want to sync their Tasks with TFS? So come' on guys acquire Personify Design and you can release TeamLook as a VSTS Power Tool as well. I know there's a free Outlook Addin utility from the SRL Team, works great by the way, but sometimes you just want to have dreams. 😉


Who isn't interested in the new features of Orcas. I really am and especially all the features of TFS. Brian Harry posted a couple of months ago a great blog about all the new features. Since the latest CTP of Orcas you can check it out yourself.

In this blog I explain the new features of Team Build within Orcas.

  • Improved ability to manage multiple build machines.

  • Improved ability to specify what source, versions of source, etc to include in a build.
  • Simplified ability to specify what tests get run as part of a build.

    Unfortunately I couldn't show you this feature because I couldn't create any unit tests with Orcas.

  • The ability to story build definitions anywhere in the version control hierarchy.
  • Support for retention policies. Specify how builds should be retained on the build server.
  • Continuous Integration – There are many components to this, including build queuing and queue management, drop management (so that users can set policies for when builds should be automatically deleted), and build triggers that allows configuration of exactly how when CI builds should be triggered, for example – every checkin, rolling build (completion of one build starts the next), etc.
  • Stop and delete builds from within VS.
  • Support multi-threaded builds with the new MSBuild.
  • Improved extensibility of the build targets – such as ability to easily execute targets before and after each solution/project is built.

    I couldn't find this option jet.

The team completely redesigned the Team Build to fulfill all changes requested by their customers. One of the nicest things is you can now reopen your build definition in the wizard instead as XML file. I personally think they did a great job. Keep up the good work guys.


Technorati tags: , ,


Who isn't interested in the new features of Orcas. I really am and especially all the features of TFS. Brian Harry posted a couple of months ago a great blog about all the new features. Since the latest CTP of Orcas you can check it out yourself.

In this blog I explain the new features of Version Control within Orcas.

  • Destroy- The version control destroy operation provides administrators with the ability to remove files and folders from the version control system. The destroyed files and folders cannot be recovered once they are destroyed. Destroy allows administrators to achieve SQL server disk space usage goals without constantly needing to add more disks to the data tier machine. Destroy also facilitates removing versioned file contents that must be permanently removed from the system for any other reason.

    The TFS team extended the TF command and added an instruction destroy. This command can only be run by an administrator.


  • Annotate - Annotate is a feature that allows developers to inspect a source code file and see at line-by-line level of detail who last changed each section of code. It brings together changeset data with difference technology to enable developers to quickly learn change history inside a source file.

    This option is already a part of Microsoft TFS PowerToys which you can use in your TFS today.

  • Folder Diff - Team Foundation Server now supports compare operations on folders, whereby the contents of the folder are recursively compared to identify files that differ. Folder diff can compare local folders to local folders, local folders to server folders, and server folders to server folders. It’s a great way of identifying differences between branches, files that you’ve changed locally, and files that have changed between two points in time.

    Update: Is also included in the Microsoft TFS PowerToys. This is not the same product as in TFS Power Toys. Check the Folder Difference blog of Tan Phan about the exact differences. Through out April 2007, he'll be posting details about the new feature Folder Difference currently in the Visual Studio Orcas.

  • Get Latest on Checkout - As an optional setting on a team project or on an individual basis, you can have Team Foundation Server always download the latest version of a file when you check it out. This helps ensure that you don’t have to merge your changes with somebody else’s when you check the file back in.

    This feature is implemented because lots and lots of people requested it. There are still good reasons why the Team didn't include this in the first place. I won't discuss it here, but just read it at all the great forums about this topic.


  • Performance improvements – A variety of Version Control performance enhancements that will improve virtually all aspects of version control performance.  The gains for smaller servers/projects (< 10,000 files) will be modest.  The gains for larger projects (particularly where the file count approaches 100,000’s) will be substantial.

  • Scale improvements – Fixed out of memory problems on the server when operating on more than a few hundred thousand files at a time.

The biggest changes to Version Control are on the improvements part, which you can't see in your IDE, but you can measure it. I didn't expect rocket since in Orcas, but it should have been nice. Maybe Microsoft gave us so much every time, you expect to get much improvements every time.


Technorati tags: , ,


As most of you TFS addicts, I also immediately installed the new TFS Power Tools. Like Marcel de Vries wrote in his blog "A must have is the new embedded in Visual Studio Process Template Editor". This editor is almost same as the one I used before, but it's using Visual Studio as a container to modify the process. I compared the code of both products and must say that most of the code isn't changed at all. They renamed some variables and replaced strings containing messages to use resources. The only new part they added is the new Domain Specific Language (DSL) for the workflow of a WorkItem. As you can see it is a great improvement for showing the complete process of WorkItem.

I took the liberty of 'stealing' the picture Marcel used in his post.

The only difference I could find between the two tools was PTE gave me the ability to select which user groups are allowed to do a specified transition. All groups which I added to process template are immediately available to select in each transition. In the Power Tools it will only give you a group of users when you're connected to a Team Foundation Server.

VSTS Customization Toolkit

Team Foundation Server Power Tools 1.2

Another annoying thing is the new tool will create an extra dialog for each transition you select. Every dialog becomes it's own instance within your taskbar.

Again the team delivered a great tool, but I hope they will fix the small bug and change the appearance of each dialog. Maybe the can lock it so you can't click on another transition unless you closed the dialog. I didn't have the time to dig into to code to see were things go wrong. When I have some extra time I'll update this blog. Furthermore I hope TFS in Orcas will use WF for their workflows and show all states and transitions in the Workflow Designer. For a complete outline of the Power Tools check the blog of Buck Hodges.



If you’re going to analyze Visual SourceSafe databases for migration to Team Foundation source control, and to migrate Visual SourceSafe databases to Team Foundation source control, you’ll eventually meet VSSConverter. VSSConverter is a command line utility that uses XML configuration files to transfer SourceSafe projects to TFS. Eyal Post of EPocalipse Software has built a GUI front-end for the VSSConverter tool, which is the command-line utility that helps you migrate source from Visual SourceSafe to Team Foundation Version Control. In this post I will describe which steps need to be taken.

Converting your projects
Before you can use VSSconverter you need to have the correct tools and rights. VSSConverter depends on Visual Studio Team Explorer, which will help you to connect to TFS and Source Control to determine its projects.

Admin password of SourceSafe
If you want to retrieve data from your SourceSafe environment, you need to have full control to do so. In some case it's necessary to hack SourceSafe, because no one remembers the password of the Admin account. Luckily you can easily overwrite the passwords for a SourceSafe environment, which are stored in the um.dat file. This file, which can be found in the root, contains all passwords of each user and are binary stored. Open the um.dat in a hexadecimal editor and try to determine the offset of your Admin account, as the file is ordered alphabetically by login. If you haven't any user name that appears alphabetically before "Admin" it will appear at offset 80. Hack the file and remove the Admin password from offset 80 the bytes are (all numbers are hex) and change the bytes to exactly what's typed below and include all bytes even the one from offset a0.

0:80  55 55 bc 7f 41 64 6d 69 6e 00 00 00 00 00 00 00
0:90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0:a0  00 00 00 00 90 6e 00 00 a8 01 00 00 00 00 00 00

You now have full access to your SourceSafe database.

SQL Server
Furthermore you need to have SQL Server rights and client tools to connect to the database server, else you will receive the error.

Need a connection and correct rights on SQL Server

ERROR: TF60022:  Unable to connect to Microsoft SQL Server.

VSSConverter requires either SQL Express or SQL Server for migration. By default it looks for SQL Express which is installed with VS 2005 in a default configuration. For overriding the default you can specify another SQL Server. 

User Mapping
After selecting my project source and destination the tool will give you the ability to map the users from SourceSafe to TFS. It's nice to see that only the VSS users which involves the project are given. After selecting the correct TFS users my migration still failed.

ERROR: TF60014:  The username WINNT://SERVER/Mike in the user map file C:tempvssToTfsUsermap.xml is invalid.
User mapping

ERROR: TF60087: Failed to initialize user mapper


I don't know why, but in mine case I needed to remove WinNT:// per user as you can see in the code below. You can do this by editing the UserMap.xml.

<?xml version="1.0" encoding="utf-8"?>
<UserMappings xmlns:xsi="" xmlns:xsd="">
<UserMap From="MIKE" To="SERVERMike" />
<UserMap From="ADMIN" To="SERVERTFSSetup" />

Team Foundation Server
The last step which has to be taken is give the user who migrates all projects the ability check in other users' changes security rights on TFS. If you forgot to do so this error will occur.

ERROR: TF14098: Access Denied: User SERVERmike needs Checkin, CheckinOther permission(s) for $/Playground/Source/dummy.txt.

After correcting all steps I was able to convert one of my SourceSafe projects. You could easily migrate several projects, but I think you should only migrate those which are still usable and important. All other projects can be left in SourceSafe and create a backup of it on disk or cd.

The Microsoft Team for TFS delivered a great product to really upgrade your sources to a fully transactional and more secure source control environment. It's not hard to setup a migration, but some steps are not fully documented. One of the nicest things about the migration, it will give you the ability to still see your previous history. Files checked in at the same time, will now show up as complete changeset.





I've just finished my guide about upgrading TFS V1 to WSS 3.0 and Microsoft immediately releases Service Pack 1 for TFS V1. This is good thing and I knew it was planned for half December, but I now have to write a second guide about extending your TFS V1 with SP1, while you already upgraded it to WSS 3.0. In the last blog I quoted Brian Harry who commented in my Blog "The last remaining issue that you may hit is when you try to upgrade to a future version of TFS. You may find yourself trying to hack your way through that too.". He was absolutely right, I had to do some stunts again. Most of the stunts are just faking your WSS 3.0 Team Site is a WSS 2.0 Team Site. The easiest way is to install SP1 before you upgrade to WSS 3.0. If so, my previous post still stands, otherwise read the steps below to continue your upgrade. Before you start upgrading your TFS its important to create a good planning for Backup and Restore. Just read this article about "Planning for Backup and Restore" on MSDN. This upgrade works for single- and dual server installments.


Visual Studio 2005 Service Pack 1 was released last Thursday.  Here are the direct download links.

and the two for TFS

If you want to slipstream those packs check the blog post of Heath Stewart on How to slipstream Visual Studio 2005 Service Pack 1. For Detecting Visual Studio 2005 Service Pack 1 and Uninstall Visual Studio 2005 Service Pack 1 Beta before Installing the Release he also got some interesting articles.

If you want to read about all bug fixes solved in TFS SP1, read the following blogs Bug fixes in TFS SP1 and Update on Bug fixes in TFS SP1 of Brian Harry

Workgroup Edition Error

Before showing you the way the go, I like to mention if you're upgrading your TFS with SP1 (which you should) and you're using the Workgroup Edition, there are some problems if the server already is using 5 Licensed Users. The error which will certainly strike is 28002 Error Unknown when installing the KB919156 (Quiescing GDR) fix.

To prevent this error, you will have to remove one of the users, upgrade your server and add the user back in the list. In this fix and SP1, MS tries to add the installing user to the Licensed Users list, even if the installing user is already a member of the list. Marcel de Vries, who already blogged about this error in TFS SP1 Beta1, asked if this error will be fixed in the final release of the service pack. But is seems to be an issue for the RTM of the Service Pack as well.

How to fake a WSS 2.0 on WSS 3.0 server

I've created 4 sections in which I describe the changes compared to a normal install. Both installers (Feature- and Service Pack) are checking if TFS is configured correctly on WSS. When all steps are done it will finally install the updates for TFS.

To retrieve the STS_Content database, it using the proc_getDatabasesWithServer stored proc of the STS_Config_TFS database which is obsolete in WSS 3.0. Run the the SQL statement below, and this check won't fail anymore.


CREATE PROCEDURE [dbo].[proc_getDatabasesWithServer]
      @DatabaseServiceId uniqueidentifier = null, 
      @VirtualServerId uniqueidentifier = null
) AS
      INNER JOIN Services ON 
            Databases.DatabaseServiceId = Services.ServiceId
      INNER JOIN Servers ON
            Services.ServerId = Servers.ServerId
            Databases.VirtualServerId = @VirtualServerId AND
            Databases.SiteCountLimit >= 0     

      IF @@ROWCOUNT = 0
            RETURN 0

            INNER JOIN Services ON 
                  Databases.DatabaseServiceId = Services.ServiceId
            INNER JOIN Servers ON
                  Services.ServerId = Servers.ServerId
            Databases.VirtualServerId = @VirtualServerId AND
            Databases.SiteCountLimit >= 0  
      RETURN 0

Because the WSS v2 site isn't active anymore you want the SharePoint Administration Tool to return the info about your WSS v3 site. This can be established by putting the SharePoint Administration Tool in the WSS v2 directory.

Open the Windows Explorer to copy the WSS v3 Administration Tool to the WSS v2 directory.

Open C:Program FilesCommon FilesMicrosoft Sharedweb server extensions60BIN
Rename stsadm.exe -> stsadm.exe.old
Open C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12BIN
Copy stsadm.exe to C:Program FilesCommon FilesMicrosoft Sharedweb server extensions60BIN

The next part I'll explain in the following section.

Open the Windows Explorer to create a dummy root folder for the Dummy Web Site.

Open C:Inetpub
Create a dummyroot folder

When installing the Feature- and Service Pack the web server is also requested to deliver some information to the installers. The first checks if the WSS v2 administration site is installed on the server, and if it's configured for port 17012. During my previous guide I reconfigured the WSS v2 admin site to use 9999 and the WSS v3 admin site to use 17012. Luckily the installers don't check if the server is actually running, so you can change it without stopping the WSS v3 admin site. The other check checks if the Default Web Site is running and if it can be extended. This last check isn't possible with our current Default Web Site, because this site is already extended to WSS v3. This is the part where my dummy site comes in.

Add a Dummy Web Site

Click Start, click Control Panel, click Administrative Tools, and then click Internet Information Services (IIS) Manager.
Stop the Default Web Site

Right-click on Web Sites and add a new Web Site using the Wizard.

Description: Dummy Web Site
IP Address: All Unassigned
TCP Port: 80
Path: C:Inetpubdummyroot
Permissions: Read, Run scripts (such as ASP)


Change WSS v2 port to 17012

Click Start, click Control Panel, click Administrative Tools, and then click Internet Information Services (IIS) Manager.
Right-click the SharePoint Central Administration folder and then click Properties.
Change the TCP Port to 17012 without starting the site.

Now having configured your server, you can install SP1 for TFS. Be sure al these screen will popup when installing the updates. You can also check your Add/Remove programs if the update succeeded. The update for the build will always succeed, because this update won't use TFS. 


When everything is installed correctly return to original state of you Web Server. So stop the Dummy Web Site and start the Default Web Site. The last thing you should do, is change the ports, so IIS can't make a mistake.

I showed you again, the it's possible to upgrade to WSS 3.0 and even install your Feature- and Service Packs afterwards. This is a good thing, so all you WSS 3.0 sites for TFS out there, keep on running. At my company we are using WSS 3.0 for TFS (dual-server), so we can eat our own Dogfood. This way I guarantee you I'll deliver a guide for upgrading to 'Orcas' as well.



This is the second article about Ten Must-Have Tools Every TFS User Should Download Now.

Part I discusses:

Part II discusses:

You cannot expect to build a first-class project unless you use the best available tools. Besides well-known tools such as Visual Studio® .NET and Team Foundation Server, there are a multitude of small, lesser-known tools available from the .NET community. In this article, I'm going to introduce you to some of the best free tools available today that target project development. I'll walk you through a quick tutorial of how to use each of them, some of which will save you a minute here and there, while others may completely change the way that you work. Because I am squeezing so many different tools into this single article, I will not be able to cover each of them extensively, but you should learn enough about each to decide which tools are useful for your projects.

Workitem Event Subscription
In TFS there are a lot of things which can't be realized with the Team Explorer. These special methods are hidden for default user and can only be called by using the command-line. One of these things is subscribing to events. Lots of people have trouble creating filter expressions for event subscriptions, and managing subscriptions. We do have bissubscribe.exe tool that helps with creating subscriptions. But creating subscription expressions is hard because of its syntax. Also, that tool doesn't give a way to view existing subscriptions to unsubscribe them. This excellent tool will do this for you.

Note: This tool as name says only add WorkItem events to the TFS Server. It would be nice if you could add Filters to other event types as well.

Is a .Net 3.0 smart client which monitors for user selected TFS events and will display a balloon window in the Windows TaskBar Notification Area. It is built on top of WCF where you can subscribe to any TFS event you feel fit. It's initial focus is around Team Build management but will also include features around Work Item tracking. For extra information about WCF, read this excellent blog series of my colleague.

Note: This tool has some commonalities with the email messages of Outlook. Outlook will also show you a balloon and will even store it in your Inbox, so you can easily find again. Only with this tool you'll get a specific balloon based on the event type. Unfortunately this balloons don't contains any hyperlinks for showing detailed information about the Workitem and its way for subscribing to events is to barbarian. You have to edit the app.config to subscribe to several events. It would be nice if they integrated some features of Workitem Event Subscription tool.

TFS Bug Snapper
Tool that allows to simplify the process of attaching screen captures and bug descriptions to work items in Team Foundation Server.

Note: The tool works like hell, except it creates a Task WorkItem instead of Bug WorkItem. I don't know why Grant build it this way.

TFS Permission Manager
Working with Team Foundation Server we have to perform various repeating task related to user declaration and permission setting.

Note: I know there is also another TFSAdmin tool, but this tool is a lot more stable than the other one. Besides this if you upgrade your TFS to WSS v3 as I described in my Guide, you won't be able to administrator WSS anymore.

While this article has been dedicated to freely available tools, there are also a host of tools that can be purchased for a reasonable price. I encourage you to check out these other options, as in some cases they can add some tremendous functionality to the TFS. This article has been a quick tour of some of the best freely available tools for TFS. Each of these tools may only do a small thing, but together they help to increase your productivity and enable you to create better projects.

Besides this Microsoft could integrate or add some off the tools from the TFS community to TFS. Microsoft could use a trimmed-UI, so only the users containing the right permissions, could see and use these tools. Maybe we see some of these in 'Orcas' or 'Hawaii'.