Ticket #7825 (closed Feature Request: worksforme)

Opened 4 years ago

Last modified 3 years ago

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:1 Changed 4 years ago by ruda_porto

  • Cc ruda_porto added

comment:2 Changed 4 years ago by reinout

  • Cc reinout added

I'm interested in this. (reinout@…)

comment:3 Changed 4 years ago by svincic

  • Cc svincic added

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:7 Changed 4 years ago by garbas

  • Cc garbas added

comment:8 Changed 4 years ago by tomster

  • Cc tomster added

comment:9 Changed 4 years ago by interra

  • Cc interra added

comment:10 Changed 4 years ago by chrism

  • Description modified (diff)

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:12 Changed 4 years ago by chrism

  • Cc chrism added

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?

Note: See TracTickets for help on using tickets.