MasterPages in SharePoint

By Michael Flanakin @ 2:29 PM :: 1866 Views :: .NET, Tools/Utilities :: Digg it!

Have you ever created or modified a master page in SharePoint? Unfortunately, I can say that I have. It's a very painful process. I consider myself fairly decent at creating web user interfaces, too. I've created a number of DotNetNuke (DNN) skins and wouldn't blink twice at doing another, but SharePoint is a much different topic. I want to like SharePoint so much, but it's just not there, yet. When I compare SharePoint and DNN, I see how much more capability and professionalism lies in the SharePoint platform; but the developer experience DNN provides can't be avoided.

Perhaps the most apparent of these shortcomings in SharePoint is the fact that web parts must be created in .NET code, without HTML. There are a few ways around this and I've been wanting to write a post on them for a few months. Maybe I'll finally get to that this week or next. The other major deficit I have a problem with, if you couldn't guess, is the effort that goes into customizing the user interface. DNN comes with a number of well-defined CSS styles that are pretty much standard. SharePoint, on the other hand, makes it hard to discern what styles are and aren't required. Maybe they all are. As if that weren't enough, SharePoint comes with the typical table-based layout Microsoft and so many other old school web designers hackers have become known for. When trying to create a "clean" layout, this becomes very hard because the Microsoft and ASP.NET controls pollute the waters so much.

I'm hoping things get easier with time, but I'm not holding my breath. Well, not for this release, anyway. I will definitely be pushing for changes in these two areas in the future. I know I'm not the only one, so hopefully there will be strength in numbers. For now, I'm thinking about looking into the CSS control adapters Mobile-ready link. Of course, I'll still have to look at the SharePoint custom controls, which I probably won't bother creating adapters for. This is the problem we always run into. We have a problem we want to fix, but don't have the time to dedicate to see it thru to a well-deserved solution everyone could benefit from.