1

What is the maximum length of variable names in the [ALIAS] section of HHP files?

I_AM_WONDERING_ABOUT_THE_MAXIMUM_LENGTH_OF_THIS_STRING_RIGHT_HERE=this-is-some-really-helpful-html-file.html

I have found a CHM/HHP specification right here:

https://www-user.tu-chemnitz.de/~heha/viewchm.php/hs/chmspec.chm/hhp.html

That page only talks about the length of the overall line, though (and not about the length of the variable name). Very specific question, I know. Still, someone may be able to point me somewhere.

help-info.de
  • 6,695
  • 16
  • 39
  • 41

1 Answers1

2

As far as I know never asked before and I never heard about limitations. But I think this is because nobody used long variable names in this place so far.

The purpose of the two files e.g. alias.h and map.h is to ease the coordination between developer and help author. The mapping file links an ID to the map number - typically this can be easily created by the developer and passed to the help author. Then the help author creates an alias file linking the IDs to the topic names. That was the idea behind years (decades) ago by Ralph Walden (ex Microsoft).

Please note HTMLHelp is about 20 years old and these context ID strings inside a alias.h file were derived from WinHelp as a predecessor of HTMLHelp.

You'll find some further Information at Creating Context-Sensitive Help for Applications.

In general I'd recommend to use ID's with a fixed format because of the better legibility like shown below:

;-------------------------------------------------------------
; alias.h file example for HTMLHelp (CHM)
; www.help-info.de
;
; All IDH's > 10000 for better format
; last edited: 2006-07-09
;---------------------------------------------------
IDH_90001=index.htm
IDH_10000=Context-sensitive_example\contextID-10000.htm
IDH_10010=Context-sensitive_example\contextID-10010.htm
IDH_20000=Context-sensitive_example\contextID-20000.htm
IDH_20010=Context-sensitive_example\contextID-20010.htm

I'd recommend to use less than 1024 bytes per line.

help-info.de
  • 6,695
  • 16
  • 39
  • 41
  • Thanks for this. We need to expand on those context IDs, i.e., sacrifice some of the legibility in favor of improved functionality. You are very welcome to point me to alternatives for displaying context-sensitive help, ideally ones that carry some of the functionality of Microsoft HTML Help (HTML input/CHM output), search/index. – Sebastian Sulger Oct 11 '17 at 10:59
  • I'm not quite sure what your requirements are. For context-sensitive Windows application help like shown here https://stackoverflow.com/a/46608796/1981088 CHM's are state of the art. – help-info.de Oct 11 '17 at 18:15
  • Here is some explanation on what we are looking for. We wonder whether there are more recent alternatives to Microsoft's HTML Help Compiler, since that software is quite dated; we fear it might not run in the near future. Ideally, this would be a tool that we can use to compile HTML into CHM files, without our clients having to install some special GUI to view the CHM (they would just continue to use whatever Help GUI they happen to run on their OS). Minimally, we would need the following features in the Help: a table of contents, an index, a full text search, maybe printing functionality. – Sebastian Sulger Nov 09 '17 at 17:24
  • @Sebastian - HTMLHelp is in "maintenance mode" for several years now. No new features are expected. As far as I know there is no new help systems being developed at Microsoft. Please note, more and more content is web-based. So, check a workflow Markdown -> Pandoc -> HTML for your needs. Check Sandcastle's conceptual topics - you maybe warned this has a learn curve!). Some links see also: https://stackoverflow.com/a/46825855/1981088 and http://ewsoftware.github.io/SHFB/html/bd1ddb51-1c4f-434f-bb1a-ce2135d3a909.htm – help-info.de Nov 09 '17 at 18:42
  • Thanks for this, I appreciate it. Didn't know about pandoc, looks great. The thing is, we really don't need any editing functionality for this - we do that using our in-house CMS/IMS tools (in fact, those are the tools that are described in this help). Things like single-sourcing (e.g. HTML/CHM/PDF) are no problem here. So we are really just looking for a possible replacement of the actual CHM compiler. – Sebastian Sulger Nov 10 '17 at 08:23