[Grok-dev] Generations problem

Christian Klinger cklinger at novareto.de
Tue Sep 13 14:40:53 EST 2011


Hi Svenn,

i think i found the missing bit. It seems you have to explicit register 
subscriber.zcml of zope.generations. So please try to add


<include package="zope.generations" file="subscriber.zcml" />


I think then the stuff will work.

Christian

> On Thursday, September 08, 2011 03:32:28 PM Christian Klinger wrote:
>> Hi Svenn,
>>
>> i guess this is because the configure.zcml from zope.generations is not
>> picked up. You can do two things:
>>
>> 1) Put zope.generations in your setup.py  -->  install-requires.
>> 2) add<include pacakge="zope.generations">  in your configure.zcml
>
> 1) was already there and adding 2) and fixing the typo (see below) did not
> result in having the hodweb app being added at first startup.
>
> I also added a pdb in zope.generations.generations.SchemaManager.install, but
> it never get called.
>
> This is working fine in an other project but then with Grok 1.0 and
> zope.app.generations instead of zope.generations.
>
> Does Grok 1.4 and zope.generations work for everyone else?
>
> Cheers,
>
> Svenn.
>
>> I created a modified version in the "not yet released" documentation of
>> grok [1]
>>
>> Hope this helps
>> Christian
>>
>> [1]
>> https://bitbucket.org/jhsware/grok-doc/src/62ff456c0eec/source/topics/gener
>> ations.rst
>>
>>> Hi,
>>>
>>> I'm having problems getting zope.generations to work with Grok 1.4. I'm
>>> following the howto here:
>>>
>>> http://grok.zope.org/doc/community/topics/generations.html
>>>
>>> I want to have an instance of my app installed in the root folder on
>>> first startup. But the evolve function in hodweb.generation.install is
>>> never called. I don't get any error messages either.
>>>
>>> Suggestions appreciated.
>>>
>>>
>>> [hodweb.app]
>>>
>>> import grok
>>>
>>> from hodweb import resource
>>> import zope.interface
>>>
>>> class Hodweb(grok.Application, grok.Container):
>>>       pass
>>>
>>> [hodweb.generations.util]
>>>
>>> import grok
>>> from zope.generations.generations import SchemaManager
>>> from zope.generations.interfaces import ISchemaManager
>>>
>>>
>>> schemaManager = SchemaManager(
>>>
>>>       minimum_generation=0,
>>>       generation=0,
>>>       package_name='hodweb.generation'
>
> Typo. It should say 'hodweb.generations'. Fixing it did not help.
>
>>> )
>>>
>>>
>>> grok.global_utility(
>>>
>>>       schemaManager,
>>>       provides=ISchemaManager,
>>>       name="hodweb",
>>>       direct=True
>>>
>>> )
>>>
>>> [hodweb.generations.install]
>>>
>>> from hodweb.app import Hodweb
>>> from zope.generations.utility import getRootFolder
>>>
>>> def evolve(context):
>>>       root = getRootFolder(context)
>>>       root['app'] = Hodweb()
>>>       print "CREATED App"
>>>
>>> Best regards,
>>>
>>> Svenn.
>>
>> _______________________________________________
>> Grok-dev mailing list
>> Grok-dev at zope.org
>> https://mail.zope.org/mailman/listinfo/grok-dev




More information about the Grok-dev mailing list