First look: Microsoft SharePoint 2010 beta spreads the wealth

Major upgrade to Microsoft's Web site, intranet, and collaboration platform offers numerous and significant improvements for end-users, IT professionals, and developers

Microsoft SharePoint 2010 is a major upgrade from SharePoint 2007 in several areas. It has a much improved user interface, especially for online editing. It supports more browsers. It does a better job of integrating with Microsoft Office. It provides more opportunities to developers and designers, as well as to shops that might want to consolidate other products (such as blogs and wikis and business applications) with SharePoint.

A Visual Upgrade feature allows gradual conversions of individual subsites from the look of SharePoint 2007 to that of the new SharePoint 2010 at the convenience of the site owners. Sandboxing allows custom code to be deployed with a minimum of risk. Centralized Web administration and rich PowerShell support simplify and speed management tasks. And a centralized "health analyzer" interface provides a farm-wide dashboard.

[ Take InfoWorld's quick visual tours of SharePoint 2010 features: SharePoint 2010: What's new for usersSharePoint 2010: What's new for IT prosSharePoint 2010: What's new for developers ]

Visual Studio 2010 supports a dozen kinds of SharePoint 2010 projects, can deploy both sandboxed and farm-wide custom projects, and can debug code deployed to SharePoint. SharePoint Designer, essentially a customized version of Expression Web, supports site design at a professional level and even allows nonprogrammers to build simple applications. Interfaces via .Net, REST, XML, and JavaScript allow programmers to tie a SharePoint site to line of business applications and databases, as well as to other applications into SharePoint.

For performance reasons, SharePoint 2010 is 64-bit, and it requires 64-bit Windows Server 2008, as well as 64-bit SQL Server 2005 or SQL Server 2008. (SharePoint 2010 also requires .Net 3.5, which is free.) Microsoft announced these parameters last April, so it shouldn't be a surprise, but some companies may need to factor the cost of new hardware and infrastructure into their budget for upgrading SharePoint.

Pricing for SharePoint 2010 has not yet been released. Assuming that Microsoft prices SharePoint 2010 upgrades reasonably and that the projected server consolidation savings outweigh the up-front cost of new 64-bit servers, SharePoint 2010 should be a must-have upgrade for enterprises that currently depend on SharePoint 2007.

SharePoint 2010 for users

SharePoint has long been a versatile platform for all sorts of internal and public Web sites, with an emphasis on group collaboration sites, and SharePoint 2010 has greatly improved and expanded those capabilities. It is more flexible and more capable, has a much improved user interface, and does a better job of implementing multilingual sites. Not every public Web site needs to support dozens of languages, but those that do might seriously consider SharePoint 2010 as an alternative to heavyweight open source Web frameworks such as Drupal.

The online HTML editor in SharePoint 2007 was weak by any measure, and at least one third-party ISV had a nice business selling a better SharePoint edit control. The online editor in SharePoint 2010 is not just improved, it is by far the best Web-based WYSIWYG editor I've seen. It faithfully brings the experience of editing with Microsoft Word to the Web, complete with live previews. Even better, it works just as well with Firefox as it does with IE 7 and IE 8, and almost as well with Safari. That this online editor is rolling out at the same time as Microsoft Word for the Web is no surprise.

[ SharePoint 2010 will integrate closely with Microsoft Office 2010 and the new Office Web Apps. See "Office 2010 looks solid and smooth" and "Office suites in the cloud: Microsoft Office Web Apps versus Google Docs and Zoho." ]

The only quibble I have with this control is that it does not strip out the verbose and unnecessary styles created by Word when pasting Word documents into SharePoint pages and converting them to HTML. Good HTML isn't that hard to generate, and a filter for Word styles isn't that hard to write. I'd love to see this improved for the final product or a point release.

While not everyone has embraced the Office 2007 ribbon user interface wholeheartedly, it is by now familiar to most white-collar workers. The pervasive but context-sensitive implementation of the ribbon interface in SharePoint 2010 gives the entire product a cohesive feel while exposing large numbers of related functions together for each context.

Easy as wiki
HTML was never intended to be a writer-friendly markup language; the original designers of HTML assumed that it would always be generated by an editing tool. Wikis, on the other hand, were always intended to be easy to write. SharePoint 2010 supports wiki markup (specifically, MediaWiki-compatible links) and wiki-style WYSIWYG editing pretty much everywhere. In some ways, SharePoint 2010 is easier to use as a wiki than many wikis, although the size, expense, and breadth of SharePoint add up to overkill when a simple wiki will serve.

SharePoint has long supported some international sites, but now it fully supports a multilingual user interface, with dozens of languages supplied out of the box. In addition, it supportsr configuring fields within lists for multiple languages, as well as translations of user content.

Meta data, in the form of tags, formal taxonomies, user-created folksonomies, and bookmarks, add another dimension of classification to site navigation and content-based search. SharePoint 2010 supports all of these and can use them for targeting list content to specific audiences, for routing documents to specific libraries and folders, for displaying tag clouds, and for searching.

