When I was asked to get involved with the customisation of site definitions and master pages, my first questions was,
“Ok, I’ll have a go. Can you give me access to the development environment?”
Although “yes” was the answer, it came with a caveat,
“Try not to change too much as we have lots of people using it”
I was, at the time, right at the beginning of my SharePoint 2007 learning curve so I wasn’t overly confident that I wouldn’t bring the system down at some point! I needed another option, one that would allow me to work independently of the other users and that when, notice how I didn’t say if, I break the installation, I can quickly and easily re-build it.
Virtualisation was the only real option. I somehow didn’t think I would get my own development server environment so I never asked for one!
As a laptop user I quite liked the idea of being able to continue to work whilst on the move (or, in the case of travelling by train, not on the move). My humble ThinkPad T42 with its relatively aged processor and 1Gb RAM raised its “eyebrows”.
“I have a 30Gb hard drive, most of which you have managed to fill up and you do remember that I have just 1Gb?” it cried.
Not to be deterred I decided to perform a spring clean and archived almost 12Gb of “stuff”. That gave me nearly 18Gb of free space so that was no longer an issue.
For those of you who may not know, SharePoint 2007 is a bit of a resource hungry beast. To actually do any development work you need the following software;
Microsoft Windows Server 2003 plus service packs Microsoft SQL Server 2005 plus service packs Microsoft Office SharePoint Server 2007 plus SP1 Microsoft Office SharePoint Designer 2007 plus SP1
I know SharePoint 2007 comes with its own internal SQL database but there are limitations to using it – one of them being that you cannot access it through applications such as SQL Server Management Studio, that’s why I have suggested installing the full version of SQL Server 2005. You also get far more options to expand your environment going forward.
For the meatier stuff, add the following;
Microsoft Office 2007 Professional plus service packs Microsoft Visual Studio 2005/2008 plus service packs Microsoft .NET Framework 2.0 Microsoft .NET Framework 3.0 Microsoft Visual Studio 2005 Extensions for SharePoint 2007
Even on a non-virtual machine, this is pretty demanding stuff.
Having never built a server before I hunted around to see in there were any instructions on how to do this. I came across The SharePoint Reporter blog, by Tony Zink. Tony has written an excellent series of articles detailing each step in building your SharePoint 2007 virtual environment. You can find the guide here; How to Create a MOSS 2007 VPC Image: The Whole 9 Yards
This whole process took almost all day on my laptop but I ended up with a full Microsoft Office SharePoint Server 2007 environment including Office 2007, SharePoint Designer and Visual Studio 2005.
You may be surprised to hear that I had this all running in 512Mb of RAM. Yes, you heard correctly. You are also probably wondering what the performance was like, well it wasn’t as bad as you may think. It wasn’t lightening fast but it was usable. It did become painfully slow when running the laptop on battery power only as the processor speed drops to conserve power. There was a lot of disk activity as the virtual machine struggled with the small amount of RAM. I ended up with a 15Gb VHD file that I then cloned onto a portable hard drive and copied over to a P4 3.4Ghz desktop with 4Gb RAM. I did this mainly to have a backup but the performance was much better, as you would expect. Still, it wasn’t my primary development machine. That needed to be beefed up a bit.
I upgraded the memory in my laptop to 2Gb maximum and gave the virtual machine 1.5Gb of it. The performance improved no end. I now have a virtual development environment that I can pretty much do whatever I need to. In future posts I will explain a couple of issues I came across that initially appeared to be memory, or lack of it, related. But for now, I was happy!
I have been using the laptop for quite a while now and it’s worked well for me. The only changes I have made are to move the VHD file across to the portable drive and run it from there. This means that I can attach it to any machine and still get access to the latest installation.
I have also invested in VMWare Workstation and will be looking at how the performance compares to Virtual PC 2007. My long term goal is to get a top spec quad core machine and max out the memory and storage so that I can host multiple virtual environments. This should hopefully allow me to build an environment where I can have a proper farm installation. I’ll let you know how I get on once I have saved up the money to buy it all!
I’d love to hear about your development environments and any tips or suggestions you may have on how to improve performance.
As always, your comments on my posts are welcome.
Until next time…