I've come across this requirement many times in the past, and I'm facing it again... I have a client that wants context-sensitive help (with icons next to fields/sections on pages). They want their marketing team to manage the help content from a user-friendly environment where they can manage categories, sub-categories, help pages, and help "snippets," with rich-text support (font size/weight, bulleted lists, etc.). Each piece of content would have some unique identifier.

On the web application side, developers would be able to tie an item on the page (e.g. a form field) to a unique id within the help content, and that content would dynamically display on click. But, the user would need to see content within its context (showing category, subcategory, etc.), and navigate/search the rest of the help content easily.

One option is to manage the help content in a tool like Atlassian Confluence, and use its API to display content, then have a custom HTML attribute containing the unique id of the content, with JavaScript to ajax-load the content based on the unique id. Of course, this requires licenses for Confluence, which may be cost-prohibitive for the client.

I've used RoboHelp for this in the past, but it costs $999 per seat...

Does anyone have other ideas for an approach that meets these needs, and is user, developer, and budget-friendly?