In addition to tagging, documents can be organized into document sets. The confusing proliferation of document versions that often happens in collaboration sites can now be controlled by declaring specific documents "in-place records," which are basically locked official files. Locking a file doesn't prevent future collaboration; it just marks and preserves that version of the document as "official." The in-place record can exist side by side with other versions of the same document.

FAST Search
SharePoint 2010 search comes in three levels: free, standard, and FAST Search. The last is an enhanced enterprise search engine based on the acquisition of FAST ESP. It searches SharePoint content in addition to content in file shares, Microsoft Exchange folders, databases, and connected line-of-business systems. The FAST Search results page shows document thumbnails with previews, people matches, and counts for search refinements by result type, site, author, and date.

You'd think that SharePoint was an online-only product, but Microsoft hasn't neglected occasionally connected mobile users. SharePoint Workspace 2010 is a desktop/laptop client, based on the software formerly known as Microsoft Office Groove; it provides a synchronized offline experience. I did not test this capability.

You'd also think that Microsoft has locked all SharePoint users into installing Microsoft Office, but SharePoint 2010 includes Office Web Apps, the new Web-based editions of Word, Excel, PowerPoint, and OneNote. In the brief time I spent with them when evaluating the SharePoint beta, the Office Web Apps looked very promising, at least for viewing documents. (See InfoWorld's "first glimpse" at the Office Web Apps Technical Preview and InfoWorld's comparison of Office Web Apps with Google Docs and Zoho.)

It's always been relatively easy to convert Word documents to SharePoint pages, as well as to display PowerPoint slides online. In SharePoint 2010, you can also use Excel Services or Visio Services to publish spreadsheets or diagrams for browsing.

SharePoint 2010 for IT professionals
SharePoint 2010 promises IT professionals improved productivity, a scalable unified infrastructure, and flexible deployment. These features can be used to help provide governance and high availability. But again, they come at the cost of needing an up-to-date 64-bit server and database infrastructure.

Although server requirements are narrower, client support is broader. SharePoint 2010 fully supports 32-bit IE 7, IE 8, and Firefox 3.x running on Windows. Also,  64-bit IE 7 and IE 8, Firefox 3.x on non-Windows systems and Safari 3.x are supported as "level 2" browsers; they can be used to administer the site, but pages may not render with perfect fidelity. IE 6 is not supported. Site administrators can tune their content and CSS to support additional browsers for reading the site, but keep in mind that the AJAX and ASP.Net code used for editing SharePoint content is complex and under Microsoft's control.

I applaud Microsoft for dropping IE 6 support in SharePoint 2010. The company points out that it's not standards-compliant, which is not exactly breaking news. I hope Microsoft can stick to that decision; it might pave the way for the rest of us to be able to drop IE 6 support for our Web products.

Administrators have a choice of installing SharePoint 2010 with a GUI or with configuration files and PowerShell scripts. The former is easier; the latter is better for server farms and for disaster recovery. A new requirement is a Farm Passphrase, which protects a server farm from unauthorized server drops and adds.

Smooth transitions
Upgrades can be done in place or by attaching a database backup from SharePoint 2007 to a new SharePoint 2010 installation. Databases can run read-only during the upgrade to minimize downtime. Administrators can force all sites to upgrade to the new master pages and CSS, or allow each site owner to run with the old styles, preview the upgrade, correct any issues, and finally switch over to the new styles.

Administrators now have more control over SharePoint site proliferation. It's a two-pronged strategy: Use Active Directory Markers to keep track of SharePoint servers, and/or use Group Policies to control where SharePoint can and can't be installed.

The redesigned Central Administration pages in SharePoint 2010 are easier to understand and use; there's a lot less searching for tasks than before, and a lot less jumping around from menu to menu is required. The new layout is reminiscent of the Windows Vista control panel, but don't let that dissuade you -- it's still much better organized than before. The new ribbon interface does help to keep like functions clustered, and the new wizards make some of the harder setups easier to complete successfully.

Backup is improved. The backup and restore capabilities built into SharePoint 2007 were blunt instruments. In SharePoint 2010 you can be more selective about restores by browsing an unattached content database, locating the sites or lists you need, saving them, then restoring them to the production database.

Scripts and sandboxes
While script-based administration has detractors as well as supporters, I find the PowerShell command support in SharePoint 2010 to be a big plus and a big improvement over the older (but still maintained) Cmd.exe and Stsadm.exe environments. Yes, there are too many cmdlets to learn easily (100 core Windows cmdlets and 300 SharePoint cmdlets), but they have a help system, they pipe together in logical ways, and in many cases you'll only have to figure out a command sequence once, then save the script and apply it to other sites. Overall, that's a big time saver over going through the GUI for every site in every farm.

On a SharePoint server with many custom controls and large lists, one site that hogs CPU, memory, or database requests can damage the performance of all the sites on the server or even all the sites using the database. Throttling and list controls in SharePoint 2010 allow an administrator to control this per Web application.

