Making sense of SharePoint 2010
Customising, extending and sharing
Adoption of Microsoft SharePoint is growing rapidly, with Microsoft reporting “double-digit growth” in its latest financials, yet it remains widely misunderstood. What can you do with SharePoint, what is the difference between the free SharePoint Foundation and the full product, and what are the pros and cons?
Microsoft calls SharePoint a “business collaboration platform”, a suitably vague description for a multi-faceted product. SharePoint can be a content management system for an internal or external website, a document management system, a business search portal, and more.
So what is SharePoint really? Technically, it is an ASP.NET application which runs on Internet Information Services (IIS), Microsoft’s web server, and which stores most of its data in a SQL Server database. Conceptually, it is the outcome of Microsoft’s efforts over many years to create a web storage system, a document repository accessible via a web browser. One reason for SharePoint’s growth is that it answers the question: how can we give employees remote access to internal documents? If you are using a traditional file server, this normally requires a VPN (virtual private network), a viable option but one which can compromise security as well as making heavy demands on bandwidth. SharePoint enables remote document access without a VPN.
Further, since it is an intelligent application instead of a simple file share, SharePoint adds features such as check-in and check-out, version history, and support for workflow applications such as document approval. Microsoft has built SharePoint’s other features on top of this core functionality.
SharePoint is designed to integrate with the Microsoft Office client applications such as Word and Excel . If you do not use Office, SharePoint is unlikely to be worth running. When used with Office, a key feature is that users can open a document from a SharePoint site, edit it, and save it, without being presented with a Save As dialog. This is one reason SharePoint works better than simply storing documents on a web site with download and upload features.
SharePoint also supports check-in and check-out, so that documents being edited become read-only to others, version history, and rich metadata attached to documents including tagging and discussions. SharePoint links to Active Directory for permissions as you would expect.
While these are great features, there are disadvantages to storing documents in SharePoint rather than in a file share. There is a performance overhead, and users dislike having to retrieve documents via a web browser rather than through Windows Explorer .
SharePoint supports WebDAV, a standard for accessing web documents programmatically, and you can use the built-in Windows WebDAV client to access SharePoint repositories as if they were Windows drives. This is great for usability, though there are several snags.
One is that WebDAV in versions of Windows prior to Vista is notoriously difficult to get working. Another is that authentication issues can break the WebDAV folders in some installations. Finally, Microsoft discourages use of WebDAV on the grounds that it separates SharePoint documents from the metadata that you find through browser-based access. Nevertheless, the high usability of WebDAV makes it worth considering.
There are also clients that enable offline access to SharePoint documents. One is SharePoint Workspace, part of Office 2010, though this is a poorly designed product that with annoying limitations and bewildering error messages.
Another is Microsoft Outlook, also part of Office. Outlook can connect to several kinds of SharePoint data, including lists of documents, contacts and calendars. In fact, SharePoint is Microsoft’s recommended alternative to Exchange public folders, for data shared across an organisation.
SharePoint Foundation versus SharePoint Server 2010
There are three versions of SharePoint 2010. SharePoint Foundation is a free add-on from Windows Server 2008 and Windows Server 2008 R2. Foundation includes document management, discussion forums, wikis, and support for applications including workflows.
SharePoint Server 2010 extends this with search, compliance features including document retention policies, server-side Microsoft Word automation, social media features including status updates, ratings and tagging, individual profiles and content sites, video and audio media support, templates for workflows, improved scalability, and more. SharePoint Enterprise 2010 adds server-side support for Access databases and Excel automation services, business intelligence integration, support for forms applications using InfoPath (part of Microsoft Office), more scalable search and more.
A point of confusion is that Office Web Apps, which enables browser-based viewing and editing of Microsoft Office documents, is a SharePoint application but not part of any of these products. Office Web Apps runs on any edition, including Foundation, and are available to any organisation with a volume license for the Office client applications.
The base Foundation product is surprisingly rich, considering that it is a free add-on. It does not include search, but there is a free Search Server Express which you can add. That said, SharePoint involves licensing for three products, each with separate CALs (Client Access Licenses).
These are Windows Server, which is always required; SQL Server, which is required unless you use the free SQL Server Express, and SharePoint itself, which is required for editions other than Foundation. Since SQL Server Express is limited to single-server installs and 10GB per database, some organisations which can get by with Foundation will still need SQL Server and its CALs.
Customising and extending SharePoint
SharePoint is an application, but it is also a platform. Since it is built on ASP.NET, code that runs on ASP.NET will generally run in SharePoint too. Office services for Word and Excel enable applications that parse, manipulate and create documents.
SharePoint pages are composed of units called Web Parts. There are two official design and development tools for custom web parts. One is SharePoint Designer, a free tool which lets you edit SharePoint pages and sites without writing code. The other is Visual Studio, which is for coding and debugging SharePoint web parts and applications .
These tools are not essential for customising SharePoint. You can design SharePoint sites in the browser using the built-in wizards, which works fine for simple sites.
Deploying and managing SharePoint
Microsoft’s documentation for planning and deploying SharePoint is lengthy, and with good reason. Technically, it is complex and has many dependencies, which is why it belongs on its own server or servers, and should not be combined with other server functions except in the context of Microsoft’s Small Business Server which is designed for this.
Resilience and backup are key considerations, as a SharePoint deployment generally becomes business-critical immediately. SharePoint is 64-bit only, and is resource hungry, so it pays to specify generous hardware.
The bigger challenge is not technical but concerned with planning the site content.
- Which SharePoint features will you use?
- How will the content be sub-divided?
- Who should have what permissions?
- What are the compliance considerations?
- Will the deployment include custom applications?
- If you will be using social media features like discussions, status updates, wikis and blogs, then what usage guidelines need to be put in place?
SharePoint and Microsoft’s platform
“When we’ve won a competitive bid in the enterprise for messaging and email, 80 per cent of the new customers have bought SharePoint and Lync, in addition to Exchange,” said Bill Koefoed, general manager of investor relations, during a recent financial results presentation .
It is easy to see why. SharePoint is the server platform for Office, and if you need to go beyond simple file shares, SharePoint adds great value and an amazing range of features. Unfortunately it also adds complexity, making careful planning and deployment essential for success.
SharePoint 2010 is a big improvement over previous versions, especially for custom development, but Microsoft still has work to do in streamlining management and deployment and improving certain aspects such as offline support through SharePoint WorkSpace.
Finally, it is worth noting the popularity of hosted SharePoint. Office 365 subscribers get a version of SharePoint managed by Microsoft, and taking up this or other cloud-hosted offerings is attractive given the product’s complexity.