Thursday, December 2, 2010

Creating Web Applications, Site Collections and Sites

Problem

In a recent tip, I discussed installing the Windows SharePoint service and SharePoint Foundation 2010. Once you have completed the installation, you need to understand the steps to create a web application, site collections and sites. In this tip, we cover the steps required to complete your SharePoint installation.

Solution

In this tip I am going to use SharePoint 2010 Central Administration to create a web application, site collections and sites. The same can be done programmatically by using PowerShell using the SharePoint libraries or object model / SharePoint APIs. In future articles, I will talk about how setup can be done programmatically.

Web Application

In the SharePoint hierarchy, a web application is the top tier.  It is nothing but an IIS (Internet Information Services) website which is specifically configured to run as a SharePoint site and contains at least one or more site collections. While creating a web application you can either associate it with an existing application pool or you can create a new application to be associated with it. While creating your SharePoint web application you also need to specify a content database and details like authentication method used to connect to the content database.  It is possible to have multiple content databases for different site collections for the web application. Using multiple databases makes it easier for content database management, backup, restore, etc...

Site Collections

As I mentioned above, a web application needs to have one or more site collections. A site collection is a logical container for grouping sites and allows hierarchical arrangement of sites within it. A site collection has exactly one default top level site and may have many child sites. By default all sites of a site collection share navigation, security/permissions, templates and content types so you should plan to include all sites in single site collection if they all need to share these things.  If needed, you can specifically change settings for a particular site if required.

Sites

A site collection has at least one parent site which is created by default when you create a site collection and may have many other sites within its hierarchy. A site allows us to organize and store all content in SharePoint, the content can be Lists, Libraries (Document Library, Picture Library, Report Library, Form Library etc...) Web pages, Web parts, Sites and Workspaces. Further a site can have child sites in its hierarchy. 


Enough on concepts, let's go through some examples:

Go to START -> All Programs -> Microsoft SharePoint 2010 Products and click on SharePoint 2010 Central Administration, this will open the Central Administration site UI as shown below. Click on Manage web applications under Application Management in Central Administration page or under Web Applications in the Application Management page. 





On the web applications page, in the right pane you will notice all the web applications created so far. On top you will see an Office style ribbon which is a new feature of SharePoint 2010. Because we intend to create a new web application, simply click on the New option in left most side of the ribbon.

This will open up a Create New Web Application page, you need to specify different settings/parameters for your new web application to be created. Some of these settings/parameters are described below:

