[Zope3-Users] Registered utility is never found

FB fbo2 at gmx.net
Mon Dec 11 06:58:21 EST 2006


Hi,

is there any reason why a registered utility which is persistently stored inside the site
manager is never found via zapi.getUtility(IMyInterface) ?

More information:

I wrote a package ( fb ) containing some components making the developer's life easier. The package
provides a class fb.init.indicator.InitIndicator. A application depending on the fb package is
supposed to make an instance of the InitIndicator, put it into the site manager and register it.

As soon as the InitIndicator exists, the annoying "This site is not
initialized, yet"-message provided by the fb package's skin (which just
checks if "zapi.getUtility(IInitIndicator) is not None") disappears.

But: It *doesn't work* and a don't have the slightest clue why. This is,
what my application's initialisation routine does:


def initApplication(root):
   sm=getSiteManager()
   df=sm['default']
   initindicator=InitIndicator('mpgsite','http://zope3.mpg.de/topic/MpgSite',u"no info")
   df['initindicator']=initindicator
   sm.registerUtility(df['initindicator'],IInitIndicator,'','')
   [...]
   test=zapi.getUtility(IInitIndicator) # Works!
   [...]

Querying the IInitIndicator component works directly after the registration
but *nowhere* else in my application.

Doesn anyone have an idea, what can cause such an error?

Regards,

Frank


More information about the Zope3-users mailing list