ZCML File
configure.zcml

<configure
    xmlns="http://namespaces.zope.org/browser"
    xmlns:zope="http://namespaces.zope.org/zope"
    >
<resource
    layer="zope.app.boston.boston"
    name="boston.js"
    file="boston.js"
    />
<resource
    layer="zope.app.boston.boston"
    name="skin.css"
    file="skin.css"
    />
<resource
    layer="zope.app.boston.boston"
    name="widget.css"
    file="widget.css"
    />
<viewlet
    class="..BostonJavascriptViewlet"
    layer="zope.app.boston.boston"
    for="*"
    permission="zope.Public"
    name="boston.js"
    manager="zope.app.boston.IJavaScript"
    weight="1"
    />
<viewlet
    class="..BostonSkinCSSViewlet"
    layer="zope.app.boston.boston"
    for="*"
    permission="zope.Public"
    name="skin.css"
    manager="zope.app.boston.ICSS"
    weight="0"
    />
<viewlet
    class="..BostonWidgetCSSViewlet"
    layer="zope.app.boston.boston"
    for="*"
    permission="zope.Public"
    name="widget.css"
    manager="zope.app.boston.ICSS"
    weight="1"
    />
<resource
    layer="zope.app.boston.boston"
    name="favicon.png"
    file="img/favicon.png"
    />
<resource
    layer="zope.app.boston.boston"
    name="logo.gif"
    file="img/zopelogo.gif"
    />
<page
    class=".standardmacros.StandardMacros"
    layer="zope.app.boston.boston"
    allowed_interface="zope.interface.common.mapping.IItemMapping"
    for="*"
    permission="zope.View"
    name="standard_macros"
    />
<page
    layer="zope.app.boston.boston"
    for="*"
    permission="zope.View"
    name="skin_macros"
    template="template.pt"
    />
<page
    layer="zope.app.boston.boston"
    for="*"
    permission="zope.Public"
    name="widget_macros"
    template="widget_macros.pt"
    />
</configure>