Settings
Description
Authentication
This setting allows you to define the authentication method for SharePoint users. In classical mode, users are authenticated to access the web application using Windows authentication. The claim based authentication is new with SharePoint 2010 and allows users to be authenticated by Windows authentication or form based authentication (FBA) or a trusted identity provider (SAML) so that users from heterogeneous systems can access the web application.
IIS Web Site
With this setting you specify whether you want to create a new IIS website or use an existing IIS website for your web application. Next you specify the port number for your new IIS website or this will be the same as the existing IIS website if you are re-using it. Host Header is an optional setting and is used in case you want to share the same port number across multiple IIS websites. If you specify anything here you also need to configure DNS to route requests to the appropriate server. Path is the physical location where files for the web application will be copied.
Security Configuration
With this setting you specify the authentication provider to be used by this web application, it could be either Negotiate (Kerberos) or NTLM. Select Allow Anonymous to Yes if you want your web application to be enabled for anonymous access, it uses the computer-specific anonymous access account i.e. IIS_IUSRS. Next you can enable SSL for your web application, but you also need to install and configure an SSL certificate in IIS.
Application Pool
This setting associates an application pool with your web application; you can either choose to use an existing application pool or create a new one for your web application. If you are creating a new application pool for your web application you also need to specify the security credential either predefined or configurable.
Database Name and Authentication
This setting allows you to define the database server where the content database for your web application will be created (or will be reused from); next you need to specify the content database name and authentication mechanism to connect to the database server. Windows authentication is recommended as is SQL authentication, note that passwords are sent unencrypted to SQL Server by default.
Failover Server
If you have configured database mirroring for the content database then you can specify the name of the failover server here.
Service Application Connections
You can use either Default or Custom, if you choose Default the web application will be connected to the default set of service applications or you can use Custom to individually select the service applications on which this web application will be connected to.
Customer Experience Improvement Program
If you select Yes, SharePoint sends program errors and information to Microsoft for improving the product.
Once you have specified all of the required/optional parameters on the Create New Web Application page, simply click on the OK button and wait for the web application to be created. Once the web application is created you will see a screen like below. Click on the Create Site Collection link to create a site collection as the web application is not usable unless you create at least one site collection.
On the Create Site Collection page, first you need to specify the Title and Description for your new site collection.
Next you need to specify the URL for your site collection in the Web Site Address section.
Then you need to select one of the several available custom created templates which will be used as a blue-print to create your site collection.
Next you need to specify the Primary Site Collection Administrator, specifying the Secondary Site Collection Administrator is an optional setting, but recommended as it allows secondary administrator to take charge of administration if the primary administrator is not available.
Next if required, you can use the Quota template to restrict growth of your site collection to a certain limit.
Click on the OK button and you are done with the creation of the SharePoint web application. Click on the link and you will see your web application like this.
We normally create a site for each division/department/project.  To create more sites, click on Site Action on the top left corner and you will see several options like this (this is another change from last SharePoint version where it used to be on top right side):
Click on New Site and specify different parameters (Title and URL) for your new site as shown below.
You can create as many sites as you want, for example I have created a couple of different sites for each department of the organization as you can see below.

Notes

  • You need to have appropriate permissions in order to create a web application, site collections and sites.
  • When you create a web application, you also need to create a site collection to make your web application usable. When you create a site collection a parent/top level site is created by default which you can use for common information, news, announcements etc.
  • If you want your web application to be available to extranet users you can extend your existing web application to have separate IIS websites that expose the same content to the extranet users.

creating libraries in SharePoint 2010

Problem

Let's understand how we can organize content using the different types of libraries and to understand what a library is all about?

Solution

A library is a container for creating, organizing and managing different types of documents. It allows us to store files and meta information about the files, so that it can be used among different team members. You can create, store and manage almost every type of file in different kinds of libraries (i.e. Word documents, spreadsheets, presentations, forms etc).

By default a Shared Library is created when you create a site and additionally you can create as many types of libraries as you want. There are specialized types of libraries available in SharePoint Server 2010 to store specific types of content such as:

Type of LibraryDescription
Asset LibraryAsset Library allows you to create a rich media library and lets you create, browse, share, organize and mange images, audio and video files.
Data Connection LibraryHere you can create, browse, share, organize and manage files that contain information about connecting to external data connections.
Document LibraryHere you can create, browse, share, organize and manage documents or other files. It also allows creating folders, versioning of documents and check-in/check-out of files.
Form LibraryHere you store and manage Microsoft Office InfoPath forms (or XML files for use with Microsoft Office InfoPath) for instance business forms like a status report, purchase orders, etc...
Picture LibraryHere you can upload and share pictures with others and it includes a built-in image viewer.
Report LibraryHere you can create web pages and reports to track business metrics, goals, KPIs (Key Performance Indicators) and business intelligence information.
Slide LibraryIt allows you to create a library for storing and sharing Microsoft PowerPoint slides.
Wiki Page LibraryIt allows you to create and store customizable pages of content that are linked together and can be edited by several people.

Creating a Document Library...

