[Zope3-dev] How to provide some default utilities for sub-site
Adam Groszer
adamg at fw.hu
Fri Nov 4 06:43:04 EST 2005
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):
implements(IApplication)
def __init__(self):
SampleContainer.__init__(self)
sm = LocalSiteManager(self)
self.setSiteManager(sm)
...
ensureUtility(self, IWorkflowUtility,
'WorkflowUtility', WorkflowUtility, 'wfu')
--
Best regards,
Adam mailto:adamg at fw.hu
--
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)
More information about the Zope3-dev
mailing list