Earlier this week, I did something I rarely do, I hired a SharePoint consultant. Based on the corny word-play in my title you probably have already guessed that I am talking about Marc Anderson ( @sympmarc). You may also know that Marc’s forte is, as he describes it, “Development in SharePoint’s Middle Tier” a.k.a. that space between the stuff you can do out of the box, and the stuff that requires Visual Studio.
I have been watching Marc and others ply those waters for a couple of years at different seminars, adding client-side scripting to make pages pretty and more functional, and putting DataView Webparts to work at tasks most people think are beyond SharePoint’s capability. You know my mantra, “make it work, make it fast, and then make it pretty” – jazzing up the page was not a priority for me. As for the impressive DVWP action, well, that’s why we build desktop applications. Marc is a patient man; somehow I think he knew he would reel me in one day. Earlier this year, my SharePoint developer (she’s new and she hates when I call her that, but let’s not start that debate) said something about wanting to make a page look nicer for her users. I said “I know a guy who could show you how to do that.” I didn’t follow through because, well, you know the whole “make it work” thing. Later, as our project grew in complexity, we started to see the need emerging for ways to cut through the overwhelming content in the library and present salient information to the users; I don’t like buzzwords, but yes, I’m talking about a dashboard. That sounded a little more like work, but perhaps some custom views would do the trick. Then, my developer said she wanted to make bits of her solution easier to perform – hmm, that sounded like work.
Why Marc? – I could say “I read his blog… I’ve seen the questions he answers… he wrote the library...” I could say “I had seen Marc in person and I liked what I saw.” Those are true statements, but before I spend someone else’s money, I usually look into things a bit closer. I spoke to Marc – I told him I could only gather my team for two days, and that I had several objectives for those days. I told him that my team includes developers, designers and our Systems Admin, and I wanted him to speak to all of them. I also told him that I was still a bit skeptical; I mean, I am an IT guy and client-side isn’t where I normally do my development work. Marc suggested that we have more of a conversation than a training class, and that we let my team take the conversation where it needed to go. He assured me that he understood the goals and the constraints, and that he was up for the challenge.
Marc began by showing us one of the most impressive web pages I have ever seen in SharePoint. We were impressed and, after he showed us the code, a bit scared. Next, he started building some very small DVWPs from content on our site. As the morning rolled on, the fear started to dissipate and heads started to nod; by the end of the session, people were getting excited. On the second day, Marc tackled our dashboard. He clearly, methodically and patiently illustrated how we should proceed, while building a small working example. He walked us through what we could do in jScript, and then he walked us through his SPServices library and what we could do with jQuery, including making those few things easier to perform. We may not be ready to code that complex app yet, but we are ready to start.