[prev in list] [next in list] [prev in thread] [next in thread] 

List:       zope3-users
Subject:    [Zope3-Users] Re: zopeproject auto create instance
From:       Philipp von Weitershausen <philipp () weitershausen ! de>
Date:       2007-09-28 18:02:42
Message-ID: fdjfk3$vi2$1 () sea ! gmane ! org
[Download RAW message or body]

Michael Ang wrote:
> Hi, I am new to zope3 and zopeproject.
> I have a question, how do I create an instance of my (IContainer) class
> when initial startup of a zopeproject?
> 
> For Plone, I can inject in Extensions/Install.py.
> 
> Hope you understand my question, thanks.

Write an IDatabaseOpenedWithRootEvent handler:


import zope.component
from zope.app.appsetup.interfaces import IDatabaseOpenedWithRootEvent
from zope.app.appsetup.bootstrap import getInformationFromEvent

   @zope.componen.adapter(IDatabaseOpenedWithRootEvent)
   def createInitialFolder(event):
       db, connection, root, root_folder = getInformationFromEvent(event)
       if 'myfolder' not in root_folder:
           root_folder['myfolder'] = MyContainer()


and register it as a subscriber:

   <subscriber handler="...createInitialFolder" />

-- 
http://worldcookery.com -- Professional Zope documentation and training

_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic