[Checkins] SVN: Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/ * Get
rid of zope.paste by including the actual application bootstrapping
Philipp von Weitershausen
philikon at philikon.de
Wed Jul 11 16:18:35 EDT 2007
Log message for revision 77696:
* Get rid of zope.paste by including the actual application bootstrapping
in the skeleton app. While this duplicates a few lines of code for each
app, it greatly increases the flexibility (you can, for example, create
ZODB-less apps more easily this way).
* Use a traditional zope.conf file (except that you can't specify any servers
nor an accesslog). The file_storage shortcut is gone.
* Use the Paste#http server by default
Changed:
U Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/buildout.cfg_tmpl
D Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/deploy.ini
A Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/deploy.ini_tmpl
A Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/log/
A Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/log/README.txt
A Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/zope.conf
A Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/make_zope_app/+package+/application.py
U Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/make_zope_app/setup.py_tmpl
-=-
Modified: Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/buildout.cfg_tmpl
===================================================================
--- Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/buildout.cfg_tmpl 2007-07-11 19:13:14 UTC (rev 77695)
+++ Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/buildout.cfg_tmpl 2007-07-11 20:18:34 UTC (rev 77696)
@@ -5,7 +5,6 @@
[app]
recipe = zc.recipe.egg
eggs = {{egg}}
+ Paste
PasteScript
PasteDeploy
- zope.paste
- WSGIUtils
Deleted: Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/deploy.ini
===================================================================
--- Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/deploy.ini 2007-07-11 19:13:14 UTC (rev 77695)
+++ Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/deploy.ini 2007-07-11 20:18:34 UTC (rev 77696)
@@ -1,9 +0,0 @@
-[app:main]
-use = egg:zope.paste
-site_definition = site.zcml
-file_storage = var/Data.fs
-
-[server:main]
-use = egg:PasteScript#wsgiutils
-host = 127.0.0.1
-port = 8080
Copied: Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/deploy.ini_tmpl (from rev 77678, Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/deploy.ini)
===================================================================
--- Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/deploy.ini_tmpl (rev 0)
+++ Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/deploy.ini_tmpl 2007-07-11 20:18:34 UTC (rev 77696)
@@ -0,0 +1,7 @@
+[app:main]
+use = egg:{{egg}}
+
+[server:main]
+use = egg:Paste#http
+host = 127.0.0.1
+port = 8080
Added: Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/log/README.txt
===================================================================
--- Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/log/README.txt (rev 0)
+++ Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/log/README.txt 2007-07-11 20:18:34 UTC (rev 77696)
@@ -0,0 +1 @@
+This directory contains logs such as the event log.
Property changes on: Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/log/README.txt
___________________________________________________________________
Name: svn:eol-style
+ native
Added: Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/zope.conf
===================================================================
--- Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/zope.conf (rev 0)
+++ Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/deploy_zope_app/zope.conf 2007-07-11 20:18:34 UTC (rev 77696)
@@ -0,0 +1,46 @@
+# Identify the component configuration used to define the site:
+#
+site-definition site.zcml
+
+# Standard Filestorage
+<zodb>
+ <filestorage>
+ path var/Data.fs
+ </filestorage>
+
+# uncomment this if you want to connect to a local ZEO server
+# instead:
+# <zeoclient>
+# server localhost:8100
+# storage 1
+# # ZEO client cache, in bytes
+# cache-size 20MB
+# # Uncomment to have a persistent disk cache
+# #client zeo1
+# </zeoclient>
+</zodb>
+
+<eventlog>
+ # This sets up logging to both a file and to standard output
+ # (STDOUT). The "path" setting can be a relative or absolute
+ # filesystem path or the tokens STDOUT or STDERR.
+
+ <logfile>
+ path log/z3.log
+ formatter zope.exceptions.log.Formatter
+ </logfile>
+
+ <logfile>
+ path STDOUT
+ formatter zope.exceptions.log.Formatter
+ </logfile>
+</eventlog>
+
+# devmode
+#
+# Switches the Developer Mode on and off.
+#
+# Default:
+# devmode on
+#
+#devmode on
Added: Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/make_zope_app/+package+/application.py
===================================================================
--- Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/make_zope_app/+package+/application.py (rev 0)
+++ Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/make_zope_app/+package+/application.py 2007-07-11 20:18:34 UTC (rev 77696)
@@ -0,0 +1,32 @@
+import sys, os
+import ZConfig
+import zope.event
+import zope.app.appsetup
+from zope.app.wsgi import WSGIPublisherApplication
+from zope.app.appsetup.appsetup import multi_database
+from zope.app.appsetup.interfaces import DatabaseOpened, ProcessStarting
+
+def application_factory(global_conf, conf='zope.conf'):
+ # load 'zope.conf' configuration
+ schema_xml = os.path.join(
+ os.path.dirname(zope.app.appsetup.__file__), 'schema', 'schema.xml')
+ schema = ZConfig.loadSchema(schema_xml)
+ options, handlers = ZConfig.loadConfig(
+ schema, os.path.join(global_conf['here'], conf))
+
+ if options.path:
+ sys.path[0:0] = [os.path.abspath(p) for p in options.path]
+ options.eventlog()
+
+ # load ZCML configuration
+ features = ()
+ if options.devmode:
+ features += ('devmode',)
+ zope.app.appsetup.config(options.site_definition, features)
+
+ # notify of ZODB database opening
+ db = multi_database(options.databases)[0][0]
+ zope.event.notify(DatabaseOpened(db))
+
+ zope.event.notify(ProcessStarting())
+ return WSGIPublisherApplication(db)
Property changes on: Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/make_zope_app/+package+/application.py
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/make_zope_app/setup.py_tmpl
===================================================================
--- Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/make_zope_app/setup.py_tmpl 2007-07-11 19:13:14 UTC (rev 77695)
+++ Sandbox/philikon/mkzopeapp/trunk/mkzopeapp/make_zope_app/setup.py_tmpl 2007-07-11 20:18:34 UTC (rev 77696)
@@ -19,12 +19,26 @@
zip_safe=False,
install_requires=['setuptools',
'ZODB3',
- 'zope.interface',
- 'zope.schema',
- 'zope.component',
+ 'ZConfig',
+ 'zope.annotation',
+ 'zope.copypastemove',
+ 'zope.event',
+ 'zope.formlib',
+ 'zope.i18n',
+ 'zope.publisher',
+ 'zope.size',
+ 'zope.traversing',
+ 'zope.app.wsgi',
+ 'zope.app.appsetup',
'zope.app.authentication',
+ 'zope.app.traversing',
'zope.app.security',
'zope.app.securitypolicy',
+ 'zope.app.session',
'zope.app.zcmlfiles',
],
+ entry_points = """
+ [paste.app_factory]
+ main = {{package}}.application:application_factory
+ """
)
More information about the Checkins
mailing list