Tag Archives: Application Development

Team Foundation Server 2010 Installation Experiences and Lessons Learned

Do it right the first time! 🙂

There’s quite a few posts on Team Foundation Server 2010 (TFS) and how to install and configure it, as well as a really good CHM file from Microsoft on the same topics, so I won’t go through duplicating what everyone else has done and will link to one at the bottom of this post.  I’m writing this just to relay the experience I had with getting the product configured just the way I wanted it, or some facsimile thereof and some lessons learned.

 tfs001

After viewing some videos on YouTube of TFS, reading some of the Microsoft marketing material, and some of the posts on it, I decided to stand up TFS in my environment to see how well it works and to explore changes since the last version.  Right now, the team I lead isn’t really using any ‘set’ collaborative product.  We tend to work in small teams on projects so the need isn’t really there, though I’m sure the organization wouldn’t hurt.  We’re currently using Subversion as our source repository and occasionally use MOSS or WSS to collaborate.  Otherwise it’s phone calls and emails since we also tend to bounce around the country.  Enough background, on to TFS installation…

After reading through a few blog posts and Microsoft’s documentation on how to install and configure TFS, I stood up a Windows Server 2008 R2 VM and installed SQL Server 2008.  I was going with a single server install.  I followed the documentation to the letter for a single server install, and everything worked out just fine.  WONDERFUL!  GREAT!  So far…

Continue reading Team Foundation Server 2010 Installation Experiences and Lessons Learned

Google’s Search for AdSense and MOSS/WSS – CKS:EBE

Since starting this blog, I’ve tried to add features that I thought might be useful.  After experimenting with a few searches, I decided to go with Google’s Search for AdSense.  It seemed to be a pretty useful tool, with advertising harmlessly placed on the side of the search results page, and if someone finds an ad that they are interested in, I’d make a few pennies.

However, with the way MOSS is constructed, with ASPX pages, master pages, and the rendering and server call structure, it was not as easy as some of the other features I put on this site.  The code that Google provides to copy and paste into the page is nested inside a <FORM> tag.  With the way ASPX pages are generated, that would be nesting one <FORM> tag inside another <FORM> tag and that dog just won’t hunt.  After doing quite a bit of head banging, and a ton of searching and experimenting, I was able to come up with some javascript that I thought would post properly.  This worked out just fine in Safari, I didn’t test on Firefox, but failed miserably in IE.  In Safari, the link would redirect properly, but in IE, the page would simply post back to itself, adding the proper querystring variables, the information after the URL that sites sometimes use to determine what you’ve done on a prior page, but failing miserably to deliver the desired result.  As IE is one of the most used browsers on the Internet, this just wasn’t acceptable.  Thus began my search for content on how to do it.  I couldn’t believe I was the only one with the issue.  After some pain, I came up with the solution listed below, and even some javascript to get Google’s branding back into the text box.  I didn’t want to violate any of their terms of use. 😉

The code below is used to replace the <FORM> that Google’s code generator spit out, and behaves properly within SharePoint (sorry, no syntax highlighting or proper formatting, as I haven’t gotten around to that ‘feature’ yet):

Continue reading Google’s Search for AdSense and MOSS/WSS – CKS:EBE

Windows PowerShell sticker, and /n Software for free

So after following a link from a buddy’s blog, Bobby Shea, I started browsing around /n software’s web site. I filled out the form for a free Windows PowerShell Sticker, again – yes, they didn’t send it months ago the first time I tried, and I found something else interesting on their site.

Months ago, the first time I visited /n’s site, I downloaded a trial version of Netcmdlets.  Netcmdlets is /n’s PowerShell snap-in that extends PS into remoting, SSH, and other network protocols.  I ended up uninstalling the software after the trial was over.  Now, the software is FREE for hobbyists!  Since I’m not using PowerShell for work with clients, restricting my PS activities to my home network and ‘playing around’, I’m qualified as a hobbyist!  I’m on my way to download right now!

If you’re not familiar with NetCmdlets, you should definitely check out the site, the description, fill out the form for your sticker and keep your fingers crossed, then download the hobbyist version, unless you’re planning on using it commercially in which case, pay /n some money. 🙂

A quick list of the features, taken from the /n site are:

Device Management SNMP device monitoring and management capabilities, complete with SNMPv3 Security.
Remote Access Secure Shell enabled remote execution using Rexec, Rshell, or SSH.
Directory Administration Access Active Directory or OpenLDAP servers through LDAP Directory Access.
Email Send & Receive Send HTML Emails or Emails with file attachments. Retrieve Email through POP or IMAP Connectivity.
File Transfer File transfer capabilities through FTP, TFTP, & RCP connectivity.
Instant Messaging Jabber Instant Messaging, SMS messaging, and Alphanumeric Paging.
Network Monitoring Listen and react to SNMP Traps and Syslog event messages or access raw Ethernet Packet captures.
Access to Web Services Connect to web services through HTTP and RSS client capabilities.
DNS Configuration Monitor DNS and other network configuration changes.
Encoding / Decoding A complete array of utility encoding and decoding capabilities including MIME, UUEncoding, URL, Hex, etc.
Zip Compression File compression including password protection, AES Encryption, and 4GB+ archive support.

This is really good stuff, at a great price, free!  Check it out.  If you type instead of click, and you know who you are, you really need these tools.

/n software inc. – Show your support for Windows PowerShell!

IIS Can Manage Multiple Web sites on Port 80 with a single IP address

Host Headers are the answer!

YES!  IIS can manage multiple web sites on the same port (properly port 80) without having to do extraneous configuring.  This can even be done with MOSS and WSS implementations.

I’ve always considered it to be common knowledge that ‘host headers’ could be used to allow IIS to handle multiple web sites on the same IP and port.  Lately I’m finding out that some very smart people are completely unaware of this fact, so I decided to blog about it.

Configuring it for basic site usage:

– Open IIS (Start > Run > inetmgr). 

– Expand the <server> node, and expand the Web Sites node.

iis01

– Right-Click on the web site that you want to edit and choose Properties.

– On the Web Site tab in the Web site identification area, click on Advanced.

– The top area titled ‘Multiple identities for this Web site’ will allow you to add host headers, modify IP address usage within IIS, and modify the non-SSL ports.

iis02  iis04

The host header value will cause IIS to route requests that are directed to the specific host header to that specific web site.

You can and should use this to facilitate development and production deployments within IIS.  If host headers are not used, then the only other way to assign multiple sites using the same port (80) to a single web server is to assign multiple IP addresses.  There is no reason to do that.  A single IP address can be used to route your sites and to state once more, this can be used with MOSS and WSS web applications. 

For MOSS deployments, when creating a web application you can assign a host header and MOSS will configure IIS accordingly.  If your web applications are already created and you want to host them on a new port (80) using host headers, you should be able to make the changes directly within IIS to manage this.  Make sure you leave the original entries in IIS so that no URL’s break, but you should now be able to route through IIS on port 80 to your web application.  Please post any environment specific questions and I’ll answer as I can.

Hope this helps some people out.

And please note, this does not apply for SSL (HTTPS) sites.  SSL does not support multiple sites on the same port and IP address due to the way encryption and certificates are managed.

Tutorial: Creating A MOSS Development Environment Part IV – Configuring MOSS

Ok, this is the last entry in this series of tutorials for setting up a MOSS development environment.  In the prior posts, we installed SQL Server, installed MOSS, installed VS.NET and some other supporting products, and in this post, we’ll configure MOSS.  The plan for this configuration is to go through the basic farm configuration with assigning roles to our server and setting up a web application.  As an additional task, we’ll extend the web application that we create and configure it for secure (https) access.  I’ve discovered that in most deployments, clients are looking for secure websites, so it makes sense to develop on one whenever possible.

Here are the links to the prior posts in this series:

Tutorial: Creating A MOSS Development Environment Part I – SQL Server Installation
Tutorial: Creating A MOSS Development Environment Part II – MOSS Installation
Tutorial: Creating A MOSS Development Environment Part III – VS.NET Installation

Prework

There are a few things that we’ll need to do as prework for completing this tutorial.  Create the following accounts:

WssSearchService (we’ll use this account for all of SharePoint’s search functionality)
SpsContentAccess (used for the content access account for indexing)
MainAppPool (we’ll use this for the app pool account)
MossSspAccount
(will be used for the SSP application pool)
MossWebApp01 (will be used for the main web application)

Continue reading Tutorial: Creating A MOSS Development Environment Part IV – Configuring MOSS

Tutorial: Creating A MOSS Development Environment Part III – VS.NET Installation

