SharePoint: The good (er…adequate), the bad, and the ugly.

(Ed. Note: I had intended to expand upon this post some more, but figured that I best just get this out the door, as I may never get to it and I didn’t want the links getting too stale…)

Microsoft SharePoint seems to be penetrating all areas of the web as of late. It’s been around for quite a while, but the latest version seems to have built a good amount of momentum and anyone in moderately sized organization has likely at least heard of it, if not faced it in person.

My new role is now SharePoint admin. I have mixed feelings about it, to say the least. On the plus side, I am learning something new that appears to be a highly marketable skill set. It’s just that I’m not sure if I want that particular skill set on my resume. It’s like having your boss at the ad agency find out that you know Powerpoint. Soon enough, you end up just doing Powerpoint presentations all day long for clients. ;0)

I thought I’d give a quick SharePoint primer and then point out a few links that have recently sprung up specifically about SharePoint and web standards and accessibility, since that’s typically the first question we web developer have about a given CMS.

What is SharePoint?

The biggest drawback is a lack of real documentation and whitepaper/case studies. Even talking with MS themselves gave me the impression that even they aren’t fully aware of what SharePoint really is. Not that that surprises me, as it is a rather large, versatile application and, well, this is MS we’re talking about anyways.

In my words, SharePoint is Duct Tape. It’s rarely the BEST solution for a particular need, but it’s certainly usable and you’ll find all sorts of uses for it if you have it laying around, even if it’s slightly ugly. That’s the good.

At its core, SharePoint is an excellent tool for making lists. Task lists. Lists of links. Document lists. Lists of people. Etc. This makes it a great utility for centrally organizing, sharing, and collaborating on information within your organization. It’s (of course) highly integrated with MS Office. You save documents directly to SharePoint. People can email information to SharePoint. You can subscribe to information updated on SharePoint via email or RSS. For us, out of the box, SharePoint will ultimately be a replacement for cluttered email in boxes full of attachments, shared network drives, and multiple copies of outdated documents scattered across individidual hard drives. For that alone, SharePoint seems to be a worthy purchase.

Beyond that, SharePoint can do quite a bit more. Microsoft Content Management Server is now integrated (and updated) into SharePoint. There are extensive workflow options with SharePoint to route data automatically through your organization. The Search server is quite powerful, letting you index SharePoint content, content in documents, content on your network, content in other business applications, and even content on other web sites.

At this point, I should make a quick aside and quickly explain the product line. It is confusing, to say the least:

  • Windows SharePoint Services 3.0 (WSS) – this is the free framework that allows you to easily set up SharePoint team sites. You will need a Windows server with IIS, and then you can install this. You can use the free MS SQL ‘lite’ DB as your back-end database as well. This is a good product and if you are running Windows Servers, you might as well give this a shot.
  • Microsoft Offfice Sharepoint Server 2007 (MOSS) – this is the expensive add-on (likely 6-figures for most orgs) that provides you with the enterprise level features, namely: site-wide navigation tools, site-wide searching tools, CMS features and advanced business intelligence tools. Prior to this version, these features were found in two separate applications: SharePoint Portal 2003 and Microsoft CMS (now discontinued).
  • MOSS comes in a variety of licensed flavours. The key thing to understand is that there is only one MOSS application. The differences as far as what you can/can’t do with your particular install are all based on whatever licensing agreement you come up with with Microsoft.
  • If you want to run MOSS for any mission-critical purposes, realize that it is best to run it on a farm of at least 4 servers (2 redundant front-end servers, a search indexing server, and a back end DB cluster).

The Bad? Well, it’s expensive if you want the full set of features in Microsoft Office Sharepoint Server 2007. Your 10 person non-profit is not going to want to purchase MOSS. It’s also highly tied into Microsoft Office, Microsoft Active Directory, and Microsoft SQL Server. Not a big deal if you are already a MS shop, but something to consider if you are not.

Now, the ugly. Our first major project here is going to be migrating our intranet to MOSS 2007 using a UI and IA created by an outside vendor. Fortunately, SharePoint is based on ASP.net 2.0 features such as MasterPages which will make custom UI design a lot easier than it was before. The problem is that while MS has improved the HTML output in ASP.net 2.0, it’s still quite poor relying on lots and lots of tables and still containing more than a few parsing errors. Example: A SharePoint Server 2007 home page out of the box, has 154 HTML validation errors” This makes me sad.

As such, I’ve been doing more and more research and this past week has seen several blog posts sprout up about accessibility and standards with SP. I thought I’d compile them here for some afternoon reading for any of you looking at wrangling SharePoint yourselves.

Are you using SharePoint? If so, what do you think?