image

SharePoint’s secret sauce

Just before Christmas I spoke to Daz Wilkin, Microsoft Developer Platform Evangelist, about Office development and Sharepoint. I’ve wanted to catch up on Sharepoint for some time, since it is achieving significant usage. Here’s a recent study which claims that:

the number of SharePoint applications in place today will quadruple over the next 12 months

Wilkin says that:

SharePoint is approaching becoming a billion dollar business for Microsoft. It’s vastly exceeded all of our estimates.

I suspect that journalists, myself included, have given Sharepoint insufficient attention. One reason is that it is a slippery product to describe and seems to straddle several categories, such as portal server, smart file store, and workflow platform. “I don’t think Microsoft has done a bang-up job in being able to articulate it. It is many things to many people,” says Wilkin.

Another problem is the confusion over SharePoint Portal Server (paid for) and SharePoint Services (free add-on for Windows server). You can find a point-by-point comparison here. The free SharePoint Services, on which Portal Server is built, are surprisingly rich. Once you have them installed, which can be a little painful, you get instant wikis and blogs, shared documents with versioning, permissions, and the ability to open and save directly from Office applications, shared calendars and tasks, and online forums. Here’s the settings panel for a shared document store:

Site options including content approval,versioning,permissions and check out 

It’s a shame that document versioning is off by default, but there is plenty of value in these features. Note we are mainly talking intranet rather than internet, though hosting SharePoint is a growing industry and it is also core to Microsoft’s own hosted service efforts.

Why is installation painful? Well, you need Windows Server, and if you want to use ASP.NET for something other than SharePoint on the same box, it needs a bit of tweaking. For example, if you run Exchange and install SharePoint Services, it breaks Outlook Web Access. On my server I got round this by adding a second host name in local DNS, pointing to the same machine, and using this for the SharePoint site using IIS host headers. Real-world businesses either install SharePoint on a separate server, or have Small Business Server which builds it in, so this is mainly an issue for journalists and the like. Perhaps this is a small factor in why SharePoint gets less coverage than it should; it is not something we can just pick up and use like Office itself.

So why is SharePoint taking off? According to Wilkin, it is about “group productivity”. He talks about how SharePoint deals with the classic document review process. Emailing documents around a company and getting numerous edited versions back is a hassle. Apparently Microsoft itself is now using SharePoint more intensively, and users just check-out a document, make changes, and check it back in. He adds,

…If you then combine that with the ease with which you can check that document into a workflow, and then have it automatically routed around the organization, and then very naturally combine that with data going in and out of backend systems whatever they are, that to me is the magic. Customers tend to get the value more quickly than some of the ISVs.

Visual Studio 2008 has support for SharePoint projects and this is something I plan to write about soon. If anyone has been doing SharePoint and/or Workflow Foundation development, I’d be interested to know how you found it.

3 thoughts on “SharePoint’s secret sauce”

  1. I’ve been doing a lot of development work with SharePoint (WSS 3.0 and MOSS 2007) lately and it is a mixed bag. There are basically 2 development camps. Those that want to customise SharePoint, and those using it as a platform. Microsoft cater well for the latter group with good VS support and a fairly nice API.

    The first group is where there are some problems. I recently had to apply a custom template using CSS to what Microsoft term a blog site. The out of the box themes don’t follow web standards and use tables extensively (a compromise for backwards compatibility I guess). If you only want to theme a blog, you have to buy into designing a complete theme – or use your own MOSS/ASP.NET master page. Using your own master page is an issue since applying it to an existing page means you have to deal with all the existing placeholders. This is not too much of a deal for an ASP.NET developer, but your typical IT pro may struggle to do things quickly.

    The blog and wiki site templates themselves need some additions and a Community Kit project is slowly working on improvements.

    Renaming FrontPage to SharePoint Designer doesn’t remove the pain. I’ve experienced a fair number of crashes on 3 machines I use. It allows you to turn lists automatically into an XSLT web part that you can re-style. I often run into the case where the designer generates invalid XSLT (just try this on the built-in left hand menu webparts on a stock blog site). Not a problem for a seasoned dev or if you have fulltime staff in a large organisation, but for SME audience this is an issue.

  2. Thanks for the comments Brian. I guess it’s the right way round – I’d rather have broken themes but a strong API than vice versa.

    Tim

  3. I’ve done some work with Windows Workflow inside Sharepoint (WSS mostly). Actually getting Sharepoint up and running in a VM and then managing to deploy a workflow was something of a steep learning curve, lots of weird error messages that didn’t actually relate to the underlying problem (see http://doogalbellend.blogspot.com/2007/11/sharepoint-create-task-workflow-error.html for one of them)

    But when I actually figured it all out, it’s actually pretty sweet. Given the price of other workflow/BPM systems and document management systems, I’ll forgive Sharepoint its foibles.

    Since you asked about Windows Workflow, it rocks. Again, a steep learning curve, but it is powerful and extensible. It’s not write once run anywhere, but if you can understand WF in one environment, a lot of that knowledge is transferable to other environments.

Comments are closed.