Ticket #7825 (closed Feature Request: worksforme)
Create a buildout for Repoze + Plone
| Reported by: | limi | Owned by: | chrism |
|---|---|---|---|
| Priority: | major | Milestone: | Ongoing |
| Component: | Infrastructure | Keywords: | focusarea |
| Cc: | ruda_porto, reinout, svincic, rocky, nateaune, garbas, tomster, interra, chrism |
Description (last modified by chrism) (diff)
See http://svn.repoze.org/buildouts/repoze.plone/trunk/ for the first cut at this.
TODO: get rid of repoze.recipe.egg in favor of changing zc.recipe.egg to install dependent scripts; figure out a nicer way to run the mkinstance stuff at the end of the buildout.
Change History
comment:4 Changed 4 years ago by rocky
- Cc rocky added
So ... my thoughts on this...
I really don't think a "buildout" alone is useful enough other then for demo purposes. What we really need here is a recipe. I'd like to call this a "wsgi" recipe, not at "repoze" recipe. The wsgi recipe should be capable of hooking in an existing plone part into a repoze.plone configuration (so here, the end goal is to configure wsgi, with repoze being just an implementation detail for zope/plone integration).
Ideally, this wsgi recipe would be able to configure an entire wsgi server based on pylons or cherrypy or something. It should be possible to define the wsgi pipeline using parameters to the recipe in the part definition that uses the recipe. Something like this...
[wsgi] recipe = repoze.recipe.wsgi config = paster.ini
And paster.ini would be the standard paster style configuration, an example would be:
[pipeline:main]
pipeline = egg:Paste#cgitb
static
base
[composite:base]
use = egg:Paste#urlmap
/ = controller
/.static = static
[app:static]
use = egg:Paste#static
document_root = %(workingdir)s/deliverance
[app:controller]
use = egg:someapp#app
[filter:static]
paste.filter_app_factory = deliverance.wsgimiddleware:make_filter
theme_uri = /.static/static/theme.html
rule_uri = /.static/rules/rules.xml
We might want to even define some dialect of this to be defined straight into the buildout part definition, I'm not sure about that one (and it's not really that big of a deal).
What the final buildout should do as part of this task, is demo how to use this recipe to setup a base plone site with deliverance in front. This would be for a working example only.
Thoughts?
comment:5 Changed 4 years ago by rocky
I forgot to add that my comment about "hooking in an existing plone part" was really meant so that repoze.plone didn't actually have to distirbute it's own version of Plone. That way we can use whatever version of plone we want and just use repoze as the wsgi integration.
comment:6 Changed 4 years ago by nateaune
- Cc nateaune added
I just wanted to mention that Carlos de la Guardia has put together a nice together for how to install Plone 3 behind Apache and mod_wsgi using Repoze. http://plone.org/documentation/tutorial/install-plone-3-behind-apache-and-mod_wsgi-using-repoze
Now if we can get this all automated with a buildout, that would be great!
comment:11 Changed 4 years ago by chrism
D'oh, I changed the description rather than adding this as a comment, but for good measure...
See http://svn.repoze.org/buildouts/repoze.plone/trunk/ for the first cut at this.
TODO: get rid of repoze.recipe.egg in favor of changing zc.recipe.egg to install dependent scripts; figure out a nicer way to run the mkinstance stuff at the end of the buildout.
comment:13 Changed 4 years ago by chrism
- Status changed from new to closed
- Resolution set to worksforme
Buildouts for Plone 2.5.5, Plone 3.0.6, and Plone 3.1.1 exist here: http://svn.repoze.org/buildouts/repoze.plone/branches/ . These are completely egg-based installs, with some bits rolled into eggs as necessary by me and Carlos. IMO, it would be pointless to roll an install of Plone that used Repoze but wasn't entirely egg-based, as per some of the above comments. Instead, IMO, the next Plone 3 release should be 100% eggs and all the custom buildout recipes that it uses now to get Zope and its products installed should be retired. There has been pushback on this indicating eggs are "too risky", but I call bullshit on that because it just works. ;-) I am closing this issue.
comment:14 Changed 3 years ago by miohtama
Any updates for this for Plone 3.2?
