Monday, October 03, 2011

Mysteries of IFilter Development Revealed

Alex Culp and I worked on a IFilter for a customer file type.  His page on writing an ifilter is down while he works on publishing an article on writing ifilters for Microsoft. [Update: His MSDN article on IFilter development has been published, see my post, http://codewright.blogspot.com/2011/12/sharepoint-2010-custom-ifilter.html]  In the meantime, I figured I'd share my list of IFilter development links.  Considering all the other technology out there and the age of the ifilter interface, I was surprised how difficult it was to find useful information.

A good start is this MSDN page: http://msdn.microsoft.com/en-us/library/ms916793.aspx. It's somewhat old but does cover lots of the details involved. We had the hardest time finding out how to create a custom property or property set for the ifilter to use when it found metadata.  We ended up using an existing category, Basic, and creating property ID's above the range of existing properties, i.e. we started at 200 since the existing Basic properties didn't get above 100.

Here's info on debugging IFilters in MOSS. We did have trouble getting all the registry entries needed to properly register the IFilter with the server. Keep a log of the entries, there are quite a few and in confusingly similiar places, especially since GUIDs are involved.

Here is another page on ifilter development.  Keep reading through the comments, lots more details are discussed there.

IFilter explorer. Shows information about the installed ifilters.

Good article series from Anne Stenberg on crawled properties and how to find the one you want to map. This is useful in understanding more about a crawled property, like when you want to make your own.

This post mentions a dev guide to writing your own SP2007 protocol handler. Might be a good resource.







Delicious Bookmark this on Delicious

1 comment:

  1. Anonymous4:07 AM

    Is there an iFilter for the open source 7z (7-Zip) format?

    ReplyDelete

I reserve the right to delete inappropriate comments at my discretion