Monthly Archives: February 2009

How can we make the SharePoint world a better world?

Lots of companies are positioning SharePoint as their preferred platform for everything that has to do with the web, both intranet and public facing websites. Now out-of-the-box, SharePoint delivers excellent value, but when building custom functionality or public facing sites, there are some serious issues.

My biggest gripes are:

  • The whole development experience is awful. Yes, you can create custom webparts, but I’ve yet to come across the one that isn’t a big ball of mud. Also, the entire cycle of compiling, deploying and testing takes way too long to be productive at all. One minute is pretty common. Gosh, I wonder why all these projects are late every time ;) ;
  • The HTML output is a mess. Not so much a problem for intranets, but for public sites it is. With a zillion tweaks, it is possible to fix it, but then again, no wonder these projects are late every time;

I’ve been thinking how to improve this situation. Sure, I could say: “just don’t use SharePoint for your public web sites”, but companies are going to push everything to Sharepoint anyway. The whitepapers and consultants will tell them that everything is possible and it’s from Microsoft, so it’s a safe bet. We (as in Microsoft developers) simply have to deal with it the next years.

A Cunning Plan

First: let’s focus on publishing sites. I want to have:

  • Clean standards-based HTML;
  • Clean url’s;
  • The ability to add custom applications as a feature without being restricted to webparts, or even better: develop applications standalone and deploy to Sharepoint when they’re ready;
  • Leverage the SharePoint infrastructure (sites, lists, security, etc);

Looks impossible but is it really?

Couldn’t we not drop in System.Web.Routing, create a special SharePointRouteHandler, that sets up required sharepoint infrastructure and delegates the request to a Controller to have ASP.NET MVC within the SharePoint context? I think it’s hard and complex, but not impossible. We could leverage all strong points of ASP.NET MVC like separation of concerns, testability, clean HTML together with the huge foundation that SharePoint offers.

Plan B

Microsoft is already working on this situation and the next version of SharePoint will address the situation properly.

Now, please tell me that I’m a: ambitious, b: naive or c: completely insane :) .

Paging demo upgraded to ASP.NET MVC RC

The sample project that belongs to the Paging with ASP.NET MVC post is upgraded to ASP.NET MVC RC. Get it from here.

Hey, something’s changed!

Today, I moved this blog from SubText to WordPress. All was going fine with SubText, but WordPress is so much more sophisticated these days, I couldn’t resist it :) .

Since the server is running IIS6 and not the usual LAMP stack, I was prepared for some struggling, but it was pretty easy.

I started with installing the IIS FastCGI extension, PHP 5.2.8 and MySQL 5.1.30. After that, I only had to install WordPress and things were ready to roll.

For pretty extensionless urls, I found the Ionics Isapi Rewrite Filter that also redirects the old SubText url’s to the new pretty ones.

The most challenging part was migrating the old posts from SubText to WordPress, but luckily, I wasn’t the first one who attempted this.

Please leave a comment if something is broken, or when you find links that point to the old blog.