I often asked myself the question - How do independent vendors develop IFilters for MS Search Products and what are the challanges they face? It occurred to me that if I could somehow document the development lifecycle of an IFilter developed by someone other than Microsoft, it'd probably provide answers to a lot of baffling questions facing independent vendors developing these components.
I recently had the oppurtunity to have a detailed discussion with Marco van Schagen from CAD & Company, who has just embarked on a fascinating voyage of refactoring the CAD(DWG) IFilter.
This thread is meant to address the issues faced by Marco which may be of broader interest to several of us implementing our own filters.
In Marco's own words:
Currently I am planning a new version of our 2005 version DWG iFilter. This is to support the newer 2007 DWG file format, and address questions on it's operation with SQL 2005 and MOSS (sharepoint) 2007.
Would you be interested in information on this product, please visit http://www.cadcompany.nl/ifilter
As I am unexperienced with iFilter development, I have many questions to find answers for.
In my preparations, Deb Haldar has provided me with crucial information to help me get on the right track. I would like to share this information in his blog to help make this the "One stop shop" for IFilter related issues. Probably a seperate thread will be created to track the development cycle of an iFilter from scratch.
The existing 2005 version iFilter project is coded mostly in C++, in VC 6.0.
Some questions I'd like to discuss:
- Should we use C++ or transfer to dot Net and why?
- What is required for coding a proper iFilter
- Testing for Multithreading compatiability
- Registration with Sharepoint and SQL 2005
I would like to start sharing my information soon, and I am interested in your comments.
Marco van Schagen