Blackbaud's Next Generation of Help - Part 3
Now that we have looked at what Blackbaud enterprise help offers our end-users and their clients - Part 1 and Part 2 - this week we will take a look at the technology driving the help system. We will also talk about how this technology serves to make our search functionality cutting edge.
Technology
As I mentioned in Part 1, the server-based help system is designed to be installed on a Web server along with the Blackbaud Enterprise application itself, which is deployed as a ClickOnce rich-client application. In the help system, HTML topics are wrapped in Microsoft ASP.NET version 2.0 code, which interacts with two Web services that call the code from the application. This technology enables us to display context-sensitive information and dynamically generate links to topics for all the functions a user has rights to on a given page of the application.
Implementation
All “pluggable” features in the application support linking with help topics: tasks, search lists, reports, data forms, pages. Pages in the application support multiple help topics: root page level, page level actions, page sections, and page section actions. Each of these items is associated with a “HelpKey” property in the code. By default, HelpKeys are specific HTML filenames of topics within the system. But end-users can modify HelpKeys (no coding necessary) and include other file types that display in a browser (doc, pdf). They can also link to fully qualified URLs. See Part 2 of my series for more information about manipulating help keys in the system.
As a result, when a user accesses our help system from any given page, a GetPageMetaData Web service builds a list of links related to functions on the page to which a user has security access. The help content for the page (usually an overview) appears, along with a scrollable pane on the left side of the screen containing the dynamically generated links, allowing users easy access to all help associated with the selected help topic.
Search
Blackbaud’s help system depends on Microsoft Indexing Service, which extracts content from files and constructs an indexed catalog to facilitate the user’s search. The service is initialized and configured for Blackbaud Enterprise help on the Web server with an install utility that is part of the application.
The Search field is available from every topic in the help system (via the ASP.NET wrapper). When a user executes a search, an ASP.NET handler issues a query against the indexing service search catalog, which is configured to include all files in the application Help directory. Each time the service indexes the catalog, changes to existing files, as well as new files are included. So end users can add their own documents or topics to the Help directory, and these files are included in search results.
The results are returned and displayed in a dynamically generated html page.
