Customizing the SharePoint Help System : Part 1

Help in SharePoint is available by clicking the blue Help Icon at the top right of every standard page:

SharePoint Help files open in a new window and are delivered from a system Document Library called HelpFold which can be seen under View All Site Content of the Central Admin site:

The HelpFold document library is organized into a series of folders as follows:

Within these folders Help content is organized by language code (for example 1033 for US-EN) and then scope (MOSS, WSS, Central Administration, Search etc).

So in principle, it should be possible to customize this content in order to add your own help topics and content, which may relate say to your corporate environment or to customizations which have been made to SharePoint. It is not advisable to edit the contents of this document library directly, however, nor would it, I suspect, be supported. The way to customize the Help within SharePoint is to do so at the level of the source CAB files which are used to populate the document library shown above.

Help source CAB files

SharePoint Help files are loaded into the HelpFold Document Library from compressed CAB files which are stored under the following path:

A standard MOSS server installation will have the following Help cab files:

The list above includes a custom help cab MS.OSS.CUSTOM.cab which will be used to provide an example of how to add custom help content.

If you uncompress a cab file, by using Windows Explorer and right-clicking to Extract, the contents should be extracted to two folders named content and metadata, in line with the Path attribute. The manifest.xml, prefixed by the help collection name should be saved to the root folder above content and metadata. As you would expect, content in the form of actual help files in .htm format plus images, css and javascript files are stored in the content folder. All metadata is stored in the metadata folder and consists of xml files describing categories, sub-categories and topics, plus descriptions of image and htm files. The whole thing is described in the manifest.xml file which contains all the relationships between the metadata and the content.

Making sense of a large help file can be difficult as every element is related together by keys which are not particularly meaningful to the human eye. An essential tool when modifying a help file in SharePoint is available from http://www.blackcompass.com : their SharePoint Help Collection Builder.

This little program, which is free to download, provides a clear picture of the structure of the different elements in the help system and allows relatively easy editing, plus the option of creating and installing the final cab file on the SharePoint server.

Though there is nothing to prevent the editing and customization of the standard Microsoft help content for SharePoint, this is not advisable for two reasons. Should Microsoft update their help contents for SharePoint, following a service pack or security patch, then your customizations will be lost. And in terms of maintenance, it is much simpler if all customizations are kept in a separate cab file which can then be edited without fear of corrupting the official help content for SharePoint.

Fortunately, one help collection can refer to and include another, so long as all follow the same structural principles. The best practice for customizing the help system in MOSS, for example, would be to simply include a reference to your custom help files in MS.OSS.HC.MANIFEST.xml as follows:

<referencedCollections>

<collection sortOrder=”9″>MS.OSS.CUSTOM.manifest</collection>

</referencedCollections>

As there are 9 existing top-level categories in the default MOSS help system, and the sortOrder begins at “0” you should give your referenced collection a sortOrder of “9” and it will appear at the end of the category list. In my next post, Part 2 of this article, I will explain in more detail how to create and install a custom SharePoint help file and provide an example to download.