SharePoint History
A slightly tongue in cheek and totally true history of SharePoint. I hope to show in this article that although Microsoft's "spin" on what SharePoint is has changed from version to version, the overall vision has stayed clear. For the most part it has been the technology that has been lacking in being able to create the rich user experience that we today all crave and even need.
Before There Was SharePoint There Was CDONTS
Although the first version of SharePoint was released in 2000, its roots extend even further back to the days of NT 4.0 with a technology known as
Collaboration Data Objects for Windows NT Server (CDONTS). CDONTS was used by Web developers primarily as a thin client to mail Web forms using the SMTP service on NT 4.0 computers and was replaced in Windows 2000 servers with CDOSYS. Microsoft had been searching for a way for developers to build composite applications and they saw Dashboard Components on Dashboards (later to become Web Parts on Web Part pages) as a possible solution to the problem. This was in the very early formative days of the Internet and such technologies were very new.
SharePoint 1.0
From the start Microsoft has always offered two SharePoint products. Initially these were even developed by two separate product groups (Office and Exchange) and tended to be more competitive than collaborative. While both were designed to take advantage of IIS running on Windows Server 2000
SharePoint Team Services (STS) was intended as a departmental Intranet and used
SQL Server as its backing store. It offered collaboration features such as
document libraries,
task lists and
calendars that were seen by many as being redundant of the capabilities of Exchange server and Outlook.
SharePoint Portal Server (SPS) the "non-free" version, used an Exchange public folder as the storage location for its data and had additional features such as federated search. The use of Exchange allowed the SPS version to provide approval processes (email routing) owing to its roots in Exchange folders.
As good as the initial SharePoint products were there were some "issues". Web Parts built for one product could not be reused on the other. Permissions were managed differently and were difficult to manage. Even the look and feel of the sites was completely different between the two products. Many administrative tasks could only be performed through a command line tool.
SharePoint 2.0
By 2003 Microsoft had rewritten both SharePoint applications using the .NET framework
SharePoint 2.0 was born. Although presented as an upgrade, version 2.0 was almost completely rewritten using .NET. Gone was the Exchange Public Folder store for SPS and with it, at least temporarily, the built-in approval capability. Because of a better scalability story both SharePoint products used SQL Server as the store. Although STS was rebranded as
Windows SharePoint Services (WSS) many features retain the STS... naming convention. SharePoint Portal Server (SPS) retained its name if not all of its capabilities. Many of the incompatibilities present in the previous products received attention for example WSS web parts could, for the most part, be used on SPS, (though not the other way around). Permissions, management tools and even the navigation structure were still different between the two products.
New features added (principally in SPS) included a SOX site template for highly secure documents thanks to the passage of the
Sarbanes Oxley Act of 2002 (SOX) and the increased need for regulated records management. SPS offered an additional licensing model and templates for organizations that wanted to use SharePoint as their Internet site. Because of this new Internet option many organizations began adopting SharePoint for Internet presence however the licensing was prohibitively expensive. To facilitate the move to multiple authors creating content for the Internet sites came a need for providing enterprise Content Management capabilities. While Microsoft Content Management Server (CMS) remained a separate product a connector provided CMS features to SharePoint.
Issues that still existed with SharePoint at this point included the fact that the entire top level site, its entire configuration and all its data were stored in a single database. This limited the effective size that a site collection could grow to since backups and restores were time consuming. Also even though the web parts were more compatible they were very complex to create. Permissions were clumsy and still difficult to maintain.
SharePoint 3.0
Microsoft's third version of SharePoint
WSS 3.0 and
Microsoft Office SharePoint Server (MOSS) were introduced in 2007 and with its introduction a shift was made to the .NET framework 2.0 as the base for SharePoint. MOSS 2007 is an extension of WSS which extends many capabilities of ASP.NET sites. This means that any ASP.NET developer can easily reuse his skills to enhance the look and feel of a SharePoint site. Even web parts built for ASP.NET can be used directly in SharePoint without modification. ASP.NET features like
Master Pages, security providers, and web parts mean that navigation, permissions, and site management are indistinguishable between the two SharePoint products so navigating between sites is seamless.
In the earlier versions of SharePoint, the primary site editing tool was
FrontPage which at least in theory could be used for other web creation projects as well. With SharePoint 3.0 FrontPage was extensively updated and rebranded as
Office SharePoint Designer. SharePoint Designer allowed easy customization of sites without needing to write any code.
Visual Studio 2005 was also updated to make creation of custom SharePoint components easier. This required the installation of extensions in Visual Studio and the use of the WSS or MOSS SDK but development for WSS 3.0 was much more parallel to regular .NET development. Capabilities in SharePoint are referred to as Features. The creation exportation and packaging of these Features was simplified using either SharePoint Designer or Visual Studio.
Workflows turn out to be really useful when documents require review and approval by multiple entities. Workflows had been available in SharePoint through several third party vendors but now there was a rudimentary workflow capability available in SharePoint out of the box. The Windows Workflow Foundation (WF) part of the .NET 3.0 framework allowed creation of both sequential and state machine workflows. Although WSS had support for workflows, they had to be custom built using SharePoint Designer MOSS had several built in workflows available.
Content Management Server was rolled up into SPS providing easier multi-author creation of Internet sites while the SOX compliant site template became additional Features that could be implemented within a Records Management site. The Internet licensing model improved but was still prohibitively expensive for all but very large orgnaizations.
Improvements to scalability include the introduction of Shared Service Providers (SSPs) which allow reuse of common services between multiple SharePoint web applications. Heavy processes such as indexing, user profiles, etc are performed once and the result (and cost) is shared between all the sites. Additionally SharePoint content and configuration were separated into different databases even allowing for multiple content databases meaning that SharePoint was now able to scale much larger than previously possible.
Ongoing limitations include that document libraries and lists in general had a practical limit to the number of documents they could contain. Once a library had more than about 500 documents performance degraded noticeably so archival libraries with millions of documents were not very feasible. This required the creation of multiple libraries resulting in more complexity when there was no real benefit.
Even though version 3.0 introduced metadata improvements such as reusable content types and Site columns most organizations lacked the skill or knowledge to create meaningful taxonomies and so SharePoint sites were still a bit wild.