Before we start our journey into SharePoint 2010 Web Parts, let’s take a look at the history of SharePoint and how Web Parts came to be.
Microsoft announced the concept of Web Parts in the middle of 2000, which was before SharePoint existed as a product. It seems like ages ago. The aim of Web Parts was the same then as it is now. At the time, Web Parts was a part of the since long-forgotten Digital Dashboard, an ASP, XML, and VBScript-based portal framework. “In Web Parts, we are providing the building blocks for next-generation digital dashboard solutions...,” wrote Bob Muglia in June 2000, later President of Microsoft’s Server and Tools Business.
When SharePoint Portal Server 2001, called Tahoe, was released, it was based on the Digital Dashboard and used Web Parts to create the portal. This was the first real step towards the SharePoint of today. SharePoint at the time was not based on Microsoft SQL Server but rather on the Microsoft Exchange Web Storage System (WSS) and its focus was on document management rather than portals.
In 2003, Windows SharePoint Services 2.0 and SharePoint Portal Server 2003 were released, based on the relatively new Microsoft .NET Framework, first released in 2002. Web Parts was introduced as a class in the SharePoint API and you had to compile your code into assemblies instead of simply writing a VBScript object. That’s how Web Parts started and with SharePoint 2003 you could build scalable, customizable, and personalizable web portals.
Microsoft .NET Framework 2.0 was released in 2005 and by then Microsoft had enhanced and incorporated the Web Part concept into the ASP.NET framework. The Web Part Manager was introduced to manage the Web Parts, which previously had been managed exclusively through zones. This new Web Part infrastructure allowed anyone to create their own Web Part-based site, using their own providers for storing customizations. For further reading on the internals of the ASP.NET 2.0 Web Part infrastructure, I recommend Manning’s ASP.NET Web Parts in Action by Darren Neimke, published in 2006.
SharePoint 2007, Windows SharePoint Services 3.0, and Microsoft Office SharePoint Server 2007, was a huge release. SharePoint had finally become a major player in the portal market. It was based on ASP.NET 2.0 and therefore based on the ASP.NET built-in Web Part infrastructure. For backwards compatibility reasons the Web Part class introduced in SharePoint 2003 was kept, and you could use both versions for your Web Parts, both with different abilities.
The development tools for SharePoint and Web Parts, compared to other .NET-based projects, were inferior in the beginning and had to rely on the community for improvements. The lack of a visual editor for Web Parts made the Web Part development threshold high. The community around SharePoint has been extremely interesting, professional, and entertaining since the release of SharePoint 2007. The community understood early on the lack of proper development tools and a number of excellent tools were born, such as WSPBuilder by Carsten Keutmann (http://wspbuilder.codeplex.com) and STSDev by Ted Pattison et al. (http://stsdev.codeplex.com).
Today, we have SharePoint 2010. It’s based on Microsoft .NET Framework 3.5 Service Pack 1, which is essentially Microsoft .NET Framework 2.0 with a set of extensions. So the baseline is still the same as in SharePoint 2007: we can still use both versions of the Web Part, but a new one has been introduced for the Visual Web Part, which is based on the ASP.NET 2.0 Web Part. SharePoint 2010, together with Visual Studio 2010 will affect the lives of developers: we can now, just as easily as for any other .NET project, design, build, and debug solutions. This is where we are now.
SharePoint 2010 is version number 14 while SharePoint 2007 has version number 12. There is no clear answer why Microsoft skipped version 13, but one of the “tales” making the rounds says that number 13 was skipped due to superstition, just as many hotels don’t have a floor numbered 13. SharePoint 2003 did have a version 11, which was chosen to align the version number with Microsoft Office’s versioning.
With SharePoint 2010 Microsoft has dropped the name Office from the server product. Microsoft Office SharePoint Server 2007 became Microsoft SharePoint Server 2010. The main reason was to avoid confusion between the SharePoint Server product with the Office client suite; many users believed that you needed to have the Office client to work with SharePoint. The integration works best using the Microsoft Office suite compared to other suites.
SharePoint 2010 also comes in a hosted version, called SharePoint Online, which means that you don’t have to invest in hardware for your own SharePoint installation. You “rent” a slot in the ready-to-go SharePoint 2010 installations and pay per user, month, and usage, which means that you only have to pay for what you use. Previous versions of SharePoint Online were very limited in custom application development but the new SharePoint Online 2010 allows for third-party applications to run in the hosted environment. The market for Web Parts is an innovative one and there are several successful companies that thrive on making Web Parts.
SharePoint 2010 offers a lot of opportunities for you as a developer to make custom solutions for yourself and your clients. Many of those solutions will contain Web Parts, so let’s get started!
SharePoint 2010 comes in many flavors, from SharePoint Foundation 2010 (formerly called Windows SharePoint Services) to SharePoint Server 2010 (Microsoft Office SharePoint Server), and the feature set differs in both versions. For clarity, I’ll use SharePoint 2010 throughout this book and, when applicable, note if a specific task or feature is not available in one of the versions. I’ll use the term SharePoint when talking about SharePoint in general, with no specific version or SKU (Stock Keeping Unit) in mind.