Suddenelfilio’s Weblog

Icon

Passionate about .net

Enable PDF search in Windows Sharepoint Service 3.0

In my struggle to setup my ebook library I’ve encountered the problem that none of my pdf files were indexed by the sharepoint search service. Something I could have guessed because pdf is not a microsoft owned document format. So I searched a bit on how to solve this and came up with the following:

The sharepoint Search Service uses the indexing capabilities like the OS Indexing service does. This means that you can extend it’s capability by implementing the IFilter interface. This is an interface that the indexing service uses to get text from files and so on. So you can implement it to support any file type you like as long as you yourself know how to parse it to text :-) . Lukily for me Adobe has been so kind to provide an implemented version of the IFilter for pdf documents.

So you go to http://www.adobe.com/support/downloads/detail.jsp?ftpID=2611
There you can download the Ifilter and install it.

After installing you’ve enabled the indexing service to use it, but you still need to make sure that sharepoint can use it. To do this you will have to do some registry hacks:

1. Open regedit and go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\Search\Applications\>\Gather\Search\
Extensions\ExtensionList (mind the line break!)

Note: The is different on different systems anyways it should like {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}

2. Create a new String Value (Edit –> New –> String Value)

3. Rename the new string value to 38

4. Right click 38 and choose Modify

5. Set it’s value to pdf and click OK.

Ok you’re set. Now upload some pdf documents to your wss site and after that restart the Sharepoint Search Service using net stop spsearch to stop the service and net start spsearch to start the service. (oh yeah you run these commands in a command prompt ofcourse ;-) start -> run -> type cmd and hit enter)

Et voila pdf indexing and search has been enabled on your wss setup. You should give the system some time to index the files.

Note:If there were already pdf’s uploaded to the wss site before you installed the IFilter there is still a small problem. These files won’t get indexed automaticaly, but you can trigger indexing by changing just any property of the file. For example change the title of the document. Another way is to just upload the files again.

Ok before you think that I’m some sort of Guru on searching, indexing or even sharepoint please note that all that I mentioned here can be found in the following KB article http://support.microsoft.com/kb/927675

Filed under: .net, Sharepoint

Sharepoint Designer and Forms authentication

In my quest to build a private & personal document library I’m fighting on a daily base against Sharepoint. I changed the authentication provider from the default windows authentication to the Forms authentication allowing me to use the ASP.NET Sql Membership provider and so provide an easier way to authenticate over the internet.

There was a small problem when I tried opening the site in the Sharepoint Designer (SD). I couldn’t find the site. So after googling for a couple of minutes I discovered that SD and Forms Authentication don’t play well together. I found 2 solutions of which 1 actually did the trick for me:

The first one was when you log into sharepoint you can check the “Log me in automatically” box so the site remembers your credentials. You can than click the the File menu in IE and choose the option Open in Sharepoint Designer. This will open the current page in the designer, but not the entire site. So that’s a no go because you won’t be able to use SD to create workflows and so on, it will just function as an overgrown WYSIWYG editor for that specific page. If you don’t check the box at login and you open a certain page you will see the login page in SD which doesn’t help much…

Okay time for option 2. For this option you need some more guts and more important rights :-) . You need to convert to Windows authentication. The Problem is that you don’t want to change the authentication provider every single time you want open the site in SD.So you need to extend the existing webapplication. For example On my server I have a web application running on http://myserver:8000 for the default zone. This is the one that uses forms authentication. Next I extend that same webapplication to the intranet zone and put it on http://myserver:8001. This one will get you to the same sites that exist on http://myserver:8000 but instead of using forms authentication it uses the windows authentication. You can now open the site in SD not by going to http://myserver:8000 but by going to http://myserver:8001. When doing this you will be prompted to provide your windows credentials. After that the entire site opens like it should.

Filed under: Sharepoint

New SDK’s available for download for sharepoint developers

I saw these downloads passing by when I was checking my mails.

  Windows
SharePoint Services 3.0 SDK

This SDK contains conceptual overviews, programming tasks,
samples, and references to guide you in developing solutions based on
Microsoft Windows SharePoint Services 3.0.

  Microsoft
Office SharePoint Server 2007 SDK

This SDK contains conceptual overviews, programming tasks,
code samples, references, and an Enterprise Content Management starter kit to
guide you in developing solutions based on Microsoft Office SharePoint Server
2007.

Filed under: .net 2.0, Sharepoint