ZCML File
configure.zcml

<configure
    xmlns="http://namespaces.zope.org/zope"
    i18n_domain="zope"
    >
<class
    class=".onlinehelp.OnlineHelp"
    >
<require
    permission="zope.View"
    interface=".interfaces.ISourceTextOnlineHelpTopic"
    />
<require
    permission="zope.View"
    attributes="context"
    />
</class>
<class
    class=".onlinehelptopic.OnlineHelpTopic"
    >
<require
    permission="zope.View"
    interface=".interfaces.ISourceTextOnlineHelpTopic"
    />
</class>
<class
    class=".onlinehelptopic.RESTOnlineHelpTopic"
    >
<require
    permission="zope.View"
    interface=".interfaces.IRESTOnlineHelpTopic"
    />
</class>
<class
    class=".onlinehelptopic.STXOnlineHelpTopic"
    >
<require
    permission="zope.View"
    interface=".interfaces.ISTXOnlineHelpTopic"
    />
</class>
<class
    class=".onlinehelptopic.ZPTOnlineHelpTopic"
    >
<factory
    id="onlinehelp.topic.zpt"
    />
<require
    permission="zope.View"
    interface=".interfaces.IZPTOnlineHelpTopic"
    />
</class>
<class
    class=".onlinehelptopic.OnlineHelpResource"
    >
<require
    permission="zope.View"
    interface=".interfaces.IOnlineHelpResource"
    />
</class>
<utility
    component="zope.app.onlinehelp.globalhelp"
    provides=".interfaces.IOnlineHelp"
    name="OnlineHelp"
    />
<view
    for="*"
    name="help"
    provides="zope.traversing.interfaces.ITraversable"
    type="*"
    factory=".helpNamespace"
    />
<adapter
    factory=".helpNamespace"
    provides="zope.traversing.interfaces.ITraversable"
    for="*"
    name="help"
    />
<include
    package=".browser"
    />
<include
    package=".help"
    />
</configure>