In your SharePoint Web application, select the site under which you want to create the Document Library and expand the Site Actions menu on the top left side as shown below. You will notice there is a specialized option to create a Document Library from here or you can click on More Options to select the type of Library you want to create as shown below.
On the left pane select "Library" to limit your choices to just Library objects. Select the appropriate type of library you want to create from the middle pane and on the right side specify the name of the library and finally click on the "Create" button. If you want to specify different properties or behaviors of your library, you can click on the "More Options" button which will open a screen as shown below.
Here along with the name of your library you can also specify a brief description. In the Navigation section you can select whether you want your library to be listed on the Quick Launch on left side of the site. Next you can enable versioning for all the documents in the document library, or in other words, each time a file in the library will be edited a major version will be created for it. Document Template allows you to select what default type of file will be created in the document library; for example as you can see below I have selected Microsoft Word document and on the next screen I will show how it appears in the New Document menu.
Click on the "Create" button and wait for your library to be created. Below shows the Library that was created. Notice the Library Tools menu option becomes available in the ribbon style menu which has the Document and Library menus.
Click on the "Add" document link to add documents to your library. You can either upload one document at a time or have multiple documents uploaded in a batch.
As I said before, the Library Tools menu appears in the ribbon menu when you select a library. It has Documents and Library options. The Documents menu allows you to create a new document, upload documents, create folders in the library, check-out, check-in files, etc. The Library menu option has several options to manage your library, for example you can edit your library in SharePoint Designer and change different library settings.


Deleting a Document Library...

Select the library and then the Library Tools menu will appear in the context sensitive ribbon style menu. Select the Library sub-menu and on the right side you will see the Library Settings option as shown below, click on this option.
The Library setting page allows you to change different settings for your library. For example you can change the versioning option, change permissions, delete the library, etc... Click on "Delete this document library" to delete it and you will be prompted for confirmation, then click OK. If you delete your library, then your library will move into the Recycle Bin.
You can restore your library from the Recycle Bin or delete it permanently from there. If your library does not appear under Libraries after restoration you can go to the library setting (by clicking on All Site Content) and change the option to appear in Quick Launch under Title, description and navigation link.
Note: You need to have appropriate permissions on the site to create and manage libraries.

SharePoint Document Check-In and Check-Out

Problem

SharePoint is a collaborative platform. A central feature is the ability to share documents with other users. But what if multiple users try to edit the same document at the same time? This can lead to versioning conflicts and confusion about changes. How can this be prevented?

Solution

SharePoint provides a feature called document Check-In and Check-Out. The purpose is to exclusively lock a document for modification by a user. Once the changes are complete the user can check-in the updated document to release the lock and make the changes visible to other users.
When you check-out a document, you get an exclusive lock to edit that document and can be sure no other users can make any changes to the same document. Though other users can read the document, they will not be able to edit it or even will see your changes unless you check-in the document. While a document is checked-out, you can edit it, close it, reopen it, even work offline with it. Once your required changes are done you can check-in the document to release the exclusive lock which you had for document editing. Your changes are then available to other users. While checking-in the document you can also specify a comment about the changes to help others understand what has changed.
If the version control feature is enabled, this comment will become part of document version history, so if needed you can revert back to an older version by looking at the comment. (I will be talking in detail about version control in a future tip.)
There might be a time after checking out a document where, where you want to discard your changes, even after saving them. You can then discard your changes by un-doing a check-out.
Example
Click on the dropdown (arrow) icon on the document as shown below, then click on the Check-Out option to check out the document (this gives you an exclusive write lock on the document).
In SharePoint 2010, you can also check out a document by selecting a document in the library and then clicking on Check-out option in the Documents ribbon (2nd image below).
When you make changes to a checked-out document, the document is stored by default on your hard disk in a drafts folder that is in your "My Documents" folder (when using WSS 3.0) or with SharePoint 2010, the default location is the web server. The location of the local cached copy is configurable. (That, however, is outside the scope of this tip.)

