SharePoint Development – From the Ground Up
Of course starting to blog about a journey in SharePoint or a re-focus to that product really drives blogging about experiences and things from the ground up. What I've found is that while a couple books walk you through setting up a SharePoint dev environment, and one or two blog posts I've seen out there do the same thing, there are several very basic things that are usually either assumed, implied, or buried 30 feet into the middle of a chapter or post. So I'm going to focus on answering basic practical questions that I had first. In going through this I've developed some opinionated answers, which as my style is I will present with colorful mind pictures.
Q. What Operating System do I need for SharePoint development?
A. People will say you can either do SharePoint development from Visual Studio on any O/S, or to do the development in a server type environment. They are huffing glue. While it is possible to do development for SharePoint in Visual Studio 2008 installed on Windows XP, or Windows 7, or Vista 64 bit, if you do so you will be crawling like a turtle through coding, testing, deploying, testing, etc. You will be slower than a 90 year old who hasn't quite yet had their driver's license revoked. You'll be working at the pace of molasses on the North Slope, Alaska on a cold December morning. You get the point. For any kind of reasonable development pace, you will need to develop on Windows Server 2003 (or stay tuned because SharePoint 2010 will facilitate Windows Server 2008). You need to have pertinent libraries handy, be able to debug, and to deploy to an environment you see the result in a timely fashion. This doesn't happen outside of a server setup for SharePoint development.
Q. OK – I'm going to go with Windows Server 2003 / 8. What else do I need installed?
A. SharePoint 2007, Microsoft Office, SQL Server 2005, Visual Studio 2008 SP1, updates. Don't bother installing the SharePoint SDK or those VSeWSS12 / 13 templates. They don't work very well. Install WSPBuilder for deployment tools from Codeplex. This is not an easy answer to put up with, because it goes against the grain. It takes too !@#$ long to do all those installs just for one stupid dev box. Suck it up, Eggbert, and do the installs. It takes less time to do it right once than wrong three times, and don't ask me how I know. Also you can customize your environment for all the cool little tools you know you always need – like Fiddler, IE Dev Toolbar, SPDisposeCheck, etc.
Q. What about Virtual PC 2007 and using Virtual Machines?
A. Yes, absolutely. They run pretty well from my experience with most of what you're doing in SharePoint. Also, if you keep a copy of your .vhd's every step of the way after building servers (after OS install, after MOSS install, etc.) you can save yourself some duhhhh time. Again, don't ask me how I know. You can also in theory download VM's for SharePoint from Microsoft. I say in theory because they are in 7 parts at over 800MB each and not on MSDN, so you can't use the File Transfer tool. Then you have to piece them together. And it's an eval license on SharePoint so it expires. All those hurdles pointed me towards just building one good MOSS development environment and then backing up the .vhd.
Q. How much space do I need to allocate for the hard drive for my Virtual Machine?
A. My fully loaded dev VM has a VHD that is 14.3GB. This information is nowhere else on the web that I could find. I found it through trial and error. After allocating VHD's of 5GB, 10GB, 40GB, and 20GB. Also after purchasing 2 8GB USB keys which are worthless for SharePoint. Yes a 16GB USB key is plenty to store one good copy of your dev environment Virtual Machine. I don't have info for this yet on the 2010 environment, but I'm going to start testing it at 16GB, and if it doesn't work, try 20GB. A good sturdy external USB hard drive is a good thing to have for storing all these. If you've never been a big fan of virtual machines before, believe me you will be now.
Q. How much RAM does my Virtual Machine need?
A. If you can spare 2GB, by all means do it. If you're RAM challenged (is that an underprivileged class?) than you can squeak by with 1GB, and depending on your box it may not be too slow. If you have the option, get the most RAM you can handle on a machine. If this means a custom order for a laptop with 16GB RAM and Windows Server 2008 as your OS, go for it. You know you want to anyway just to look cool at user's groups and conferences. And put a custom sticker of Wolverine from an old comic release on it too, just to stand out.
Q. These .vhd files have the same extension as the ones I see on Windows Server 2008 in Hyper-V. Can I use my Virtual PC .vhd's on a Hyper-V server?
A. Yes you can, Captain America. What a great excuse to upgrade your dev and test front end servers to Hyper-V.





Comments