[Zope3-Users] Application instantiation without ZMI
Stephan Richter
srichter at cosmos.phy.tufts.edu
Fri Jun 22 14:32:21 EDT 2007
On Wednesday 20 June 2007 10:43, Hermann Himmelbauer wrote:
> How did you do that? I managed it the following way:
>
> -------------- snip ---------------
> from zope.app.appsetup.interfaces import IDatabaseOpenedWithRootEvent
> from zope.app.appsetup.bootstrap import getInformationFromEvent
>
> @adapter(IDatabaseOpenedWithRootEvent)
> def addFoobar(event):
>
> db, connection, root, root_folder = getInformationFromEvent(event)
>
> if 'swarmfinder' not in root_folder:
> root_folder['foobar'] = Foobar()
> ------------- snip ----------------
>
> What I dislike here is that there that I use the
> function "getInformationFromEvent", which is already called in the function
> where in the event is triggered; Especially it does a "database.open()",
> which is maybe not a good idea as the database is already opened.
>
> Is there a cleaner way
Yeah, people at ZC prefer using generations. Others (including me), on the
other hand, have developed z3c.configurator and z3c.sampledata, which can
setup entire applications for you.
Regards,
Stephan
--
Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
More information about the Zope3-users
mailing list