In addition, custom solutions can be sandboxed, meaning that they can be given a restricted set of permissions and resource quotas, then run isolated. Sandboxing reduces the risk of allowing site owners to deploy their own solutions, balancing freedom against safety. Quota templates keep the overhead of controlling sandboxed solutions reasonable.

Branding in SharePoint 2010 has been made easier by revamping the way themes work. SharePoint 2010 themes are now compatible with PowerPoint themes. In many cases, companies will be able to import existing PowerPoint themes to apply the fonts and colors of the corporate brand. Perhaps future SharePoint sites won't all look like they've been turned out with the same cookie cutter.

SharePoint 2010 for developers
SharePoint 2010 is much more attractive for developers than SharePoint 2007 ever was. I wouldn't be surprised to see many ASP.Net developers adopt SharePoint 2010 for their larger customized sites. There will be less code to write, without giving up too much in the way of flexibility.

The list of improvements is long. In addition to better API support and more extension points, there is better tool support in Visual Studio 2010, Visio, and SharePoint Designer 2010. There's a straightforward way to connect to line-of-business applications. Many functions have been exposed to RESTful interfaces. There are more application templates. Debugging and monitoring are much better. And sandboxes offer a measure of protection for custom applications that was lacking previously.

Visual Studio 2010 offers a dozen SharePoint 2010 project types in two languages, C# and Visual Basic. Empty projects are used more often than you'd think, as containers for multiple controls, workflows, and other project items. A Visual Web Part is a new kind of project that combines a Web Part class with an ASP.Net user control; the latter can be designed visually within Visual Studio 2010, which makes Web Part design much easier than writing code to instantiate child controls. The downside of a Visual Web Part is that it cannot be deployed to a sandbox.

SharePoint workflows can be sequential or state machines, and they can be one-offs or parameterized reusable workflows. Workflows can be designed using Visio or SharePoint Designer in addition to Visual Studio. In SharePoint 2010, workflows do not have to be associated with a list. They can instead be site-level workflows, with their own start pages; this is an improvement.

A Business Data Connectivity Model is a way of connecting SharePoint to a line-of-business application or an external database through a .Net class. It creates an external content type that can be used like a native SharePoint content type -- for example, in lists and searches.

Solutions and views
WSP packages, or SharePoint Solution Packages, are a handy way to deploy all of the files of your SharePoint project to your Web servers. They can, for example, be created as prototypes in SharePoint Designer and then into Visual Studio for implementation.

An extensibility API allows developers to create new SharePoint project items. I did not test this facility.

Visual Studio 2010 can view SharePoint sites in its Server Explorer as a giant tree view. This gives the developer a view of all SharePoint settings directly from the IDE. It also allows quick programming access to SharePoint artifacts. The Visual Studio Server Explorer typically pops up in the left-hand column of the window, allowing the programmer to find a server object without obscuring the code in the middle of the window.

SharePoint Designer also has a site dashboard. In keeping with the spirit of Designer, this dashboard expands to full screen and is easy to navigate and understand.

A Developer Dashboard is part of SharePoint itself; it is basically a detailed tracing and performance profiling tool. When active, the developer dashboard displays performance statistics and timings related to the code that executed to produce the page. This display can take you down to the function level and lets you quickly get an idea of everything that happens from the HTTP POST request for the page to the database queries and the rendering event handlers.

APIs and openness
Developers can use Visual Studio 2010 to enhance SharePoint 2010 through numerous APIs. Do you need to pop up a dialog? Use the pop-up dialog framework. Need a fancy widget? Build a Silverlight Web Part and bind it to SharePoint lists. Need to display related data? Use SharePoint lookup fields.

Need to bring in data from your CRM or ERP system? Create a Business Connectivity Service class and use it to populate a SharePoint list or expose it to search. Want to write strongly typed queries against SharePoint data that are tightly integrated with your code? Use LINQ to SharePoint in much the same way as you would use LINQ to SQL or LINQ to XML. Want to create new views of SharePoint data? Create your own XSLT views. Need to hook various SharePoint events as they happen? Write an Event Receiver, using a wizard to help you trap just the events you want.

Can't do what you want on the server? Use the Client Object Model from JavaScript. Need to integrate with another server? Use Web services or REST. Does the other server run PHP on Linux? Not a problem.

I have to compliment Microsoft for this new degree of openness. In the past, the company has hesitated to offer open interfaces to its server products, leaving the impression that it wanted to lock developers and customers into its platform. Now, Microsoft has allowed developers to integrate with SharePoint in whatever way is most convenient for the application at hand, using open, standard methods. Right on.

Related articles

This story, "First look: Microsoft SharePoint 2010 beta," was originally published at InfoWorld.com. Follow the latest developments in Windows, applications, application development, and IT product reviews at InfoWorld.com.

From CIO: 8 Free Online Courses to Grow Your Tech Skills
Join the discussion
Be the first to comment on this article. Our Commenting Policies