Connected Page Viewer Web Part

Scenario:-

There is a Link web part and a Page viewer web part on the web part page. The requirement is that, whenever a user clicks on a particular link inside Link Web Part it should automatically render the corresponding page inside the page viewer web part.

Challenges:-

By default the page viewer web part does not support connections.

Solution:-

The solution is to create a page viewer web part that accepts the url as the connectable parameter. There is an interesting post by Todd Baginski about creating a connectable Page Viewer Web Part

http://www.sharepointblogs.com/tbaginski/archive/2007/08/16/connected-page-viewer-web-part.aspx

Even though the code-sample mentioned in the above link is for SPS 2003, we need to do code changes if we are developing it for WSS 3.0 / MOSS 2007. Probably if we are developing the web part as “SharePoint web part” the code changes we’d be making is less, compared to developing it as “ASP.NET” web parts.

I’d try this developing it for WSS 3.0/ MOSS 2007 and share my experiences

 Subscribe to my post

Configuring MOSS 2007 to search pdf documents – install and configure pdf ifilters

There is a requirement to index and search PDF documents inside MOSS 2007.  The first thing that comes to my mind is “IFilters”.  Then I need to choose between the V6 and V8.1 of the IFilters. The advantage of Acrobat Reader V8.1 reader is that it has IFilters inside. 

I did not choose V8.1 . Because I don’t have special requirement to deal with WDS search. So I’ve chosen IFilters V6. Here are steps that I followed to install the pdf IFilters

a)Download Adobe PDF IFilters 6.0

b)Start –>Run–>> Services.msc and stop the IIS Admin service. The reason we need to do this is, the IFilters configuration needs an update to DOCICON.XML.

c)Run the IFilters installer on the Indexing Server

d) Download the pdf icon image pdficon of size 17X17 from the following location and save it as “icpdf.gif” somewhere to the local hard disk

http://www.adobe.com/misc/linking.html

d)Copy the icpdf.gif to the following location

C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions12TemplateImages”

e) Go the C:Program FilesCommon FilesMicrosoft SharedWeb server extensions12TemplateXml

f) Edit the DOCICON.XML by adding the following entry

<Mapping Key=”pdf” Value=”icpdf.gif”/>

g) Perform an IIS RESET

h) Go to Search Settings under Central Administration and add the pdf as the new file type

g) Perform the crawl again

Now MOSS is supposed to search pdf documents properly. This is what said in so many Articles and Blogs. It did not work for me that easily. After some analysis, I’ve learnt that I need to apply a Microsoft Hot fix to make this work for MOSS 2007. The Microsoft Hot fix mentions the following steps to be performed to make the pdf search work for MOSS 2007

1. Add the following registry entry, and then set the registry entry value to pdf:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftShared ToolsWeb Server Extensions12.0SearchApplications<GUID>GatherSearchExtensionsExtensionList38

To do this, follow these steps: a. Click Start, click Run, type regedit, and then click OK.

b. Locate and then click the following registry subkey:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftShared ToolsWeb Server Extensions12.0SearchApplicationsGUIDGatherSearchExtensionsExtensionList

c. On the Edit menu, point to New, and then click String Value.

d. Type 38, and then press ENTER.

e. Right-click the registry entry that you created, and then click Modify.

f. In the Value data box, type pdf, and then click OK.

2. Verify that the following two registry subkeys are present and that they contain the appropriate values.

Note these registry subkeys and the values that they contain are created when you installed the Adobe PDF IFilter on the server.

• HKEY_LOCAL_MACHINESOFTWAREMicrosoftShared ToolsWeb Server Extensions12.0SearchSetupContentIndexCommonFiltersExtension.pdf

This registry subkey must contain the following registry entry:• Name: Default

Type: REG_MULTI_SZ

Data: {4C904448-74A9-11D0-AF6E-00C04FD8DC02}

  • HKEY_LOCAL_MACHINESOFTWAREMicrosoftShared ToolsWeb Server Extensions12.0SearchSetupFilters.pdf

This registry subkey must contain the following registry entries:

• Name: Default

Type: REG_SZ

Data: (value not set)

• Name: Extension

Type: REG_SZ

Data: pdf

• Name: FileTypeBucket

Type: REG_DWORD

Data: 0x00000001 (1)

• Name: MimeTypes

Type: REG_SZ

Data: application/pdf

3. Upload the PDF documents to the Windows SharePoint Services 3.0 Web site.

a. Stop and then start the Windows SharePoint Services Search service. To do this, follow these steps:a. Click Start, click Run, type cmd, and then click OK.

b. Stop the Windows SharePoint Services Search service. To do this, type net stop spsearch at the command prompt, and then press ENTER.

c. Start the Windows SharePoint Services Search service. To do this, type net start spsearch at the command prompt, and then press ENTER.

d. Type exit to exit the command prompt.

Now MOSS is ready to search pdf documents

 Subscribe to my post

Setup External Tools Option in Visual Studio

Scenario

I’m more into SharePoint development these days, especially the development of custom web parts. I felt like I need to remember quite a bit of command line tools for SharePoint development, especially sn.exe which is more commonly used in web part development. I was looking for an option in Visual Studio to do this job.

Solution

After a bit of search I’ve found that this can be achieved by leveraging External Tools option in Visual Studio

In Visual Studio 2005 –> Tools —–> External Tools

Click Add button

External Tools

Enter the Title ‘Fetch Public Key’

Under Command, choose the sn.exe from C:Program FilesMicrosoft Visual Studio 8SDKv2.0Bin

External Tools2

In the Arguments set the value as -Tp “$(TargetPath)”  T – retrieves the public key token of the assembly,                           p – Blob of the public key                          $(TargetPath) – location where the VS.NET created the assemblySelect ‘Use Output Window’ optionClick Ok and Apply.Now, we can fetch the public key of the project (assembly)

Fetch Public Key

 Subscribe to my post