Because you get excited by things like this, SharePoint Conference 2008. Holy crap I need a girl friend before I start using pocket protectors. But hey, I have a great job and knowing as much as I can makes it even better.
Archive for December, 2007
For some unknown reason when Microsoft decided to release TFS for trial and WorkGroup (5 users) but not for a version for the larger companies that are supported by Microsoft. They decide to make use wait until January of 08. I want to get off of Beta 2. WAITING??
You can read the details onĀ Brian Harry’s blog.
I ran into a problem that I am sure more people than me run into. I had to install TFS into a remote office of developers that are contracted. To make it worse the remote office is 5000 miles away. Now since the developers are not employed by us I have the choice:
1. Leave them in their own domain and figure out how to make the remote domain work with TFS.
or
2. Connect their AD to ours and deal with the trust issues.
I decided on #1. Now I am a network guy so setting up the VPN between the two offices was a piece of cake. I dropped a WatchGuard Edge onto the remote next work and connected it to our home office for a secure VPN.
Now for the fun part. The proxy server connects to the main TFS server using the Identity of the Application Pool for the TFS Proxy Server Web Site. Since the remote AD and the TFS AD are not in the same domain, they can not authenticate to each other. But there is a hack.
In this scenario we will use 3 devices, Proxy server (PServer), TFS server (TServer), and remote client (client). There are two domains HomeAD (TFS server domain) and RemoteAD (Proxy and client domain).
TServer is in HomeAD
PServer is in RemoteAD
client is in RemoteAD
The hack is to create a local user on TServer, we will use proxyUser with a password or proxy123. Make that user a local admin and add that user to TFS.
In visual studio, in Team Explorer, right click on the TFS server (TServer), Team Foundation Server Settings, Group Membership. Click on Team Foundation Administrators then the properties button. Select the ‘Window User or Group’ radio button then Add. Add proxyUser and select OK. The user proxyUser is now an Administrator for the TFS server.
Now on the remote domain, RemoteAD, add the user proxyUser with the same password, proxy123.
On the TFS Proxy server open IIS. Locate the App Pool Team Foundation Server and open it. On the identity tab set the logon user to RemoteAD/proxyUser with proxy123 as the password. Run iisreset to reset the web site. Goto http://localhost:8081/VersionControl/v1.0/ProxyStatistics.asmx. Click Invoke. If you get XML that lists number of file fetched, files missed, etc.. then the link to the main TFS is up.
The client is simple. The client’s machine and username are in the RemoteAD domain. When the user connects to the TFS Proxy server (PServer), it will use the users login for the RemoteAD. When the user connects to the real TFS server (TServer) for check-ins and to get the security token, they will use their AD account that has been set up in HomeAD.
So the path goes as follows:
User Ted connects to the Main TFS using an account created for him in HomeAD, HomeAD\Ted2. He gets a token from that TFS and give it to the Proxy using his local AD creds, RemoteAD\Ted. He gets files from the Proxy, who gets the files from the Main TFS using the creds RemoteAD\proxyUser. That login gets translated into TServer\proxyUser for authentication. When Ted checks in, he uses the HomeAD\Ted2 login again.
I ran into a problem today with a friend who runs a few sites like PhoneDog.com and ButterflyEffects.com. He had an issue with page loads being very very slow for no reason at all. We must have spent two hours looking into firewall, vpn, network and server issues. None of them were found to be the issue. All we knew was that it ran like greased lightning when we were on the local network of the host server. A little more tested showed that it seemed to be the cached files not being cached. Even though IE and FF were set to cache the files, it seemed like they were being downloaded every time.
Well I finally discovered that when a .NET site is set to debug, the web reference files are set to private. And because of that they are re-downloaded every time. This is no big deal, but when you use a lot of controls like Rad Grid and compiled images they load the server up horribly. You can see over 1 MB being downloaded on every page. And NONE of that shows up in the source code. You see you have a 80k source code size, but if you open you temp files you will find a Meg of files downloaded every time.
Well, in a 2.0 site, just open the web.config, find the debug section and set it to false. That will mark the web references are public and cacheable.
<compilation debug=”false”>
Enjoy
Today I got an early Christmas present, a server 2008 virtual server tour. If you are like me, and there are a lot of us, you are a programmer / network admin for your company. I get to spend half my time working code and the other working network issues and development. That is why you will see a lot of post from me that involve a lot more than programming.
Well Microsoft finally did the readiness Live Meeting for server 2008 virtualization. Now let me tell you have have played around with 2008 a little bit and I like it as much as I like Vista. I dont. It seems bloated and very cumbersome to me. I have a very hard time doing some of the most simple tasks. I really hated it and swore it would be in SP1 before I started to install it on my network. Well that is not longer true. I have been getting more and more involved with virtual servers ever since MicroSoft came out with MSVS 2005 R2. That was a uge step in the right direction for MicroSoft and there virtual server platform. You see, I once got a chance to play with VMWare aka my Cadilac. And man what a dream to get behind the wheel of a WMWare ESX server. It has everything I could ever need. It was fast, smooth and packed with goodies. But dad wouldn’t give me the money to buy that Caddy, I only had enough money to buy the Yugo, and it was what I thought it was. So I crowned it’s ass. It was slow and unimpressive but good enough to get me to work. It worked, and that was it.
But now that Yugo has turned into a 2008 Corvette. And man is it sweet!!! Dad gave me the keys Microsoft Server 2008 virtual server which is now built into Windows Server 2008. It has everything you need and it is a direct attack on VMWare stake of the virtual server market.
Virtual Server 2008 now directly links to Intel VT and V-AMD chip’s virtual technology to allow the guest server direct access to hardware. The hard drives are now writing data directly to the host hard drives. Not thru a software layer in the host os, slowing it down. Guest servers can now be clustered with other host servers for a fail over of the guest OS. Handling the fail over of the host OS is still up to you. You can now move a live guest server from one server to another to load balance the host server at will. I am sure that like VMWare they will build a utility that will move the guest server for you for an automated load balancing platform. Multi processors are now supported inside the guest server. 64 bit is also supported in the guest servers now. VS2008 will let you take snap shots of your guest severs for a scheduled backup. The snapshots are a lot like DPM 2008 in that it is a byte level backup of the data on the disk on a changing bytes basis. I haven’t loaded any virtual servers up on 2008 yet because all of my 64bit servers are in production use. I only have older 32 bit servers for my testing. But now seeing this, I will get a 64 bit server in to load up with RC1 2008 and test out the servers. I am sure I will love what I get, fast, easy and reliable.
We currently have about 30 servers in our company. In the last year I have created 10 virtual servers and saved my company about $20,000 in needed hardware. With VS 2008 I am hopeful to get one more AD, Exchange 2007, SharePoint, TFS and some dev servers into VS enviorment. This is going to be a great year. Below are some images from the preview.








