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.
- http://www.sharepoint2007.com/Default.aspx?tabid=23 – an article on SP’s accessibility limitations (ironically on a site using SharePoint and, as such, has a site menu that is not accessible)
- http://alastairc.ac/2007/03/sharepoint-2007-accessibility/ – Alastair Cambell shares some frustrations with SP accessibility and offers some useful links including…
- …a link to a SP accessibility presentation by the UK SP users group.
- …and a link to Molly.com and her quest to spread accessibility information throughout Redmond
- http://cameronmoll.com/archives/2007/05/skinning_ms_sharepoint_with_st/ – Cameron Moll shares his experiences with applying a standards based template to SP and includes many useful links, some of which are…
- How To Create a Minimal Master Page
- How to Override default CSS
- A great CSS chart by Heather Soloman that that explains what all of the crazy class names refer to in Sharepoint and where to locate the style declaration to modify them.
Are you using SharePoint? If so, what do you think?

7 Comments
SharePoint seems to be a necessary evil. Every large company with Microsoft hooks into them seem to love it. While it does have some good features, in my experience it has a very poor document repository. With the typical Microsoft approach of getting you to rely on it, and lock you in. I haven’t tried to find things on the server that SharePoint is on, but i heard it’s nearly impossible to find stored documents without using the web interface.
The front end code is a nightmare, for that reason alone I despise it the most. I get tired of Microsoft’s lackadaisical route to adopting web standards.
Lastly since it’s meant to be a catch all application it’s UI seems to be a bit clunky.
Great article. I was thrown onto a Sharepoint project at my last job and hated most every moment of it. My part of the project was to skin it and possible craft the UI. Argh. Tedium. It felt like cramming a square peg in a round hole because the whole world is using square pegs already, and if you Google it they tell you to just keep hitting it with a hammer until it fits. You may not be ecstatic with the results, but the task will be complete.
Sharepoint “could” be something so much better, but I think it has a bit of an identity crisis (and a UI crisis). I’m betting that there are other enterprise wide CMS solutions under development out there who are attempting to do it better (or are there? Google
I agree with the following article – Sharepoint is Microsoft’s corporate Trojan Horse. It is a one-way trap into Microsoft’s locked-in world.
http://weblog.infoworld.com/openresource/archives/2007/04/while_you_were.html
The rest of us might be much better off using something like Alfresco (http://dev.alfresco.com/).
“Every large company with Microsoft hooks into them seem to love it.”
I certainly can’t speak for everyone, but from my limited exposure I’d say every IT person in a large organization with ties to MS tolerates it as an inevitability. ;o)
“I haven’t tried to find things on the server that SharePoint is on, but i heard it’s nearly impossible to find stored documents without using the web interface.”
That’s because nothing in SharePoint is actually stored as files on the server. EVERYTHING is stored in MS SQL. For better and worse.
“I’m betting that there are other enterprise wide CMS solutions under development out there who are attempting to do it better”
Well, IMHO, all CMS/DMS solutions suck to some extent. When picking a CMS/DMS solution, it’s really a matter of ‘what sucks less’. Customizing SP sucks. Out of the box, though, the functionality is quite adequate for quick collaboration tools for employees.
“Sharepoint is Microsoft’s corporate Trojan Horse. It is a one-way trap into Microsoft’s locked-in world.”
No argument there. ;o)
A company I’m working for is interested in Sharepoint. We’re a Linux shop, but the people making decisions happen to be most comfortable in Microsoft Office.
I dread the possibility of going down the vendor lock-in route and ingraining all the workarounds necessary for using MS’s software into our business.
Friends I spoke with said, “Ooh. Sharepoint is horrible.” This came not as part of a religious debate or general Microsoft-hating, but for reasons of UI functionality, design, and interoperability. One suggested Confluence as a good alternative to Sharepoint.
As we’re also looking for issue tracking software that is a bit more heavyweight than Trac, with which we have been very happy for several years, Confluence is especially compelling because of its ability to integrate with JIRA (from the authors of Concluence).
So far, I’m impressed. I’m not at all familiar with Sharepoint, though, as I dumped Windows about eight years ago.
Can someone compare the two?
Thanks, great post with great links. I’m very keen to build up our SharePoint pages with proper validated codes.
We use SharePoint 2007 in our company for our intranet site. I have to say that my experience is much different. I use it as a tool to help manage projects and it works wonderfully.
Unlike other products, I can set up issue tracking list and customize as much or as little as I want to. It’s the same for libraries and task lists. Our time keeping software integrates with it as well as our issue tracking software. We have created a one-stop shop. We will be going to Project Server soon and we will be integrating those two as well.
What I hate is the project task lists. SharePoint should have never gone there. I can create a gantt chart but when I change my task dates, the dependant tasks do not change. Ugh. Just use Project Server and publish to SharePoint. Of course, SharePoint was never intended to be a tool for creating project plans.
Half of the issues with SharePoint that I’ve experienced come from poor implementations. If implemented properly, with great prior planning, SharePoint can be quite useful.
The times when I have had issues, it was with a poorly implemented instance of SharePoint. The arrogance of developers when implementing plays a role in those shoddily implementations. They think that it can just be thrown on a server. Well, it can’t.
As far as ease of use, even the most technically challenged user can pick it up quickly. That is a big plus when a company wants to roll out an intranet site and not have a lot of training.