I'd like to provide some default utilities for my sub-site.
As I checked there is the nice ensureUtility method but as it turns
out it failes with

  Module szscreen.app, line 339, in __init__
    'WorkflowUtility', WorkflowUtility, 'wfu')
  Module zope.app.appsetup.bootstrap, line 66, in ensureUtility
    name, **kw
  Module zope.app.appsetup.bootstrap, line 74, in addConfigureUtility
    utility_name = addUtility(root_folder, utility_type, utility_factory, **kw)
  Module zope.app.appsetup.bootstrap, line 83, in addUtility
    package = getSiteManagerDefault(root_folder)
  Module zope.app.appsetup.bootstrap, line 105, in getSiteManagerDefault
    package = traverse(root_folder, package_name)
  Module zope.app.traversing.api, line 96, in traverse
    return traverser.traverse(path, request=request)
  Module zope.app.traversing.adapters, line 120, in traverse
    curr = IPhysicallyLocatable(self.context).getRoot()
  Module zope.app.location.traversing, line 90, in getRoot
    raise TypeError("Not enough context to determine location root")
TypeError: Not enough context to determine location root

when it checks the existence of the utility it uses
  sm = root_folder.getSiteManager()
but when it wants to add the non existing utility
  package = getSiteManagerDefault(root_folder)
which in turn wants to traverse like this
  package_name = '/++etc++site/default'
  package = traverse(root_folder, package_name)

Is there any way to easily solve the task?

Excerpt from szscreen.app:

class IApplication(IReadContainer, IPossibleSite, IAttributeAnnotatable):

class Application(Persistent, SampleContainer, SiteManagerContainer):

        def __init__(self):
                sm = LocalSiteManager(self)

                ensureUtility(self, IWorkflowUtility,
                        'WorkflowUtility', WorkflowUtility, 'wfu')

Best regards,
 Adam                          mailto:[EMAIL PROTECTED]
Quote of the day:
I do not think there is any other quality so essential to success of
any kind as the quality of perseverance.  It overcomes almost
everything, even nature.
(John D. Rockefeller)

Zope3-dev mailing list
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to