Tuesday 13 May 2008

My Way of Adding Custom Help Pages to SharePoint

1.Create a Blank Site.

2.Edit the Home Page of the Site.

3.On the Home page of the site there are two Web Part Zones (Left & right).

4.On the Left Web Part Zone add two Web Part Controls.

5.From Add Web Part Dialog box select SearchBox web part.

6.By default this web part displays a dropdown and a text box control.

7.If you want to exclude the drop down change the below property - Scopes Dropdown – Dropdown mode - select this (Do not show Scopes Drop down).

8.From Add Web Part Dialog box select Page Viewer Web Part web part.

9.Modify the Page Viewer Web Part’s Link property to your (HelpIndex) file.

10.This help index file contains the list of help module names.

11.Each of the help Module name links it to the relevant (.htm files present in the _layouts/html folder).

12.This Template.htm (GLG_template.HTM /

13.NAV_template.HTM / NAV assistance_template.HTM

14.Hometemplate.HTM /CoreRegistration_template.HTM) file contains a (html frame) that internally opens the help content files (HomepageTOC.mht / CoreRegistration.mht / NAV Help.mht / Invitations.mht / NAV Assistance.mht).

15.These (.mht) files are MS word Help User manual files saved as Single Web Page In the (.mht) format.

16.Create a Shared Service Provider for this site and enable the search settings for the same.

17.Create a document library and upload these user manuals if you want to show search results should display link to help module documents.

18.Create Custom lists for each module where each of the new item will contain the sections of the single help content module. This gives a better user navigation experience because Once the search results are displayed ,user only needs to click on the link that directly displays the searched document rather than opening the whole document.

Notes: It is not a good idea to build on the standard sharepoint help collection and modifying it to be client specific as any updates such as a service pack will overwrite the core.js file and update all the content and xml files.

It is possible to integrate a URL to link to a specific help page (any URL will do) from the help button on the drop down of a webpart. But to find the page will be laborious as all Moss 2007 help pages are not easily named and hard to find which one it corresponds to. Also the context help is not very sensitive. The only way I have found is not brilliant but it does work:

Popping up a custom help window (as opposed to a SharePoint Help window) while clicking on context sensitive help links on MOSS sites can be done by changing the "Core.js" file which can be found at "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033\Core.js" on your MOSS web server. Once you locate the file, find the Javascript function "HelpWindowHelper()" and change it to suite your requirements. An example is provided below:function HelpWindowHelper(strParam){var strHelpUrl;if (typeof(strParam)=="undefined"){strHelpUrl="/_layouts/help.aspx?Lcid="+L_Language_Text;}else if (strParam == "&Key=Custom") /* Present new Custom Help Windows when parameter is 'Custom' */{strHelpUrl="/pages/CustomHelp.aspx?Lcid="+L_Language_Text+strParam;}else{strHelpUrl="/_layouts/help.aspx?Lcid="+L_Language_Text+strParam;}var wndHelp=window.open(strHelpUrl, "STSHELP","height=500,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no,width=475");wndHelp.focus();}Please note that this change should be tracked and documented as its a unsupported hack for future Service Pack releases of MOSS 2007 (as SPs might overwrite "Core.js" with its own new version, in which case you will loose your changes if you havent documented them). This is not ideal as a backup of the core.js file could need to be kept before installing an update and re-instated after an update is applied.

No comments:

Zootmastaflex

Zootmastaflex
The Queen of RockStars!