What's the Online Help System?

    The Online Help provides a way to write, organize and display
    help documents for applications.

    The Online Help is basically a hierarchy of Help Topics.

    Topics are a pieces of the help that contain useful information.
    The contents of a Help Topic can be defined in different formats,
    which will all displayed as HTML.
    The Online Help supports

        - plain text documents
        
        - structured text documents

        - restructured text documents

        - HTML documents

        - Page template based content

    Topics are also containers and can contain further Topics or 
    resources associated with the Help Topic. 
    This way we can have
    nested help pages, which will help with content organization. It is
    possible to associate a topic with an interface or even 
    a particular view of an interface.

    New topic classes can be easy defined and used. A new topic implementation
    has only to provide the constructor attributes and the interface 
    IOnlineHelpTopic. A new topic class can be used as the dotted name of the 
    class attribute in the "help:register" directive.

    The Online Help System is implemented as global service.


Usage:

    To register help topic for your code, you need to add 'register'
    directive in the configuration file (see example below). You can
    specify the following attributes:

    -  'parent'   - Location of this topic's parent in the OnlineHelp tree.
                 Optional.

    -  'id'       - The id of the help topic. Required.

    -  'title'    - The title of the topic. It will be used in the tree as
                  Identification. Required.

    -  'doc_path' - Path to the file that contains the topic. Required.

    -  'doc_type' - Defines the type of document this topic will be. Optional.

    -  'for'      - The interface this topic apllies to. Optional.

    -  'view'     - The name of the view for wich this topic is registered.
                 Optional.

    -  'class'    - The dotted path to the class which will be used for initialize
                 a topic. Optional.

    -  'resources'  - A list of resources that can be referenced by the Help Topic (e.g. images). Optional.


Examples::

    <configure
        xmlns="http://namespaces.zope.org/zope"
        xmlns:help="http://namespaces.zope.org/help"
        >

    ....

    <!-- Register Help Topics -->

    <help:register
        id="zmi"
        title="Zope ZMI"
        doc_path="./help/ui.stx"
        resources="mgmt-main-1.png"
        />
  
    <help:register 
        id="welcome"
        parent="onlinehelp"
        title="Welcome"
        doc_path="./help/welcome.stx"
        />
  
    <help:register
        id="onlinehelp"
        title="Online Help System"
        doc_path="./help/README.stx"
        />

    <help:register
        id="styleguide"
        title="Zope Style Guide"
        doc_path="styleguides.txt"
        class="zope.app.onlinehelp.onlinehelptopic.RESTOnlineHelpTopic"
        />
  
    <help:register
        id="css"
        parent="styleguide"
        title="CSS Style Guide"
        doc_path="index.html"
        class="zope.app.onlinehelp.onlinehelptopic.ZPTOnlineHelpTopic"
        />

    </configure>
