ZCML File
configure.zcml

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:browser="http://namespaces.zope.org/browser"
    >
<view
    for="*"
    permission="zope.Public"
    allowed_interface=".interfaces.IAbsoluteURL"
    name="absolute_url"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory=".AbsoluteURL"
    />
<view
    for="*"
    permission="zope.Public"
    provides=".interfaces.IAbsoluteURL"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory=".AbsoluteURL"
    />
<view
    for="zope.traversing.interfaces.IContainmentRoot"
    permission="zope.Public"
    allowed_interface=".interfaces.IAbsoluteURL"
    name="absolute_url"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory=".SiteAbsoluteURL"
    />
<view
    for="zope.traversing.interfaces.IContainmentRoot"
    permission="zope.Public"
    provides=".interfaces.IAbsoluteURL"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory=".SiteAbsoluteURL"
    />
<browser:page
    class=".AbsoluteURL"
    allowed_interface=".interfaces.IAbsoluteURL"
    for="*"
    permission="zope.Public"
    name="absolute_url"
    />
<browser:page
    class=".SiteAbsoluteURL"
    allowed_interface=".interfaces.IAbsoluteURL"
    for="zope.traversing.interfaces.IContainmentRoot"
    permission="zope.Public"
    name="absolute_url"
    />
</configure>