CHAPTER 3 Setting up a Development Environment for SharePoint Online
To be able to customize your SharePoint Online environment for Office 365, you first need to set up a development environment locally. Some of the changes to your online environment can be made directly to the SharePoint Site Collections and pages in your online environment without the need for a local development environment. However, there are other customizations that can be deployed to your SharePoint Office 365 Site Collections only by way of a specialized packaged solution file. These solution files can be constructed using Visual Studio 2010 (and later editions). A local environment helps avoid the necessity of direct production changes without the ability to experiment and refine solutions.
The primary goal in setting up a development environment for SharePoint Online and Office 365 is to have a place to work on customizations that is not your primary production environment. The online offerings of Office 365 do not provide a common development and testing environment as part of the core offerings, so a different approach is needed to be able to make ongoing modifications that will not affect your end users.
Other goals that are related to this can include initiating a repeatable environment and process for all the software developers in your organization to be able to develop, test and deploy solutions and customizations for SharePoint Online and on your corporate Office 365 instance. Also a goal could be to provide management and end users the ability to preview, give feedback on, and approve solutions being developed before they are deployed to Office 365. Still another goal could be compliance with any internal corporate procedures and processes in place related to software development.
Hardware and Software Requirements
Table 3.1 shows the hardware requirements for SharePoint Server 2010.
Table 3-1. SharePoint Server 2010 Hardware Requirements
SharePoint 2010 is a product that is built based on a 64-bit code base. As such, SharePoint 2010 can be installed on operating systems that are 64-bit. For the purposes of Office 365 customizations, it is not necessary to install a local development SharePoint environment as a full-featured SharePoint 2010 Server install on one of the 2008 Server products. It is sufficient to work with a Windows 7 x64 operating system and a simplified SharePoint 2010 Server installation there. The scripting option shown later in this chapter—the SharePoint 2010 Easy Setup Script—offers two options for installing SharePoint 2010 on Windows 7 environments through a PowerShell-scripted environment.
For a virtualized hardware environment it is important to keep in mind that some processors do not support 64-bit virtualization.
The key point to remember regarding software requirements for SharePoint 2010 is that SharePoint 2010 is an x64 application. It is built upon a 64-bit base, so it can be installed only on 64-bit operating systems. This is different from SharePoint 2007. The exact details behind all the operating systems supported can be found, including the latest information at the SharePoint Technet sites at http://technet.microsoft.com/en-us/library/cc262485.aspx. A shortened version of that list is as follows:
• Windows 2008 Server R2
• Windows 2008 Server (with patches)
• Windows 7 x64 (with patches)
• Windows Vista x64 (with patches)
The server products are useful for server installations, but it is fine to use Windows 7 x64 for your development environment.
Virtual Machine Options
If you are accustomed to standard ASP.NET or other .NET development environments, you might not be used to working in a virtual machine (VM). SharePoint can be set up in any supported environment on a VM, just as it can on physical hardware.
To run VMs on your local Windows 7 (or other OS) environments, you will need some type of hypervisor (virtualization) software. For SharePoint development, there are a few choices available.
Note The hypervisor software (as well as your hardware) must support 64-bit operating systems.
Hypervisor software is software that specializes in running a full virtual machine within software on another machine. Virtual hard drives (.vhd files for HyperV or .vmdx files for VMWare) are used as operating system drives, and machine settings are stored within VMs. There are several options on the market for this type of software.
VMWare Workstation is a full-featured hypervisor option for running VMs. You can learn more about the software, licensing, and purchasing options at http://www.vmware.com/ VirtualBox is a free option available at https://www.virtualbox.org/. It is the only option of its kind released under the GNU GPL (version 2), so a core portion of it is guaranteed to remain free. It is a fully featured hypervisor or virtualization product and works well for SharePoint 2010 and Office 365 development.
Hyper-V is a hypervisor that Microsoft provides and is available as a role on the 2008 Server R2 products. It is also available as a free operating system (OS) from Microsoft. The OS is Microsoft HyperV Server 2008 R2. It can be obtained from Microsoft Downloads at http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=3512
For x86 environments (such as running a hypervisor on a laptop Windows 7 OS), VMWare Workstation and VirtualBox are the only products supported. HyperV Server or Windows Server 2008 R2 can be run on a laptop or desktop environment, but many convenience options such as Power Saver options on laptops will be missing.
VMWare and VirtualBox are great solutions for mobile or demo environments on laptops or desktops running Windows 7. Standalone server hardware or an old desktop that is upgraded to have enough hardware is a great environment for running Windows 2008 Server R2 or HyperV Server 2008 R2.
Note At some point not too far from the intended publication date of this app, Windows 8 and Windows 8 Server environments will become available with more-advanced virtualization options. Be sure to check on those options before settling on a path for your development environments