Welcome back and onto part III of this installation guide.  This installment will document installing Visual Studio .NET 2008 and also discuss the additional software that is advised to facilitate MOSS development.

Parts one and two can be found here:

Tutorial: Creating A MOSS Development Environment Part I – SQL Server Installation
Tutorial: Creating A MOSS Development Environment Part II – MOSS Installation

If you’re following along, great, and if you’re just coming across this entry because you wanted a sample of the software to install in the environment to facilitate development, that’s great too.  I hope this entry helps.  Installing Visual Studio .NET is pretty straight forward, the only thing I do different than the standard install is change the installation path, and remove SQL Express since we installed that during step one, so before I move onto documenting that, I’ll list the software that I add to development environments.

Software to add to your MOSS Development Environments

BDC Metadata Manager
Fiddler HTTP Debugger
Internet Explorer Developer Toolbar
Lutz Roeder’s .NET Reflector
PowerShell
Microsoft Office 2007
SharePoint Designer
Visual Studio 2008 Extensions for Windows SharePoint Services (VSeWSS)
Visual Studio 2005 Tools for the 2007 Microsoft Office System (VSTO)
WSS 3.0 SDK
MOSS 2007 SDK

From the above software list, everything is either included with your MSDN License (hopefully you have one) or available as a free download, with the exception of BDC Metadata Manager.  However for BDC Meta Man, you can download a light-weight free version of the product that will allow you demonstrate functionality.

Continue reading Tutorial: Creating A MOSS Development Environment Part III – VS.NET Installation

Tutorial: Creating A MOSS Development Environment Part II – MOSS Installation

Ok, here we go with part 2 of this tutorial.  The part where we actually do the MOSS installation.  If you missed part 1, you can find it here: Tutorial: Creating A MOSS Development Environment Part I – SQL Installation.  If you’re back after doing part 1 and are ready for part 2, "Welcome back!"  So without any further ado and hoopla, I’m just going to copy and past the Disclaimer and The Environments from part one for your perusal, and jump right into the MOSS Installation.

Continue reading Tutorial: Creating A MOSS Development Environment Part II – MOSS Installation

Tutorial: Creating A MOSS Development Environment Part I – SQL Server Installation

One of the questions I get the most is how exactly do you create a Microsoft Office SharePoint Server 2007 (MOSS) development environment and what software should be used / included.  Since I usually create a new environment for every client, I get a lot of practice at it and I thought I’d document the process.  I’ve included screenshots for every touch point in the SQL install and will do the same for the following Parts. You can click on the thumbnails to view a larger version.  I assume no prior knowledge of SQL, MOSS, or Visual Studio in these tutorials.  If anything I’ve noticed out there is most tutorials assume product familiarity.  This will help novices as well. 🙂

Continue reading Tutorial: Creating A MOSS Development Environment Part I – SQL Server Installation

AntiVirus Blocking Woes for Infrastructure Changes

I’m not sure if I’m the only one out there that doesn’t know this, especially since I’m an app dev guy and not an infrastructure guy (though you may not be able to tell by my posts so far), but AntiVirus engines can really ruin your day when you’re attempting to troubleshoot things, or install enterprise software.

Recently, I installed Microsoft Exchange 2007 and had all kinds of trouble.  Needless to say that the antivirus client that was running on the domain controller was preventing remote updates to the sysvol folder.  Now you’d figure that I could manually correct the issues after disabling the blocking rule on the DC, but no… I had to uninstall Exchange and reinstall it.  By the way, when you uninstall exchange, while planning to reinstall it, make sure that it cleans up Active Directory properly or the installer will never get started.

To add insult to injury, I couldn’t figure out why my Exchange install could receive emails, but was failing to send them out.  Again, turns out that they AntiVirus client was blocking all outbound port 25 traffic.  Again after adjusting the policy of the AV client, yes… success.

Within the next 24 hours I began troubleshooting why my SharePoint boxes could not send out smtp mail via the Exchange server.  I had already created a new receive connector and configured it properly.  After a short time of chasing my tail, I remembered that all of these servers were built from the same sysprep image.  All running the same AV client, and yes, the port blocking rule was still engaged on the SharePoint box.

Just as a reminder to anyone that reads this, and myself especially… Make sure to check all traffic failures first with your various AntiVirus engines.  They are very thorough and a thoroughly locked down server is going to likely need some reconfiguring prior to retasking or deployment.