On Tue, Dec 12, 2006 at 07:56:53AM +1100, Tom Dossis wrote:
> FB wrote:
> > 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.
> Have you 'browsed' the utility via the ZMI 'Manage Site'?
> Is there an instance there (in the site you expect it to be)?
> If so the 'Registration' page could provide some useful info.
Yes. The instance is there, the registration tab shows the registration as
the site root folder itself lists the registration in site.registrations lists
registration as expected.
Registering via browser doesn't work either :-( .
BTW: I've got dozens of other utilities registered that are working perfectly.
Zope3-users mailing list