Once a document is checked-out it will be indicated with a tiny down arrow icon as shown below. If you hover the mouse pointer on it, then it will show who has checked out that document.
Once you have checked out a document, you can open and edit it. The moment you save and close the document, you will be prompted with the below alert. If you select "No" the changes you make to the document will be available locally only to you. No other users will be able to see those changes unless you check-in the document (by clicking "Yes").
While checking-in your document you can specify any comments about the changes you have made to the document. If Version Control is enabled for the document library, this comment will become part of version history and will be quite helpful.
Looking at the different comments in the version history can help you choose the right version when reverting back to older version. While checking-in your document, you also get an option to check in the changes, while at the same time keeping the document checked out. This enables others to see your changes, but you still have the document locked so others cannot make changes.
If the document is already checked out by someone else and you try to check it out, you will be prompted with this message about who has checked-out the document and what options are available to you.
For example, When I tried to check-out an already checked out document (see below), I was informed that the document is already checked out, by who and when, and then given an option to override the checked-out by that user.



You can operate many of the SharePoint Check Out features directly from MS Office applications as well. Below you can see a checked out document in MS-Word and the options to perform other actions to it.


Wednesday, November 10, 2010

The Six Pillars of SharePoint, New and Old

Microsoft has released several generations of SharePoint, but you only need to be concerned with SharePoint 2007, which has been around for roughly 3 years now, and SharePoint 2010, which was officially released in May 2010.
In the pie diagrams below you see that Microsoft divided both SharePoint 2007 and 2010 into 6 different core functional areas, and that these core concepts have evolved from the 2007 to the 2010 version.
2010-06_SharePointVersionComparison.jpg
SharePoint 2007 and 2010 — Core Functional Area Comparison
In SharePoint 2007, the six functional areas include:
  1. Collaboration
  2. Portal
  3. Search
  4. Content management
  5. Business forms
  6. Business intelligence
This release of the product included the first forays into both web content management and connectivity with back-end business systems. However, for the majority of users, SharePoint 2007 was really used as a glorified file sharing service, with a bit of collaboration added on.
SharePoint 2010 aims to change this — to really move towards Microsoft's dream of SharePoint as an enterprise platform for many different information applications and information worker uses.
The 2010 release offers a number of improvements over the 2007 product, including user interface improvements, greater social capabilities, deeper business intelligence, advanced records and document management and better integration with with other systems.

SharePoint 2010: An Ambitious Enterprise Platform

In the following six sections I quickly walk you through the key parts of SharePoint 2010. As you read on, keep in mind that customers are in no way obliged to use all of these things. Some companies will use five or six of the core areas, some might only use one.
Regardless, to understand what SharePoint really is, you need to understand the highly ambitious agenda Microsoft has for the product. It is this: To become the single point for all information aggregation, search and collaboration in your organization.
That's a lofty goal. Let's look closer.

1. Sites: Building and Managing Internal and External Websites

While there have been a number of improvements related to web content management (WCM) in SharePoint 2010, CMSWire readers know that it's a stretch to call it a full-fledged web content management system. Nevertheless, Microsoft has stated that they believe SharePoint is a good platform to support your WCM needs, whether it's for an intranet, extranet or an Internet.
In short, SharePoint 2010 comes with native Web CMS functionality. Regardless of how you use SharePoint, you will likely use some of this functionality, at least for internal collaboration websites. Broader uses could include running your entire intranet on SharePoint, or running your public-facing website(s) on SharePoint. However, these are decisions you'll have to make based on thorough analyses. There very well might be other products in the market that will better meet your needs.
With that said, there are sensible people who are enthusiastic about SharePoint 2010's Web CMS capabilities. For example, Tom Resing, a Microsoft Certified Master in SharePoint, had this to say about SharePoint 2010:
"SharePoint is software from Microsoft designed to make publishing on the web as easy as using Word, Excel, Access + PowerPoint."
He went on to say that he's proving it by putting his own website on SharePoint as part of the "SharePoint WCM revolution".
Other people are more tepid on SharePoint 2010 as a Web CMS solution. Errin O'Connor, the CEO of the EPC Group, also believes SharePoint can be used for web content management, but that Microsoft really needs to sort out the licensing before we'll see it used more broadly for public-facing websites.
The 2010 release does bring a number of WCM improvements:
  • A more intuitive content authoring/editing experience, with a similar look and feel to MS Office
  • Better support for websites that need to be available in multiple languages
  • Better organizing and categorizing of content
  • Compliance with Web Standards like XHTML and WCAG 2.0 AA to ensure a wider range of users and devices can view your website
  • Improved search, particularly via FAST Search, including more relevant results and more ways to view the results
  • Integration of Web Analytics to see how your website is performing
  • Personalization via Audience targeting
  • Cross browser Support — view your site on most of the popular browsers today
