Buy me an espresso

November 12, 2007

Options for setting up a MOSS 2007 development environment ...

There are a number of ways to setup your SharePoint 2007 development environment. Below I will highlight the primary options that should be considered. Each option can make sense in the right set of circumstances.

Please keep in mind, I am not going into details about domain controllers, AD, Exchange, etc ... once you add those into the mix, there are easily 10 different ways to set it up ...

Couple of no contest items:
  1. VMware performs better than Microsoft Virtual Server (at least for now)
  2. Installing and running SQL Server and IIS on the same networked machine is a security risk
What each option should have installed:
  • Windows Server 2k3 SP2 +
  • SQL Server 2005 (should always be installed on its own machine/virtual)
  • .Net Framework 3.0
  • SharePoint 2007 (MOSS 07, WSS 3.0)
  • Visual Studio .Net 2005
  • SharePoint Designer

OPTION 1 - DESKTOP VIRTUALIZATION

Hardware: Desktop PC (with min 2GB RAM, running at least XP Pro SP2)
Software: Virtual PC or Virtual Server

When to consider: Virtual PC and Virtual Server are 100% free. If cost is a consideration, this is the cheapest solution. If your developers are competent enough in server administration and knowledge of how to lock down a box, the "up and running" time should be quick.

Pros:
- Cheap solution
- Quick setup if you have competent developers
- Allows developers to have a fully emulated environment at their disposal
- Developers do not affect other as much (IIS restarts, errors, and debugging happen in isolation)
Cons:
- Developers are responsible for their own install ... ie, they can create a security risk with their virtual, they can screw it up to a point where they have to reinstall/reconfigure often ...
- If you have a lot of developer turnover, it would be better to set it up using server virtualization
- Desktop PCs need to be high performance machines


OPTION 2 - SERVER VIRTUALIZATION

Hardware:
ESX, VMware Server
Software: VMware Server requires a base OS ... ESX does not

When to consider: If there is a strong separation between server administrators and developers in you organization, you have a lot of developer turnover, you can afford the biggest and best.

Note: In larger companies, I usually see the server setup/administering/maintenance by a server administrator ... not developers.

Pros:
- Allows developers to have a fully emulated environment at their disposal
- Developers do not (always) have complete control so they can't screw up installation or get the server out of wack with production
- Developers do not affect other as much (IIS restarts, errors, and debugging happen in isolation)
Cons:
- Cost for the hardware
- Setup time can be longer than other options
- Learning curve on the VMware tools


OPTION 3 - WORKING DIRECTLY ON THE SERVER (via remote desktop)

When to consider: If you have a small company or only 2 people that need to be on the server at one time developing and server administering, you cannot afford the time and software costs of using server virutalization, you do not want developers to have their own server.
  • Note: With Win 2k3 you can only have 2 people working on the server at once (really 3 if you sit someone at the console). You would have to purchase Terminal Services licenses to have more folks login. After 2 people in the box, you will see performance fall of a cliff anyway ...
Pros:
- Developers work directly on the server ... less doubt about their code working when deployed
- Developers do not have to install and maintain Windows 2k3, SQL Server on their PC
- PCs do not have to be supermachines
- Quick setup ... only one installation for development
Cons:
- Can put other developers out of commission with IIS restarts, errors, or debugging
- Performance of the development server will decrease with each developer
- Development tools are installed on server
- Must almost always have an idea what other developers are doing

November 5, 2007

A Collection of Questions and SOLID Answers:

Q: What is the easiest way to get started with SharePoint 2007?
A: There is no substitute for hands on experience. Microsoft now offers VHDs (Virtual Hard Disk) that work with Virtual PC or Virtual Server. They are nothing more than a preinstalled version of Windows Server 2003 R2 (for example).

If you are an administrator I recommend using the Windows 2k3 R2 VHD and installing SharePoint from scratch.

If you are a developer I recommend the SharePoint 2007 VHD.

Q: What accounts do I need to setup/create for WSS 3.0 and MOSS 2007?
A: 1) MSDN, 2) CJ's Blog, 3) harbar

Q: How should I setup my development environment?
A: MVN solution

Q: How do I migrate or backup and restore from one server to another?
A: 1) MSDN, MSDN (STSADM), More STSADM

Q: How do I change Database Servers?
A: 1) STSADM: stsadm -o renameserver -oldservername -newservername
  • Do not expect this to work flawlessly. I recommend extensive testing through CA, backups, deployment, and the site collection.
2) GUI

Q: How do I install SharePoint 2007?
A: Stand Alone OR Complete

Q: How do I install and configure Reporting Services?
A: 1) MDSN, 2) Mike's Blog

Q: How do I setup content deployment from one server to another?
A: 1) Content Deployment Topology, 2) Content Deployment Explained, 3) Jackie Bodine's Blog - Step by Step instructions

Q: Why do I receive a "Failed to compare two elements in the array" error message when running a content deployment?
A: It's all about the features ... 1) Steven Van de Craen's Blog, 2) Soren Nielsen's Blog

Q: How do I turn off MySites?
A: Aaron Sailkovski's Blog

Q: Why are my RSS feeds not showing up?
A: Tales From The Field

Q: How do I create and deploy a custom web part?
A: Lee Dale's Blog

Q: How do I hide elements of the Document Library toolbar?
A: 1) Dipper Park's Blog

Q: How do I uninstall a feature?
A: stsadm -o uninstallfeature id=[GUID or ID of feature]

Q: How do I create and deploy a custom user control?
A: Eric Stallworth

Q: How do I create an application inside the SharePoint site?
A: MSDN

Q: How do I create a customize styles and themes?
A: (Short answer) I would highly recommend using some type of skinner like this one. Heather Solomon also has a fantastic reference chart.

Q: How do I customize the Application.Master page?
A: Sridhar's Blog, MSDN

Q: How do I customize the Quick Launch menu?
A: MS Team Blog

November 1, 2007

For the Record ...

My experience with SharePoint started with 2007 and WSS 3.0 in early 2007. Before that I was using MS Content Management Server for roughly 5 years.

I have my MCTS on the following:

Microsoft Office SharePoint Server 2007, Configuring (70-630)
Microsoft Office SharePoint Server 2007, Application Development(70-542)

I have read several SharePoint books from cover to cover but I find that 80% of my customization and out-of-the-box knowledge has come from blogs and forums.

This blog will highlight the some of the best posts out there as well as my own work with SharePoint 2007 and WSS 3.0.

I make no guarantees about any of the information provided on this blog.

Cheers!