Skip to content

August 27, 2008

Why You May Not Need a Protocol Handler for SharePoint

One of the topics that came up recently was the idea of writing a Protocol Handler for SharePoint in C#. Unfortunately I don’t have much context on the item because it came through a series of steps. However, one of the things that struck me was that in many cases a protocol handler wasn’t needed. However, that requires a moment of explanation on what a protocol handler is.

In SharePoint search (and most of the Microsoft Search technologies) there are two main extensibility points. First, you have the IFilter. The IFilter is responsible for processing the contents of a file. So there’s an IFilter for PDF files and office files and so on. Second, is the protocol handler. The protocol handler’s responsibility is getting the content from the end point to the gatherer so that it can be handed off for the correct IFilter for processing. There are protocol handlers for file shares, web sites, etc.

Invariably folks come along with a desire to index content that isn’t in a repository available via an out of the box protocol handler. One of the obvious things to do about this is to write your own protocol handler to get to the content. While this may be obvious, it may not be the right answer. Protocol Handlers are multi-threaded and because of that they require a bit of care to write. As a general statement, they’re harder than most folks really want to deal with. So if writing the protocol handler isn’t always the right answer, then what is?

A few years ago I wrote an article for DevX.com titled “Using SharePoint Portal Server to Index Your Custom Application” In that article I show you how to quickly develop a web application to surface data from your custom applications, this same approach can be used for third party applications. The fact that it was written for SharePoint Portal Server 2003 shouldn’t scare you all of the same pieces work today.

The net is that all of the content is made accessible via a web interface that the search crawler is pointed to and so the content becomes available via HTTP — which SharePoint can index out of the box.

What are the limitations? Well, primarily, the limitation is that you can’t pick up access control to the content so it’s not the best fit for sensitive information — or said another way information that is secured to individual users. However, for most kinds of information that an organization might want to make available it’s quick and easy.

It should be noted that the BDC is another good way to reach into other custom applications — if the data is relational in nature. While the strategy shown in the article works well for documents and data, the BDC is more data focused.

Hopefully, you’ll save yourself some time on writing a protocol handler and have a chance to do something more fun. (Writing protocol handlers isn’t fun.)

Products I Use: Zune 80GB

With the advent of The SharePoint Shepherd’s Guide for End Users I’ve been looking into different approaches to community marketing. One of the things that I’ve considered is podcasting/vidcasting/screencasting some of the content. As a result I picked up a Zune and started the process of figuring out how folks were consuming podcast content. One could argue that I should have picked up some form of iPod. I could have but the potential tie-ins to Windows Media Center and other MS products was too enticing to pass up. I’ve had the unit for a month or so now and I have a couple of observations I’d like to share.

1) Podcasting is cool, if you don’t live in Indiana — I’m blessed with an 8 second commute from one building (my house) to another (my office) on my property. What that means is that unless I’m going to a client site, I really don’t have much time to listen to podcasts during the traditional time that most folks listen to them. Even if I didn’t work out of an office on my property, I wouldn’t expect to have much of a commute. In Indiana most commutes are less than 30 minutes. There are folks with exceptions, but it’s nothing like the commutes that people on the east and west coasts have. What does this have to do with the Zune, well, without this travel time your podcasts can pile up. I’m definitely focusing my drive time to clients and every other scrap of “wasted” time into keeping up — but it’s a struggle. Of course, I have about 10 hours more per week to do other stuff rather than commute — so it’s a pretty good deal.

2) Music isn’t always music — I went ahead and loaded my entire archive of music on to the device. I had somewhat forgotten that I had previously ripped sound effects CDs, audio books, etc. It’s quite the interesting thing to be listening to a music shuffle encompassing your entire library to be suddenly jolted with machine gun fire. (Feel free to picture me freaking out and quite nearly spewing a bit of Diet Coke I was drinking.) You should also feel free to help the product team realize that there should be more than one category of MP3 files. Not everything is music. Audio books have a much less traumatic effect, but the disruption from normal music is pretty noticeable.

3) Playlists aren’t easy — I’ve come to grips with the fact that I can’t really build and maintain playlists on my Zune from the device. This seems pretty ridiculous to me. Where else would I put together a playlist other than where I’m playing the music. (The answer, according to the product team, is the computer software that doesn’t suck as much as iTunes on my PC.)

4) Skipping, Jumping, and marking as read — I found that skipping through a podcast, and particularly marking something as having been heard (read) was really difficult from the device. The skips don’t seem to have a common length — at least not that I’ve understood. When I fast forward for semi-long periods of time it takes the device a few seconds to catch up after I stop. It’s not horrible — but it’s distracting.

5) Pictures — I don’t know what I should have expected from an on device picture viewer, but I’m pretty sure I would have been disappointed. The device doesn’t automatically rotate images to the correct orientation. Nor does it allow multi-level zoom. It’s fine to use as a “brag book” for your children, but it’s nothing to write home about.

6) Moving between computers — Despite the fact that you can associate your live account with Zune there’s no record of what podcasts you’ve listened to in your profile on the server. As a result if you need to reinstall the Zune software on another PC you’re going to have to sort out where you are on your podcasts. Not the end of the world — but something that can be made much, much better.

7) Hardware — I would be remiss if I didn’t mention the first four weeks of my experience. My first device lost its mind before I could even get it synced the first time. It was probably a hard drive failure — but it wasn’t the best out of the box experience. Customer support wasn’t much help. They couldn’t even send me an email confirming the problem to help when I returned it. (The same day I bought it.) The second device fell, literally, fell — it wasn’t dropped. I bought a clear case for it that had a belt holster and the belt holster piece of it unscrewed. The unit dropped to the floor from 3 feet and despite initially looking fine, it had to be returned for service. The clear case it was in was completely unscratched and obviously the unit itself had no signs of damage. As a general statement, I believe that most consumer electronics should survive a fall from 4 feet — particularly in a case. Anyway, I was told that it might take 15 days to get my unit back — well, it was closer to a month. Lots of bad communication and bad customer service in there. It meant that I didn’t have the unit on vacation — when I could have caught up on some content.

All in all, it’s a nice unit. Definitely better than any other music player I’ve had. It’s definitely got me intrigued by the podcasting idea — but I’m not ready to do that yet. I suspect I’ll try repurposing some of the screencasts that are already in production for The SharePoint Shepherd’s Guide for End Users into a podcast… when I have time. It will be fun to see how they look on a Zune’s small screen. (They’re all nominally set for 640×480).

Recent Posts

Public Speaking