Here is an example of a multi-national company which decided to run their website on SharePoint 2010:
WCM_KraftFoods.jpg
An Example of a Public Website Powered by SharePoint 2010 (KraftFoods.com)
For more information on SharePoint 2010, see our recent article WCM is Better in SharePoint 2010 - Is it Enough?

2. Communities: Creating a Social Collaboration Environment

If you are on Facebook it's probably to keep in touch with friends and  family, and stay mildly horrified by the lives of your old high school classmates. If you are on Twitter, it's about jabbering with friends and tracking topics or people of interest. We'll side step the online stalking dating aspects of these things for the moment.
Social capabilities like Facebook and Twitter are becoming normal for many of us, and for the youngest generation of workers, status updates and micro messaging have long been part of la vie quotidienne.
Now all this social media stuff is moving into the workplace, as part and parcel of the typical information worker's desktop. It all boils down to providing a modern approach to working together, collaborating and sharing knowledge.
So these capabilities need to be a component of every piece of software we use. SharePoint 2010 works towards this goal by supporting:
  • The ability to create detailed user profiles (think employee Facebook pages)
  • Use of modern tools for sharing and collaboration including blogs, wikis, RSS feeds and activity streams
  • The creation of special interest groups (Communities) to share knowledge or work on projects (these often map directly to your company's org chart)
  • Interactivity and engagement via commenting and discussions around content items, and social tagging/bookmarking of content 
  • The creation of separate personal spaces or dashboards called MySites where you can keep track of your own content, and the work you are doing in certain communities, projects and more
Memberships.jpg
SharePoint 2010 — Rich User Profiles, Similar to Employee Facebook Pages
The most successful people in organizations rely on the talents and knowledge of other people to help them get their jobs done. Social tools like those listed above help people find the right resources — people, information and conversations — so they aren't always starting from scratch.
It is the integration of these capabilities with other functionality within SharePoint that points to its ability to deliver a full platform of capabilities.

3. Content: Managing Your Documents, Information and Records

In the 2010 release Microsoft greatly improved the functionality for creating and managing business documents. Organizations typically have two types of content: documents and information used to complete tasks and activities, and records. Records differ from the previous category in that they are documents and information that must be frozen and stored for compliance and/or regulatory purposes.
SharePoint 2010 provides the tools to help you work with both:
  • Manage all of your organization's documents and other information including controlling who can read and update them
  • Categorize them for easier search and retrieval
  • Mark them as official records and lock them down from further changes
As part of Content functionality in SharePoint, you have direct integration with your MS Office environment, so you can work on your documents in a familiar environment.
In_place_records_management.jpg
SharePoint 2010 — In place Records Management with Disposition
Microsoft has greatly improved the usability of both document and records management within SharePoint 2010. They have evolved the platform from document storage system to a truely collaborative working environment.

4. Search: The Google for Your Organization's Private Info

It doesn't matter how large or small your organization is, when you need certain information or documents, you want it now. Rarely does that happen. Information is typically scattered around and often your internal search engines are not very effective at finding it.
In short, Google often makes your IT department look bad. That's why a strong search facility is critical to the success of a product like SharePoint — Google has raised our expectations and made search look easy.
SharePoint 2010 has two levels of search: the built in functionality which is greatly improved from SharePoint 2007 and FAST Search, offering additional functionality. Out of the box SharePoint search includes the ability to:
  • Search for information and people, including particular expertise
  • Index content and data stored outside of your SharePoint database
  • Use your Windows 7 desktop search to find information within SharePoint
  • Refine search results based on taxonomy and metadata (how content is organized and classified) 
The addition of FAST Search brings enhancements, including:
  • View thumbnails and previews of content within the result set
  • Refine results based on user profile or audience
  • The ability to refine search results with filters like Site, Author, Result Type and more
FAST_Search.jpg
SharePoint 2010 Search Results Using FAST Search

5. Insights: Digging for Business Intelligence

A key goal in any business is staying ahead of the competition. Increasingly, the class of software called Business Intelligence plays an important role here. Business intelligence software is all about helping you make decisions and find problems.
There was a time when you needed a special role in your organization for someone to do all this data gathering and analysis. But times have changed and SharePoint 2010 provides a number of tools that put this capability in the hands of the average employee.
With this release you can:
  • Use tools like Excel to gather and analyze data that is stored in SharePoint
  • Use SharePoint's native Excel Services engine to crunch data and build web-based reports
  • Pull together information from different systems and present it in SharePoint
  • Create dashboards, scorecards, and other views — making key performance indicators widely accessible to information workers and process managers
BI_In_SharePoint2010.jpg
SharePoint Business Intelligence Dashboard Using Native Excel Services
The key to remember is that everyone in your organization can have a hand in how well your business does — if you provide them with the information and tools to do it.

6. Composites: Integrating Your Business Systems

Another big improvement for SharePoint 2010 relates to its ability talk to — pushing and pulling data — your other business systems. Instead of having to work in multiple systems, you can create composite applications — mashups, if you like that term — on the SharePoint platform that pull together various data and content from different systems, including SharePoint content, to provide a single location for an employee to work.
COMP-BCS4_ext list_form.jpg
SharePoint 2010's Business Connectivity Services (BCS) — Tying Information Together
Using SharePoint you can create web-based forms that update SharePoint databases or update external databases. These forms can even feed into Word or Excel documents — the disparate data can become a composite right inside your MS Office applications, or in your browser.
Data integrations are key for management dashboards and project management, but also for employees who may not need full access to the business application. It's important to note that SharePoint 2010 can both view and update external data via its Business Connectivity Services (BCS).
SP2010_BCS_Architecture.jpg
SharePoint 2010 — Business Connectivity Services
One thing we've all learned about enterprise collaboration tools is that for them to succeed, they need to be integrated with the productivity tools we already use on a daily basis. By tying SharePoint closely to things like MS Office 2010 applications and with email clients like Outlook, Microsoft is working to improve the probability of employee adoption of these new tools.

SharePoint As A Cloud Platform

In the era of the cloud, we're obliged to mention Microsoft's Software-as-a-Service (a.k.a. the cloud) strategy. Along with the on-premise version of SharePoint 2010, Microsoft will also be upgrading their cloud based version, known as Business Productivity Online Services (BPOS).
A number of improvements are expected, including:
  • Completely customize the look and feel of your hosted SharePoint site
  • Connect SharePoint data into your external apps via its web services
  • BCS (business connectivity services), formerly BDC, will be available to connect external busienss applications
  • Create applications that exist on the desktop and connect to the server for SharePoint Online
With the increased growth in the use of the cloud for applications like SharePoint, BPOS may be a way for you to get up and running quickly at a cost that would be much less then implementing SharePoint on premise.

Enterprise Collaboration — Vision, Tools and Reality

Microsoft has referred to SharePoint 2010 as a business collaboration platform, a kind of one stop shop for all your information worker needs. It is nice to think that you could come to work in the morning and only have to open the browser and merrily work away in perfect collaborative harmony with your most capable coworkers.
This is the vision of Enterprise 2.0 and the one Microsoft seeks to enable via their SharePoint platform and tools.
Understanding Microsoft's vision and SharePoint's capabilities is important. This article helps there. Moving your organization towards a more engaged and collaborative daily routine is a much more complicated task. Towards that end you might want to read our article: Architecting Participation with Enterprise Social Media. Tools without vision and vision without reality, neither combination will go far.

Tuesday, November 9, 2010

Creating Web parts for SharePoint 2010 using Visual Studio 2010

In this article I demonstrate how to create a simple web part for SharePoint 2010 using
Visual studio 2010.
  1. Open Visual Studio 2010 -> File-> New Project
  2.  
  3. You will get a screen as shown below
     
  4. From the below screen select Visual Web Part from SharePoint category
     
  5. Give proper name for your web part

    image1.gif
     
  6. Click OK
     
  7. Next you have to give the URL of the site where you want to debug or deploy your webpart

    image2.gif
     
  8. Click Finish
     
  9. You will get the below Screen
     
  10. Just click on the Design Mode
     
  11. You will get the Design mode similar to normal ASP.net application
     
  12. You can Drag and Drop any control in to your page I just put a SharePoint Calendar control

    image3.gif
     
  13. You done with the web part .Now we can deploy it and test it
     
  14. Just right Click on the solution and click Deploy

    image4.gif
     
  15. Now go to the site where you deployed.
     
  16. Just open the page in Edit Mode
     
  17. Then click on Add web part
     
  18. Just click on Custom, you can see your web part Add the webpart

    image5.gif
     
  19. You have deployed your web part and tested the same
     
  20. Now next part, how to make it as a Package very easy just right click on the solution
     
  21. It will make a web part package in the folder where we created this web part

    image6.gif
     
  22. It's very simple to work with Visual studio 2010 to develop a web part for SharePoint 2010. 

Saturday, November 6, 2010

Installing a Simple SharePoint Server 2010 Farm

After SharePoint architecture has been established, the actual SharePoint infrastructure must be installed and servers must be deployed. For the most part, installation of SharePoint 2010 is straightforward, particularly with the free SharePoint Foundation Server. The full Microsoft SharePoint Server 2010 product, on the other hand, requires more thought and involves the installation of more components.
This chapter covers the specifics of how SharePoint 2010 is installed for a simple, single server farm. Although these examples outline a simple farm, the concepts can be extended to multiserver farm deployments. After reviewing this chapter, it is highly recommended to review the subsequent chapter (Chapter 4, "Advanced SharePoint 2010 Installation and Scalability") for more complex farm configurations.
It is recommended to review the design chapter (Chapter 2, "Architecting a SharePoint 2010 Deployment") before beginning installation of a production environment. However, installation of a SharePoint server for testing can be easily performed with only this chapter as a guide.

Examining SharePoint Installation Prerequisites

Before installing SharePoint 2010, several prerequisites must first be satisfied, including both hardware and software prerequisites.

Defining Hardware Prerequisites for SharePoint 2010

A server that will be running all SharePoint roles, including the database role, should have the following minimum requirements:
  • 64-bit four core (minimum) processor
  • 8GB to 16GB of RAM (8GB for evaluation or testing, 16GB for production)
  • 80GB of drive space for the system drive (plus twice as much space as the amount of RAM in the system)
The server that holds the SharePoint database, whether on the same box (an all-in-one server) or on a dedicated server or existing SQL implementation, should generally be designed toward the high level on the hardware scale, because some of the more intensive activity is centralized on that server role.
As a rule of thumb, it is always recommended to deploy SharePoint on multiple servers, and at a minimum to deploy SharePoint on at least two servers: one for the database and one for the other SharePoint-specific roles. For more information on supported farm topologies, refer to Chapter 2.

Examining Software Requirements for SharePoint 2010

SharePoint 2010 requires either Windows Server 2008 SP2 or Windows Server 2008 R2. More specifically, the following Windows OS editions are supported:
  • Windows Server 2008 R2 (x64) Standard, Enterprise, Datacenter, or Web Server Editions
  • Windows Server 2008 SP2 (x64) Standard, Enterprise, Datacenter, or Web Server Editions
In nearly all scenarios, it is recommend to use the latest version of the Windows Server operating system (in this case, the R2 edition), though in the future, it is highly likely that SharePoint will use newer editions as well. For most deployments, the Standard edition of Windows Server is sufficient, except in certain scenarios when the Enterprise Edition is required for running SQL Server Enterprise Edition. The Datacenter edition, while supported, is not required, and the Web Server edition, while supported, is not recommended.

Service Account Requirements

It is strongly recommended that you create multiple service accounts for SharePoint. Although doing so might seem tedious, SharePoint will not be secure unless multiple service accounts are used. And in any situation, do NOT use a domain admin account for any SharePoint service.
The following provides a recommended list of service accounts that should be created. This should not be considered to be an exhaustive list; more might be needed depending on the requirements of the individual deployment:
  • SQL admin account—SQL Server should be administered with a separate set of credentials than those used for SharePoint.
  • Installation account—Used to install the SharePoint binaries on the SharePoint role servers. This account requires local admin rights on each SharePoint server and DBCreator and SecurityAdmin rights on the SQL Server.
  • SharePoint farm admins—Used to administer the farm; should be configured. Typically, one account for each physical admin is created.
  • Application pool identity accounts—Needed for each app pool. Generally speaking, it is good practice to have a separate app pool for each application. These accounts must be separate from farm admin accounts.
  • Default content access account—The default account used to crawl SharePoint and other content. It must not be a farm admin, or the search results will include unpublished data in the results. There may be additional content access accounts created for other data sources that are crawled as well.
  • Search service application account—This account is used to run the search service application.
  • Additional service application accounts as needed—May require a separate service application account in certain scenarios.

Outlining Additional Prerequisites

In addition to the base Operating System, SharePoint also requires the hotfixes referenced in KB articles 976462 and 979917. These hotfixes are installed automatically when using the SharePoint installer. The SharePoint installer also installs the following server roles:
  • Web Server (IIS) role
  • Application server role
  • Microsoft .NET Framework version 3.5 SP1
  • Microsoft Sync Framework Runtime v1.0 (x64)
  • Microsoft Filter Pack 2.0
  • Microsoft Chart Controls for the Microsoft .NET Framework 3.5
  • Windows PowerShell 2.0
  • SQL Server 2008 Native Client
  • SQL Server 2008 Analysis Services ADOMD.NET
  • ADO.NET data services update for .NET Framework 3.5 SP1
  • Windows Identity Foundation (WIF)

Database Role Prerequisites

For the database role, it is recommended to deploy the latest version of SQL Server, SQL 2008 R2. The following versions of SQL Server are directly supported:
  • SQL Server 2008 R2 x64, Standard or Enterprise Editions
  • SQL Server 2008 x64 (x86 cannot be used) with SP1 and Cumulative Update 2 or CU5 (or later than CU5—CU3 and CU4 are not recommended), Standard or Enterprise Editions
  • SQL Server 2005 with SP3 x64 (x86 cannot be used) and CU3
In addition, depending on whether advanced SQL functionality is required, the following components may also be needed:
  • SQL Server 2008 R2, if working with PowerPivot workbooks.
  • SQL Server 2008 R2 Reporting Services add-in for Microsoft SharePoint Technologies 2010 (SSRS) to use Access Services for SharePoint 2010.
  • Microsoft Server Speech Platform for phonetic name matching to work correctly for SharePoint Search 2010.
  • If using the standalone server install option (not recommended), SQL Server 2008 Express with SP1, which is installed automatically.