Discussion:
Google Summer of Code
Matthew Wilkes
2010-03-24 23:44:50 UTC
Permalink
Hello everyone,

As some of you will have heard, during the Cathedral/Tahoe sprints
last week Plone was accepted as a mentoring organisation for Google
Summer of Code 2010. This means that for the fifth year we will be
able to accept student proposals for projects. We don't know how many
students we will have yet, that depends on the applications we receive.

There are a few rôles involved in this programme, so if you aren't a
student please scroll down.

Students
========

Are you interested in a coding project using Plone for the summer? If
you are accepted you will receive a $5000 (USD) stipend for your
work. In addition, you will be provided a mentor who will help you
through the process and the support of other members of the Plone
community to help you write the best code you can.

We will expect you to put in the same amount of work as a full-time
job but we are flexible. You can work when you like and if you need
some time off for whatever reason that won't be a problem.

In order to apply you'll need to have an idea for a project. We have
a list of suggestions at http://socghop.appspot.com/document/show/gsoc_org/google/gsoc2010/plone/ideas
but feel free to ask on the plone-developers mailing list for more
information. We very much welcome ideas not on that list, but please
submit them early so we can give you feedback to improve your chances
of being accepted.

In order to submit a proposal you'll need to create an account at http://socghop.appspot.com
- You'll be able to edit it as much as you like once it's submitted,
so it's best to submit early and let us help you out with feedback
rather than waiting until the last minute.


Mentors
=======

If you are active in the Plone community and would like to help a
student get more integrated and learn about Open Source Software,
please apply to be a mentor. The web application is at http://socghop.appspot.com
- you need to make a mentoring application to the Plone Foundation.
Once it's accepted you'll be able to fill in a profile.

You will be expected to be available to your student on a regular
basis, but wether that's ad-hoc or set 'office hours' is your choice.
You should have a good knowledge of the Plone codebase and have been
to some Plone community events before. The most important part of
this is making the student feel at home in the community and ensuring
they talk to the right people to get advice and help with their project.

In return, you'll get a shiny t-shirt from Google and the eternal
thanks of the community. It's very much a learning experience for
mentors as well as students, so this will be useful for helping you
train new hires and get them involved in the open source community.

========

If you have any questions please feel free to email plone-developers
or me directly. I'd be happy to help out. If you prefer to have a
chat in real-time, I'm MatthewWilkes on IRC and can be found in #plone
or #plone-soc.

Matthew
Martin Aspeli
2010-03-25 02:14:44 UTC
Permalink
Post by Matthew Wilkes
Mentors
=======
I'm happy to mentor any appropriate Dexterity or Deco related projects,
provided the student is diligent and dedicated. :-)

Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
David Bain
2010-03-26 02:52:46 UTC
Permalink
*Raises Hand*
I will be enrolled as a student in a masters programme and am interested in
one of the following projects for GSoC.

a) Spliish – It aims at developing a simplified solution for the setup and
management of a zope server which hosts multiple Plone instances. GSoC would
provide the sponsorship I'd need to give this project enough attention. I
just don't know if this is something the Plone community is as interested
in.

b) A code generator for dexterity, this is based on the current GSOC Plone
ideas
I like the paster approach and the most promising project seems to be
collective.dexteritypaste. I'd want to extend this project further.


On Wed, Mar 24, 2010 at 9:14 PM, Martin Aspeli
Post by Matthew Wilkes
Mentors
Post by Matthew Wilkes
=======
I'm happy to mentor any appropriate Dexterity or Deco related projects,
provided the student is diligent and dedicated. :-)
Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
_______________________________________________
Product-Developers mailing list
http://lists.plone.org/mailman/listinfo/product-developers
Martin Aspeli
2010-03-26 04:36:04 UTC
Permalink
Post by David Bain
*Raises Hand*
I will be enrolled as a student in a masters programme and am interested
in one of the following projects for GSoC.
a) Spliish – It aims at developing a simplified solution for the setup
and management of a zope server which hosts multiple Plone
instances. GSoC would provide the sponsorship I'd need to give this
project enough attention. I just don't know if this is something the
Plone community is as interested in.
I'd be more interested in something which made Plone easier to set up on
things like Amazon EC2. That's slightly different, I know.

In the past, infrastructure components like this coming out of GSoC have
usually failed to gain enough momentum and have enough maintenance,
documentation and other "soft" support to take off, which means they die
when the programme ends. At least you'd need to address that in any
application.
Post by David Bain
b) A code generator for dexterity, this is based on the current GSOC
Plone ideas
I like the paster approach and the most promising project seems to be
collective.dexteritypaste. I'd want to extend this project further.
No code generation! :-)

I think skeleton stuff like collective.dexteritypaste is a good idea,
but I suspect that what's there now is almost everyone that's needed.
You need a skeleton generator to get started, but developing with code
generation is a bad idea, that's more neat to the person writing the
code generator than it's useful to other people. I've never seen it work
well enough not to cause more confusion than it removes.

OTOH, Dexterity has an XML based syntax for schema and type definition,
which is what the TTW editor uses. You can use this to build tools that
allow you to build types using a GUI. The GUI can then read and write a
machine-readable XML syntax instead of trying to produce valid Python
code (or worse, trying to interpret it).

Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
Alex Clark
2010-03-27 00:44:13 UTC
Permalink
Post by Martin Aspeli
Post by David Bain
*Raises Hand*
I will be enrolled as a student in a masters programme and am interested
in one of the following projects for GSoC.
a) Spliish – It aims at developing a simplified solution for the setup
and management of a zope server which hosts multiple Plone
instances. GSoC would provide the sponsorship I'd need to give this
project enough attention. I just don't know if this is something the
Plone community is as interested in.
I'd be more interested in something which made Plone easier to set up on
things like Amazon EC2. That's slightly different, I know.
I wonder if something like adding Amazon EC2 support to Silver Lining could
be done under Plone's GSoC… http://cloudsilverlining.org/.
Post by Martin Aspeli
In the past, infrastructure components like this coming out of GSoC have
usually failed to gain enough momentum and have enough maintenance,
documentation and other "soft" support to take off, which means they die
when the programme ends. At least you'd need to address that in any
application.
+1. Looking at Spliish, I'm already confused. It's built on top of the über buildout,
provides installsite.py to create a new Plone site, and an ensite script to configure
nginx? This is a little too "house of cards"-ey IMHO, not to say I don't appreciate
the effort. I am also not convinced there is significant demand for this given
multiple Plone sites in one Zope 2 instance is generally discouraged (although
certainly many people do it and manage just fine).
Post by Martin Aspeli
Post by David Bain
b) A code generator for dexterity, this is based on the current GSOC
Plone ideas
I like the paster approach and the most promising project seems to be
collective.dexteritypaste. I'd want to extend this project further.
No code generation! :-)
I think skeleton stuff like collective.dexteritypaste is a good idea,
but I suspect that what's there now is almost everyone that's needed.
You need a skeleton generator to get started, but developing with code
generation is a bad idea, that's more neat to the person writing the
code generator than it's useful to other people. I've never seen it work
well enough not to cause more confusion than it removes.
OTOH, Dexterity has an XML based syntax for schema and type definition,
which is what the TTW editor uses. You can use this to build tools that
allow you to build types using a GUI. The GUI can then read and write a
machine-readable XML syntax instead of trying to produce valid Python
code (or worse, trying to interpret it).
Martin
--
Alex Clark · http://aclark.net
Author of Plone Site Administration · http://aclark.net/psa
Martin Aspeli
2010-03-27 03:49:57 UTC
Permalink
Post by Alex Clark
I am also not convinced there is significant demand for this given
multiple Plone sites in one Zope 2 instance is generally discouraged (although
certainly many people do it and manage just fine).
I wouldn't say it's discouraged. It's a perfectly acceptable and useful
thing to do. There are limits to what you can do this way, i.e. if all
your sites are totally different, and require different versions of
add-on products or Plone itself, you're obviously going to have to split
them. But if a single project is best modelled using multiple similar
Plone sites, one Zope instance with multiple sites is a good approach.

Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
John Schinnerer
2010-03-27 08:53:51 UTC
Permalink
Aloha,

Glad to hear it's not discouraged - or is it? This is the first hint
I've heard that some think it is. Never tripped over anything in the
install, setup or config docs/info about this either way.

For those of us with multiple small (=> small budget) clients it's a
necessity.

cheers,
John S.
Post by Martin Aspeli
Post by Alex Clark
I am also not convinced there is significant demand for this given
multiple Plone sites in one Zope 2 instance is generally discouraged (although
certainly many people do it and manage just fine).
I wouldn't say it's discouraged. It's a perfectly acceptable and useful
thing to do. There are limits to what you can do this way, i.e. if all
your sites are totally different, and require different versions of
add-on products or Plone itself, you're obviously going to have to split
them. But if a single project is best modelled using multiple similar
Plone sites, one Zope instance with multiple sites is a good approach.
Martin
--
John Schinnerer - M.A., Whole Systems Design
--------------------------------------------
- Eco-Living -
Whole Systems Design Services
People - Place - Learning - Integration
john-/Gao9/***@public.gmane.org
http://eco-living.net
Alex Clark
2010-03-29 00:31:00 UTC
Permalink
Post by John Schinnerer
Aloha,
Glad to hear it's not discouraged - or is it? This is the first hint
I've heard that some think it is. Never tripped over anything in the
install, setup or config docs/info about this either way.
For those of us with multiple small (=> small budget) clients it's a
necessity.
I'd call it a gray area. Martin is correct: when it works it makes sense, but it's
not guaranteed to work. It's kind of like importing .zexp files. Noone is saying
don't do it if/when it works for you, just don't expect it to work.
Post by John Schinnerer
cheers,
John S.
Post by Martin Aspeli
Post by Alex Clark
I am also not convinced there is significant demand for this given
multiple Plone sites in one Zope 2 instance is generally discouraged (although
certainly many people do it and manage just fine).
I wouldn't say it's discouraged. It's a perfectly acceptable and useful
thing to do. There are limits to what you can do this way, i.e. if all
your sites are totally different, and require different versions of
add-on products or Plone itself, you're obviously going to have to split
them. But if a single project is best modelled using multiple similar
Plone sites, one Zope instance with multiple sites is a good approach.
Martin
--
Alex Clark · http://aclark.net
Author of Plone 3.3 Site Administration · http://aclark.net/p33sa
David Bain
2010-03-29 00:57:20 UTC
Permalink
I proposed this because I actually have real world deployments that benefit
from this approach apparently at least (John Schinnerer) also has this use
case. My new Plan A for GSoC is "adapterizing" Vice outbound syndication for
Plone.

I admit that the current Spliish implementation pretty flaky, but I'd love
to improve on it. My dream is a control panel that manages multiple plone
sites per zope instance. I'm keeping that as a plan B GSoC project, but even
if it isn't accepted I'll continue to work on it since it scratches my own
itch.
Post by Alex Clark
Post by John Schinnerer
Aloha,
Glad to hear it's not discouraged - or is it? This is the first hint
I've heard that some think it is. Never tripped over anything in the
install, setup or config docs/info about this either way.
For those of us with multiple small (=> small budget) clients it's a
necessity.
I'd call it a gray area. Martin is correct: when it works it makes sense, but it's
not guaranteed to work. It's kind of like importing .zexp files. Noone is saying
don't do it if/when it works for you, just don't expect it to work.
Post by John Schinnerer
cheers,
John S.
Post by Martin Aspeli
Post by Alex Clark
I am also not convinced there is significant demand for this given
multiple Plone sites in one Zope 2 instance is generally discouraged
(although
Post by John Schinnerer
Post by Martin Aspeli
Post by Alex Clark
certainly many people do it and manage just fine).
I wouldn't say it's discouraged. It's a perfectly acceptable and useful
thing to do. There are limits to what you can do this way, i.e. if all
your sites are totally different, and require different versions of
add-on products or Plone itself, you're obviously going to have to split
them. But if a single project is best modelled using multiple similar
Plone sites, one Zope instance with multiple sites is a good approach.
Martin
--
Alex Clark · http://aclark.net
Author of Plone 3.3 Site Administration · http://aclark.net/p33sa
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Plone-Users mailing list
https://lists.sourceforge.net/lists/listinfo/plone-users
Derek Broughton
2010-03-29 17:38:33 UTC
Permalink
Post by Alex Clark
Post by John Schinnerer
Aloha,
Glad to hear it's not discouraged - or is it? This is the first hint
I've heard that some think it is. Never tripped over anything in the
install, setup or config docs/info about this either way.
For those of us with multiple small (=> small budget) clients it's a
necessity.
I'd call it a gray area. Martin is correct: when it works it makes sense,
but it's not guaranteed to work. It's kind of like importing .zexp files.
Noone is saying don't do it if/when it works for you, just don't expect it
to work.
That still sounds daunting. Why should we not expect it to work? afaict it
_should_ be guaranteed to work - insofar as we get any guarantee at all with
Plone.

You are in fact trying to discourage it, and when you come out with
statements like that, and Martin contradicts you, the rest of us get very
confused.
--
derek
Alex Clark
2010-03-29 23:32:12 UTC
Permalink
Post by Derek Broughton
That still sounds daunting.
It shouldn't. In general if something works for you, keep doing it!
Post by Derek Broughton
Why should we not expect it to work?
I think Jon Stahl just described some scenario where there was "theme bleed" between
Plone instances… that is the kind of thing I am talking about. How about this: it's
a trade off. If you are willing to deal with various and sundry problems having to
do with running multiple Plone sites within a single Zope 2 instance, then you can
benefit by running more Plone sites and using fewer system resources. Or you can
avoid such scenarios by running one Plone site per Zope 2 instance and using more
system resources. The value is relative to the person making the choice.
Post by Derek Broughton
afaict it
_should_ be guaranteed to work - insofar as we get any guarantee at all with
Plone.
My only point was that given the choice between the two, I'd pick one Plone site
per Zope 2 instance for the reasons I mentioned (I'm lazy, and I don't want to do
the work associated with running multiple Plone sites in a single Zope 2 instance).
But that is just my personal preference. This a classic problem with Plone: too many
choices.
Post by Derek Broughton
You are in fact trying to discourage it, and when you come out with
statements like that, and Martin contradicts you, the rest of us get very
confused.
Sorry about that! Martin is always right :-)
--
Alex Clark · http://aclark.net
Author of Plone 3.3 Site Administration · http://aclark.net/psa
Jon Stahl
2010-03-29 23:42:17 UTC
Permalink
Post by Alex Clark
Post by Derek Broughton
That still sounds daunting.
It shouldn't. In general if something works for you, keep doing it!
Post by Derek Broughton
Why should we not expect it to work?
I think Jon Stahl just described some scenario where there was "theme bleed" between
Plone instances… that is the kind of thing I am talking about. How about this: it's
a trade off. If you are willing to deal with various and sundry problems having to
do with running multiple Plone sites within a single Zope 2 instance, then you can
benefit by running more Plone sites and using fewer system resources. Or you can
avoid such scenarios by running one Plone site per Zope 2 instance and using more
system resources. The value is relative to the person making the choice.
Just to be clear, we've only seen this very occasionally, and it's
been easy to avoid/resolve. (e.g, some early versions of the p4a
suite products applied "subtyping" over aggressively.) I don't want
to scare anybody off this path, because it's totally viable if you
have lots of small, low-volume sites.

One tip, though, is to make sure you mount each site in its own Zope
mountpoint with its own data.fs file -- that allows you to keep
separate backups for each site, and to easily restore backups for one
site at a time and/or move a site to another server.

:jon
David Bain
2010-03-30 00:55:53 UTC
Permalink
Here's a use case:
You're serving a specific vertical, e.g. Dentists in Florida
Each site has an about us section a few custom forms and a customer database
and way to manage appointments.
Each site is a plone instance on a single shared Zope instance. ZEO sharding
is used to keep the ZODB small and a few Zope Clients are load balanced
behind something like Haproxy.

The key characteristics are:

- small low volume sites
- similar content types


Add a simple control panel to the mix and the next Dentist that you do work
for is a few clicks away from their new site, even better expose all of this
via xmlrpc and you can build a nice desktop client to manage the whole
thing.

I'm sure there are lots of other possiblities around this.
Post by Alex Clark
Post by Alex Clark
Post by Derek Broughton
That still sounds daunting.
It shouldn't. In general if something works for you, keep doing it!
Post by Derek Broughton
Why should we not expect it to work?
I think Jon Stahl just described some scenario where there was "theme
bleed" between
Post by Alex Clark
Plone instances… that is the kind of thing I am talking about. How about
this: it's
Post by Alex Clark
a trade off. If you are willing to deal with various and sundry problems
having to
Post by Alex Clark
do with running multiple Plone sites within a single Zope 2 instance,
then you can
Post by Alex Clark
benefit by running more Plone sites and using fewer system resources. Or
you can
Post by Alex Clark
avoid such scenarios by running one Plone site per Zope 2 instance and
using more
Post by Alex Clark
system resources. The value is relative to the person making the choice.
Just to be clear, we've only seen this very occasionally, and it's
been easy to avoid/resolve. (e.g, some early versions of the p4a
suite products applied "subtyping" over aggressively.) I don't want
to scare anybody off this path, because it's totally viable if you
have lots of small, low-volume sites.
One tip, though, is to make sure you mount each site in its own Zope
mountpoint with its own data.fs file -- that allows you to keep
separate backups for each site, and to easily restore backups for one
site at a time and/or move a site to another server.
:jon
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Plone-Users mailing list
https://lists.sourceforge.net/lists/listinfo/plone-users
Derek Broughton
2010-03-30 13:12:49 UTC
Permalink
Post by Alex Clark
My only point was that given the choice between the two, I'd pick one
Plone site per Zope 2 instance for the reasons I mentioned (I'm lazy, and
I don't want to do
the work associated with running multiple Plone sites in a single Zope 2
instance). But that is just my personal preference.
Actually my preference, too, for pretty much the same reason.
Post by Alex Clark
This a classic problem with Plone: too many choices.
Don't you just hate that? [well, not quite so much as I hate writing my own
product, only to discover later that somebody else's product, with minimal
(or no) tweaks, will do what I wanted...]
Post by Alex Clark
Post by Derek Broughton
You are in fact trying to discourage it, and when you come out with
statements like that, and Martin contradicts you, the rest of us get very
confused.
Sorry about that! Martin is always right :-)
Oh, well, then - that's what I thought :-) But if I hadn't thought you were
_usually_ right, I wouldn't be confused!
--
derek
Martin Aspeli
2010-03-30 01:06:43 UTC
Permalink
Post by Derek Broughton
Post by Alex Clark
Post by John Schinnerer
Aloha,
Glad to hear it's not discouraged - or is it? This is the first hint
I've heard that some think it is. Never tripped over anything in the
install, setup or config docs/info about this either way.
For those of us with multiple small (=> small budget) clients it's a
necessity.
I'd call it a gray area. Martin is correct: when it works it makes sense,
but it's not guaranteed to work. It's kind of like importing .zexp files.
Noone is saying don't do it if/when it works for you, just don't expect it
to work.
That still sounds daunting. Why should we not expect it to work? afaict it
_should_ be guaranteed to work - insofar as we get any guarantee at all with
Plone.
You are in fact trying to discourage it, and when you come out with
statements like that, and Martin contradicts you, the rest of us get very
confused.
I don't think Alex's statement represents any kind of community
consensus, and it was probably a little lacking in context, and so easy
to misread. Lots of people use multiple Plone sites in one Zope
instance, and for many scenarios it's a good model.

There are some things you can't do with multiple sites in one instance,
e.g. run different versions of Plone or some add-on product. There may
also be add-on products that don't behave well with this setup, but
that'd be a defect in those products. Similarly, if Plone for whatever
reason stops working in this way, that'd be considered a bug.

Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
David Hostetler
2010-03-30 01:47:08 UTC
Permalink
Been happily running multiple plone sites per zope since 2006.
Ironically, I always thought doing it *this* way was the lazy way.
But that's probably because in the pre-buildout-era, managing multiple
zopes seemed like more work, not less.

cheers,

-David
Post by Martin Aspeli
Post by Alex Clark
Post by John Schinnerer
Aloha,
Glad to hear it's not discouraged - or is it? This is the first hint
I've heard that some think it is. Never tripped over anything in the
install, setup or config docs/info about this either way.
For those of us with multiple small (=>  small budget) clients it's a
necessity.
I'd call it a gray area. Martin is correct: when it works it makes sense,
but it's not guaranteed to work. It's kind of like importing .zexp files.
Noone is saying don't do it if/when it works for you, just don't expect it
to work.
That still sounds daunting.  Why should we not expect it to work?  afaict it
_should_ be guaranteed to work - insofar as we get any guarantee at all with
Plone.
You are in fact trying to discourage it, and when you come out with
statements like that, and Martin contradicts you, the rest of us get very
confused.
I don't think Alex's statement represents any kind of community
consensus, and it was probably a little lacking in context, and so easy
to misread. Lots of people use multiple Plone sites in one Zope
instance, and for many scenarios it's a good model.
There are some things you can't do with multiple sites in one instance,
e.g. run different versions of Plone or some add-on product. There may
also be add-on products that don't behave well with this setup, but
that'd be a defect in those products. Similarly, if Plone for whatever
reason stops working in this way, that'd be considered a bug.
Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Plone-Users mailing list
https://lists.sourceforge.net/lists/listinfo/plone-users
Derek Broughton
2010-03-30 13:14:52 UTC
Permalink
Post by David Hostetler
Been happily running multiple plone sites per zope since 2006.
Ironically, I always thought doing it *this* way was the lazy way.
But that's probably because in the pre-buildout-era, managing multiple
zopes seemed like more work, not less.
Exactly. My first site is still multiple-plones-in-one-zope. It's never
been quite worth separating them (thought it is slowly being whittled down).
Later sites are one-plone-per-zope, and that coincides with the use of
buildout.
--
derek
John Schinnerer
2010-03-31 00:35:52 UTC
Permalink
Aloha,

Thanks for the clarifications. These (Martin's clarifications) were my
assumptions also. The most basic being that there is nothing "unsupported"
about multiple plone sites in one zope instance and that if that is
somehow broken (add-in products aside) it is a bug, not a "gotcha"
consequence of doing something "unsupported."

In the newbie docs and other info for Plone back when I started using it I
never encountered anything about this topic either way.
I was already using multiple zope sites on one zope instance so multiple
plone sites seemed normal.

And, never did I encounter the simple advice to give each such site its
own mount point and data.fs. That would have been very helpful. As I am
about to upgrade a bunch of sites, I will be doing that as I go now that I
know about it. And, it would have been easier to do it from the start, for
sure.

So I'd like to see that in the newbie administrator docs for plone. At
least a few lines about the concepts, with links to the detail how-tos and
tutorials. If someone can tell me the appropriate place for it, I'll do
the writing.

cheers,
John S.
Post by Martin Aspeli
Post by Derek Broughton
Post by Alex Clark
Post by John Schinnerer
Aloha,
Glad to hear it's not discouraged - or is it? This is the first hint
I've heard that some think it is. Never tripped over anything in the
install, setup or config docs/info about this either way.
For those of us with multiple small (=> small budget) clients it's a
necessity.
I'd call it a gray area. Martin is correct: when it works it makes sense,
but it's not guaranteed to work. It's kind of like importing .zexp files.
Noone is saying don't do it if/when it works for you, just don't expect it
to work.
That still sounds daunting. Why should we not expect it to work?
afaict it
_should_ be guaranteed to work - insofar as we get any guarantee at all with
Plone.
You are in fact trying to discourage it, and when you come out with
statements like that, and Martin contradicts you, the rest of us get very
confused.
I don't think Alex's statement represents any kind of community
consensus, and it was probably a little lacking in context, and so easy
to misread. Lots of people use multiple Plone sites in one Zope
instance, and for many scenarios it's a good model.
There are some things you can't do with multiple sites in one instance,
e.g. run different versions of Plone or some add-on product. There may
also be add-on products that don't behave well with this setup, but
that'd be a defect in those products. Similarly, if Plone for whatever
reason stops working in this way, that'd be considered a bug.
Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Plone-Users mailing list
https://lists.sourceforge.net/lists/listinfo/plone-users
John Schinnerer - M.A., Whole Systems Design
--------------------------------------------
- Eco-Living -
Whole Systems Design Services
People - Place - Learning - Integration
john-/Gao9/***@public.gmane.org
http://eco-living.net
Ricardo Newbery
2010-03-31 03:24:48 UTC
Permalink
Post by John Schinnerer
Aloha,
Thanks for the clarifications. These (Martin's clarifications) were my
assumptions also. The most basic being that there is nothing
"unsupported"
about multiple plone sites in one zope instance and that if that is
somehow broken (add-in products aside) it is a bug, not a "gotcha"
consequence of doing something "unsupported."
In the newbie docs and other info for Plone back when I started using it I
never encountered anything about this topic either way.
I was already using multiple zope sites on one zope instance so multiple
plone sites seemed normal.
And, never did I encounter the simple advice to give each such site its
own mount point and data.fs. That would have been very helpful. As I am
about to upgrade a bunch of sites, I will be doing that as I go now that I
know about it. And, it would have been easier to do it from the start, for
sure.
So I'd like to see that in the newbie administrator docs for plone. At
least a few lines about the concepts, with links to the detail how-
tos and
tutorials. If someone can tell me the appropriate place for it, I'll do
the writing.
cheers,
John S.
What do you mean by the "newbie administrator docs"? In any case,
other than maybe some instructions on the syntax for adding
mountpoints in the zope.conf, it seems like this would be something
like a four line how-to...

1) First make a backup!

2) Clone the database (as many clones as Plone sites you want to
clone) and add each clone as mountpoints in your zope.conf.

3) Restart the instance, add the mountpoints in the ZMI and delete all
the sites you don't want in each mountpoint.

4) And finally, delete all the old Plone instances that you've just
cloned and adjust your proxy rewrites/proxypass directives to match
the new paths.

I'm guessing the only real stumbling block for most people is the
mountpoint syntax stuff. Feel free to add more verbiage and
screenshots and whatnot but I suggest keeping the instructions as
concise as possible.

Cheers,
Ric
Derek Broughton
2010-03-31 12:52:57 UTC
Permalink
Post by Ricardo Newbery
What do you mean by the "newbie administrator docs"? In any case,
other than maybe some instructions on the syntax for adding
mountpoints in the zope.conf, it seems like this would be something
like a four line how-to...
1) First make a backup!
2) Clone the database (as many clones as Plone sites you want to
clone) and add each clone as mountpoints in your zope.conf.
3) Restart the instance, add the mountpoints in the ZMI and delete all
the sites you don't want in each mountpoint.
4) And finally, delete all the old Plone instances that you've just
cloned and adjust your proxy rewrites/proxypass directives to match
the new paths.
I'm guessing the only real stumbling block for most people is the
mountpoint syntax stuff. Feel free to add more verbiage and
screenshots and whatnot but I suggest keeping the instructions as
concise as possible.
I think you've summed it up completely - especially the last point. I've
been managing Plone sites for four years now, and realizing that I _could_
remount an existing Data.fs under another Zope instance was a "Doh!" moment
that only clicked for me the last time we discussed this. That syntax needs
to be front and centre.
--
derek
Jon Stahl
2010-03-29 03:39:21 UTC
Permalink
Post by John Schinnerer
Aloha,
Glad to hear it's not discouraged - or is it? This is the first hint
I've heard that some think it is. Never tripped over anything in the
install, setup or config docs/info about this either way.
For those of us with multiple small (=> small budget) clients it's a
necessity.
Yep, we here at Groundwire are very heavily reliant on many (typically
10-15) small sites per instance. Generally, it works great for us,
and since we are quite involved with the core dev work on Plone 4 and
5, I suspect we'll continue to work to make sure that it doesn't break
in the foreseeable future.

The only problems we've ever seen is with a few sloppily-coded add-on
products that make some odd assumptions and "leak" UI changes across
all sites in an instance, but these are generally pretty easy to
avoid/fix.

:jon
Nate Aune
2010-04-02 02:24:33 UTC
Permalink
Post by Alex Clark
Post by Martin Aspeli
Post by David Bain
a) Spliish – It aims at developing a simplified solution for the setup
and management of a zope server which hosts multiple Plone
instances. GSoC would provide the sponsorship I'd need to give this
project enough attention. I just don't know if this is something the
Plone community is as interested in.
I'd be more interested in something which made Plone easier to set up on
things like Amazon EC2. That's slightly different, I know.
I wonder if something like adding Amazon EC2 support to Silver Lining could
be done under Plone's GSoC… http://cloudsilverlining.org/.
An Icelandic guy named Jökull already made a branch of silverlining to
add EC2 support:
https://bitbucket.org/jokull/silverlining/

Be sure to about his Kraftwerk (one Python answer to Heroku for
Ruby):
http://www.solberg.is/kraftwerk.html

and his thoughts on the state of Python WSGI deployment:
http://www.solberg.is/wsgi-deployment.html

I made some progress at the PyCon sprint in the days after the sprint,
deploying Zope to Rackspace Cloud using Ian Bicking's Silver Lining
(formerly TOPPCloud). I've jotted down the steps necessary to set all
this up, and would be happen to share it with anyone who wants to give
it a shot. I plan to write a blog post about it, but now that Ian
renamed the project, all of my instructions are out of date and need
to be updated! ;)

There is going to be a sprint after the Plone Symposium East at which
we will continue this work. The main deterrent to getting this done
has been getting a reliable wsgi story for Zope2. The folks at
Agendaless have generously contributed repoze.zope2 which lets you run
Zope2 under wsgi, but haven't made any updates to it for awhile so
it's lagged behind.

The goal of the sprint is to get native wsgi support in Zope2, which
Tres Seaver has already started working on.
https://weblion.psu.edu/trac/weblion/wiki/PloneSymposiumEast2010/Sprints#Zope2WSGIPublisher

Nate
Dylan Jay
2010-03-29 22:53:25 UTC
Permalink
Post by Martin Aspeli
Post by David Bain
*Raises Hand*
I will be enrolled as a student in a masters programme and am interested
in one of the following projects for GSoC.
a) Spliish – It aims at developing a simplified solution for the setup
and management of a zope server which hosts multiple Plone
instances. GSoC would provide the sponsorship I'd need to give this
project enough attention. I just don't know if this is something the
Plone community is as interested in.
I'd be more interested in something which made Plone easier to set up on
things like Amazon EC2. That's slightly different, I know.
In the past, infrastructure components like this coming out of GSoC have
usually failed to gain enough momentum and have enough maintenance,
documentation and other "soft" support to take off, which means they die
when the programme ends. At least you'd need to address that in any
application.
There was some great discussions with Nate, Calvin and others that came out
of plone hosting openspace at ploneconf2010 around the idea of a "control
panel", ie a UI that configured and installed plone, perhaps on your own
machine or perhaps a web UI that access that will install plone on the same
hosts, or other hosts.

Imagine a UI similar to the mac appengine launcher

Loading Image...

Each line would be a plone/zope server, with a buildout. The buildout would
probably have to be reasonably rigid and a properties page gave you some
options and on save it reruns buildout.

It could be a tree control that opened up. Under the server you could add
"custom products" which hooks into zopeskel. Joel Burton has already done
some work on creating a forms UI for any zopeskel so that could be reused.

In addition you could add 3rd party products perhaps with metadata taken
from plone.org. This just inserts references into the buildout and reruns
buildout of course.

I don't think it would be possible to add in arbitrary buildout recipes but
several common services could be hard coded in.

Then like launcher you have a local launch command and a deploy button. With
the combination of a well thought out deployment buildout such as uber
buildout or splissh we can add to the buildout something like
collective.hostout which can already deploy any buildout with custom eggs to
libcloud servers such as ec2 and amazon. You just need to enter your cloud
provider credentials and it does the rest.

Then we have a "plone sdk" environment thats friendly.

If we are careful about how the above was coded we could then reuse the code
for a "control panel". Imagine a section on plone.org called "create plone
now" where it ran a similar UI to the above, except that it would deploy
from the web UI on plone.org to any of the cloud providers they pick, and
afterwards they can download the SDK + tar ball to further customise it
later.
The same code could also be used by uni's, hosters etc to let customers
manage their own domains.

I think this is doable as a GSOC and also has a narrower scope than the
previous buildoutbuilder approach.
--
View this message in context: http://n2.nabble.com/Google-Summer-of-Code-tp4794663p4821440.html
Sent from the General Questions mailing list archive at Nabble.com.
David Bain
2010-03-30 00:41:00 UTC
Permalink
Dylan,
A system such as that would serve two very valuable purposes:
1. Lower the bar for deployment
2. Ensure that more Plone deployments follow best practices

I can also see add-ons which would integrate monitoring and server health
tools into such a control panel.
Post by Dylan Jay
Post by Martin Aspeli
Post by David Bain
*Raises Hand*
I will be enrolled as a student in a masters programme and am interested
in one of the following projects for GSoC.
a) Spliish – It aims at developing a simplified solution for the setup
and management of a zope server which hosts multiple Plone
instances. GSoC would provide the sponsorship I'd need to give this
project enough attention. I just don't know if this is something the
Plone community is as interested in.
I'd be more interested in something which made Plone easier to set up on
things like Amazon EC2. That's slightly different, I know.
In the past, infrastructure components like this coming out of GSoC have
usually failed to gain enough momentum and have enough maintenance,
documentation and other "soft" support to take off, which means they die
when the programme ends. At least you'd need to address that in any
application.
There was some great discussions with Nate, Calvin and others that came out
of plone hosting openspace at ploneconf2010 around the idea of a "control
panel", ie a UI that configured and installed plone, perhaps on your own
machine or perhaps a web UI that access that will install plone on the same
hosts, or other hosts.
Imagine a UI similar to the mac appengine launcher
http://google-appengine-wx-launcher.googlecode.com/svn/site/images/launcher-screen.png
Each line would be a plone/zope server, with a buildout. The buildout would
probably have to be reasonably rigid and a properties page gave you some
options and on save it reruns buildout.
It could be a tree control that opened up. Under the server you could add
"custom products" which hooks into zopeskel. Joel Burton has already done
some work on creating a forms UI for any zopeskel so that could be reused.
In addition you could add 3rd party products perhaps with metadata taken
from plone.org. This just inserts references into the buildout and reruns
buildout of course.
I don't think it would be possible to add in arbitrary buildout recipes but
several common services could be hard coded in.
Then like launcher you have a local launch command and a deploy button. With
the combination of a well thought out deployment buildout such as uber
buildout or splissh we can add to the buildout something like
collective.hostout which can already deploy any buildout with custom eggs to
libcloud servers such as ec2 and amazon. You just need to enter your cloud
provider credentials and it does the rest.
Then we have a "plone sdk" environment thats friendly.
If we are careful about how the above was coded we could then reuse the code
for a "control panel". Imagine a section on plone.org called "create plone
now" where it ran a similar UI to the above, except that it would deploy
from the web UI on plone.org to any of the cloud providers they pick, and
afterwards they can download the SDK + tar ball to further customise it
later.
The same code could also be used by uni's, hosters etc to let customers
manage their own domains.
I think this is doable as a GSOC and also has a narrower scope than the
previous buildoutbuilder approach.
--
http://n2.nabble.com/Google-Summer-of-Code-tp4794663p4821440.html
Sent from the General Questions mailing list archive at Nabble.com.
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Plone-Users mailing list
https://lists.sourceforge.net/lists/listinfo/plone-users
Nate Aune
2010-04-02 02:41:27 UTC
Permalink
Post by David Bain
Dylan,
1. Lower the bar for deployment
2. Ensure that more Plone deployments follow best practices
I can also see add-ons which would integrate monitoring and server health
tools into such a control panel.
I started working on such a control panel, that basically wraps all
the common tools that one might want to access for their Plone
deployment: supervisor, HAProxy status, Munin monitoring, etc.

It's a two pane interface with the menu of options in the left pane,
and then the right pane is an iframe that loads the page for the
corresponding service.

I think Calvin and Clayton (cc'ed) from Six Feet Up have also built
something like this. At least I remember them mentioning it at the
PloneConf in Budapest.

Nate
Post by David Bain
Post by Dylan Jay
Post by Martin Aspeli
Post by David Bain
*Raises Hand*
I will be enrolled as a student in a masters programme and am interested
in one of the following projects for GSoC.
a) Spliish – It aims at developing a simplified solution for the setup
and management of a zope server which hosts multiple Plone
instances. GSoC would provide the sponsorship I'd need to give this
project enough attention. I just don't know if this is something the
Plone community is as interested in.
I'd be more interested in something which made Plone easier to set up on
things like Amazon EC2. That's slightly different, I know.
In the past, infrastructure components like this coming out of GSoC have
usually failed to gain enough momentum and have enough maintenance,
documentation and other "soft" support to take off, which means they die
when the programme ends. At least you'd need to address that in any
application.
There was some great discussions with Nate, Calvin and others that came out
of plone hosting openspace at ploneconf2010 around the idea of a "control
panel", ie a UI that configured and installed plone, perhaps on your own
machine or perhaps a web UI that access that will install plone on the same
hosts, or other hosts.
Imagine a UI similar to the mac appengine launcher
http://google-appengine-wx-launcher.googlecode.com/svn/site/images/la...
Each line would be a plone/zope server, with a buildout. The buildout would
probably have to be reasonably rigid and a properties page gave you some
options and on save it reruns buildout.
It could be a tree control that opened up. Under the server you could add
"custom products" which hooks into zopeskel. Joel Burton has already done
some work on creating a forms UI for any zopeskel so that could be reused.
In addition you could add 3rd party products perhaps with metadata taken
from plone.org. This just inserts references into the buildout and reruns
buildout of course.
I don't think it would be possible to add in arbitrary buildout recipes but
several common services could be hard coded in.
Then like launcher you have a local launch command and a deploy button. With
the combination of a well thought out deployment buildout such as uber
buildout or splissh we can add to the buildout something like
collective.hostout which can already deploy any buildout with custom eggs to
libcloud servers such as ec2 and amazon.  You just need to enter your cloud
provider credentials and it does the rest.
Then we have a "plone sdk" environment thats friendly.
If we are careful about how the above was coded we could then reuse the code
for a "control panel". Imagine a section on plone.org called "create plone
now" where it ran a similar UI to the above, except that it would deploy
from the web UI on plone.org to any of the cloud providers they pick, and
afterwards they can download the SDK + tar ball to further customise it
later.
The same code could also be used by uni's, hosters etc to let customers
manage their own domains.
I think this is doable as a GSOC and also has a narrower scope than the
previous buildoutbuilder approach.
--
http://n2.nabble.com/Google-Summer-of-Code-tp4794663p4821440.html
Sent from the General Questions mailing list archive at Nabble.com.
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Plone-Users mailing list
https://lists.sourceforge.net/lists/listinfo/plone-users
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Plone-Users mailing list
Nate Aune
2010-04-02 01:49:15 UTC
Permalink
Hi David,

I would be very interested in exploring the use cases for your Spliish
idea. At Jazkarta, we built JazOverseer, a tool very similar to what
you describe. JazOverseer provides a control panel for launching new
EC2 instances and creating Plone sites on those instances. It's built
in a client/server model with a lightweight Dojo-based client app
talking via JSON to a lightweight server app installed in the Zope
instance. The server app reports back to the client which Plone sites
it's hosting, what version of Zope it's running, what version of Plone
and what add-on products are installed.

Taking a slightly different approach, on a recent customer project
I've been using mr.awsome [1] written by Florian Schulze to launch new
EC2 instances with a particular AMI, create and attach a new volume
based on an EBS snapshot, and associate an Elastic IP. This is all
done with one command:

./bin/aws start plone3-32bit

Where "plone3-32bit" is the name of the server configuration in a
aws.conf file which describes the AMI to use, the EBS snapshot to use
and the IP address. You could create other configurations such as
"plone3-64bit", "plone4-32bit", "plone4-64bit" for running on either
x86 or amd64 server architectures.

The AMI that is being used is one created specifically for this
project which contains all of the dependencies to run and deploy Plone
(Python 2.4, Apache2, Squid, etc.), so when the instance is launched,
nothing has to be installed on it since the AMI already has
everything.

The EBS volume is automatically attached which already has a snapshot
of the buildout, so we don't even need to run buildout. Which means we
can launch a new server with Plone running on it in about 7 minutes.
Using EBS bootable AMIs shortens this time to 3 minutes.

I'm working on an EBS bootable AMI for Plone 4 and will announce it
shortly.

Nate

[1] http://pypi.python.org/pypi/mr.awsome
Nate Aune
2010-04-02 03:41:17 UTC
Permalink
Hi Dylan,

Just to riff some more on this idea, here's how I could envision it
working:

You want to get a Plone site up and running quickly to evaluate it and
have a publicly accessible URL where others can look at the site,
customize it, add content, etc. But you don't time time to figure out
how to get a buildout running, how to install add-ons and themes, and
how to deploy this site to a hosting provider. Maybe later, but not
now.

I could imagine that there is a service such as PloneQuickStart.com
(or something like that) where you could fill out a signup form to get
a Plone site that is customized with the add-ons you want to evaluate,
styled with a theme of your choosing (among a range of choices), and
deployed to a cloud hosting provider that you specify.

The steps for the evaluator would look something like this:

1) Choose which version of Plone you want to evaluate: Plone 3 or
Plone 4

There would be a short description of why you would choose one over
the other. i.e. At this point, Plone 3 is more stable, but doesn't
have all the cool new features that Plone 4 has (list of some of these
features - TinyMCE, etc.)

Depending on which one you choose, it will write the appropriate line
in the resulting buildout.cfg:

extends = http://dist.plone.org/release/3.3.5/versions.cfg
-or-
extends = http://dist.plone.org/release/4.0b1/versions.cfg

2) Choose which add-ons you want to install.
This will be a list of popular and proven add-ons that are known to
work well with Plone 3 and 4. For example, if the person checks the
box next to PloneFormGen, it will write out a line in the resulting
buildout.cfg:

eggs = Products.PloneFormGen

We could include some standard packages such as collective.amberjack
(http://plone.org/products/collective.amberjack) to help people get
started quickly with their new Plone site.

We could also have checkboxes on the form for bundles of add-ons, not
just individual add-ons. For example, there could be a bundle for EDU,
for multimedia or for multilingual. If one of these bundles was
selected, the buildout.cfg file would be updated with all of the eggs
included with that bundle.

Eventually, we could use Martin's Good-Py (http://good-
py.appspot.com/) to let the person specify a URL (or choose from a
dropdown of known good sets) to install user-contributed
distributions. Or even give them a text field, where they could paste
in their own URL to a .cfg file.

extends = http://good-py.appspot.com/release/dexterity/2.0-next
-or-
extends = http://somedomain.com/release/myapp/myconfig.cfg


3) Chose which theme you want to use.
This will be a dropdown of themes with thumbnail previews of each
theme. Each theme will contain the HTML, CSS and rules.xml file needed
to render the theme with Plone on the backend serving up the dynamic
elements of the site (navigation, content, search, etc.)

Let's say the user chose a theme called "aprilfools", this would get
written to the corresponding buildout.cfg:

[supervisor]
programs +=
80 deliverance ${buildout:directory}/bin/deliverance-proxy [themes/
aprilfools/rules.xml] ${buildout:directory} true

We can use Deliverance and simply change the rules.xml file that is
loaded by deliverance-proxy script to correlate to the theme that was
selected. Or we can use something like the uwosh.xdvchooser (https://
www.uwosh.edu/ploneprojects/plone-activities-blog/xdv-theme-chooser)

4) Choose a hosting provider that you want to use.
You choose from a dropdown which hosting provider you want to deploy
your Plone site to (Amazon EC2, Rackspace Cloud, Linode, etc.), and it
will prompt you for your credentials and/or public key. The server
will be started up and bootstrapped with all the dependencies to run
Plone (Python 2.4, Apache, PIL, etc.) I think we should standardize on
one OS such as Ubuntu Karmic, so we don't have to try to account for
all the various unix flavors.

Obviously there are some security issues with this approach, so maybe
this last step is done elsewhere, and the buildout is tarred up and
fetched remotely when the server starts up, using a provided startup
script.

I think Joel Burton's zopeskel.webui (http://pasteweb.joelburton.com/)
would probably work well for creating this form, and then utilize
Dylan Jay's collective.hostout (http://plone.org/products/
collective.hostout) for the last step in deploying it to any hosting
provider supported by libcloud (http://libcloud.org).

Do you think this would be an appropriate GSoC project? I would be
willing to mentor a qualified and committed student to make this
happen.

Nate
Post by Dylan Jay
Post by Martin Aspeli
Post by David Bain
*Raises Hand*
I will be enrolled as a student in a masters programme and am interested
in one of the following projects for GSoC.
a) Spliish – It aims at developing a simplified solution for the setup
and management of a zope server which hosts multiple Plone
instances. GSoC would provide the sponsorship I'd need to give this
project enough attention. I just don't know if this is something the
Plone community is as interested in.
I'd be more interested in something which made Plone easier to set up on
things like Amazon EC2. That's slightly different, I know.
In the past, infrastructure components like this coming out of GSoC have
usually failed to gain enough momentum and have enough maintenance,
documentation and other "soft" support to take off, which means they die
when the programme ends. At least you'd need to address that in any
application.
There was some great discussions with Nate, Calvin and others that came out
of plone hosting openspace at ploneconf2010 around the idea of a "control
panel", ie a UI that configured and installed plone, perhaps on your own
machine or perhaps a web UI that access that will install plone on the same
hosts, or other hosts.
Imagine a UI similar to the mac appengine launcher
http://google-appengine-wx-launcher.googlecode.com/svn/site/images/la...
Each line would be a plone/zope server, with a buildout. The buildout would
probably have to be reasonably rigid and a properties page gave you some
options and on save it reruns buildout.
It could be a tree control that opened up. Under the server you could add
"custom products" which hooks into zopeskel. Joel Burton has already done
some work on creating a forms UI for any zopeskel so that could be reused.
In addition you could add 3rd party products perhaps with metadata taken
from plone.org. This just inserts references into the buildout and reruns
buildout of course.
I don't think it would be possible to add in arbitrary buildout recipes but
several common services could be hard coded in.
Then like launcher you have a local launch command and a deploy button. With
the combination of a well thought out deployment buildout such as uber
buildout or splissh we can add to the buildout something like
collective.hostout which can already deploy any buildout with custom eggs to
libcloud servers such as ec2 and amazon.  You just need to enter your cloud
provider credentials and it does the rest.
Then we have a "plone sdk" environment thats friendly.
If we are careful about how the above was coded we could then reuse the code
for a "control panel". Imagine a section on plone.org called "create plone
now" where it ran a similar UI to the above, except that it would deploy
from the web UI on plone.org to any of the cloud providers they pick, and
afterwards they can download the SDK + tar ball to further customise it
later.
The same code could also be used by uni's, hosters etc to let customers
manage their own domains.
I think this is doable as a GSOC and also has a narrower scope than the
previous buildoutbuilder approach.
--
View this message in context:http://n2.nabble.com/Google-Summer-of-Code-tp4794663p4821440.html
Sent from the General Questions mailing list archive at Nabble.com.
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Plone-Users mailing list
Dylan Jay
2010-04-02 06:01:00 UTC
Permalink
Nate,
* PloneQuickStart
* Plone/Haproxy/Munin Dashboard/Control Panel
Sound like what I'd most want to work on for a GSoC project, they
would fits nicely with recent "itches" I've been "scratching".
It also sounds like there is enough interest in the community for
something like this. My preference would be to extend some kind of
Administrator Control Panel and Dashboard.
It would be really nice implemented in light weight framework like bfg
or grok so the control panel could downloaded and ran locally with
quick startup time as well as a multiple user hosted plonequickstart.com
Post by Nate Aune
Hi Dylan,
Just to riff some more on this idea, here's how I could envision it
You want to get a Plone site up and running quickly to evaluate it and
have a publicly accessible URL where others can look at the site,
customize it, add content, etc. But you don't time time to figure out
how to get a buildout running, how to install add-ons and themes, and
how to deploy this site to a hosting provider. Maybe later, but not
now.
I could imagine that there is a service such as PloneQuickStart.com
(or something like that) where you could fill out a signup form to get
a Plone site that is customized with the add-ons you want to
evaluate,
styled with a theme of your choosing (among a range of choices), and
deployed to a cloud hosting provider that you specify.
1) Choose which version of Plone you want to evaluate: Plone 3 or
Plone 4
There would be a short description of why you would choose one over
the other. i.e. At this point, Plone 3 is more stable, but doesn't
have all the cool new features that Plone 4 has (list of some of these
features - TinyMCE, etc.)
Depending on which one you choose, it will write the appropriate line
extends = http://dist.plone.org/release/3.3.5/versions.cfg
-or-
extends = http://dist.plone.org/release/4.0b1/versions.cfg
2) Choose which add-ons you want to install.
This will be a list of popular and proven add-ons that are known to
work well with Plone 3 and 4. For example, if the person checks the
box next to PloneFormGen, it will write out a line in the resulting
eggs = Products.PloneFormGen
We could include some standard packages such as collective.amberjack
(http://plone.org/products/collective.amberjack) to help people get
started quickly with their new Plone site.
We could also have checkboxes on the form for bundles of add-ons, not
just individual add-ons. For example, there could be a bundle for EDU,
for multimedia or for multilingual. If one of these bundles was
selected, the buildout.cfg file would be updated with all of the eggs
included with that bundle.
Eventually, we could use Martin's Good-Py (http://good-
py.appspot.com/) to let the person specify a URL (or choose from a
dropdown of known good sets) to install user-contributed
distributions. Or even give them a text field, where they could paste
in their own URL to a .cfg file.
extends = http://good-py.appspot.com/release/dexterity/2.0-next
-or-
extends = http://somedomain.com/release/myapp/myconfig.cfg
3) Chose which theme you want to use.
This will be a dropdown of themes with thumbnail previews of each
theme. Each theme will contain the HTML, CSS and rules.xml file needed
to render the theme with Plone on the backend serving up the dynamic
elements of the site (navigation, content, search, etc.)
Let's say the user chose a theme called "aprilfools", this would get
[supervisor]
programs +=
80 deliverance ${buildout:directory}/bin/deliverance-proxy
[themes/
aprilfools/rules.xml] ${buildout:directory} true
We can use Deliverance and simply change the rules.xml file that is
loaded by deliverance-proxy script to correlate to the theme that was
selected. Or we can use something like the uwosh.xdvchooser (https://
www.uwosh.edu/ploneprojects/plone-activities-blog/xdv-theme-chooser)
4) Choose a hosting provider that you want to use.
You choose from a dropdown which hosting provider you want to deploy
your Plone site to (Amazon EC2, Rackspace Cloud, Linode, etc.), and it
will prompt you for your credentials and/or public key. The server
will be started up and bootstrapped with all the dependencies to run
Plone (Python 2.4, Apache, PIL, etc.) I think we should standardize on
one OS such as Ubuntu Karmic, so we don't have to try to account for
all the various unix flavors.
Obviously there are some security issues with this approach, so maybe
this last step is done elsewhere, and the buildout is tarred up and
fetched remotely when the server starts up, using a provided startup
script.
I think Joel Burton's zopeskel.webui (http://
pasteweb.joelburton.com/)
would probably work well for creating this form, and then utilize
Dylan Jay's collective.hostout (http://plone.org/products/
collective.hostout) for the last step in deploying it to any hosting
provider supported by libcloud (http://libcloud.org).
Do you think this would be an appropriate GSoC project? I would be
willing to mentor a qualified and committed student to make this
happen.
Nate
Post by Dylan Jay
Post by Martin Aspeli
Post by David Bain
*Raises Hand*
I will be enrolled as a student in a masters programme and am interested
in one of the following projects for GSoC.
a) Spliish – It aims at developing a simplified solution for the setup
and management of a zope server which hosts multiple Plone
instances. GSoC would provide the sponsorship I'd need to give this
project enough attention. I just don't know if this is something the
Plone community is as interested in.
I'd be more interested in something which made Plone easier to set up on
things like Amazon EC2. That's slightly different, I know.
In the past, infrastructure components like this coming out of GSoC have
usually failed to gain enough momentum and have enough maintenance,
documentation and other "soft" support to take off, which means they die
when the programme ends. At least you'd need to address that in any
application.
There was some great discussions with Nate, Calvin and others that came out
of plone hosting openspace at ploneconf2010 around the idea of a "control
panel", ie a UI that configured and installed plone, perhaps on your own
machine or perhaps a web UI that access that will install plone on the same
hosts, or other hosts.
Imagine a UI similar to the mac appengine launcher
http://google-appengine-wx-launcher.googlecode.com/svn/site/images/la
...
Each line would be a plone/zope server, with a buildout. The
buildout would
probably have to be reasonably rigid and a properties page gave you some
options and on save it reruns buildout.
It could be a tree control that opened up. Under the server you could add
"custom products" which hooks into zopeskel. Joel Burton has
already done
some work on creating a forms UI for any zopeskel so that could be reused.
In addition you could add 3rd party products perhaps with metadata taken
from plone.org. This just inserts references into the buildout and reruns
buildout of course.
I don't think it would be possible to add in arbitrary buildout recipes but
several common services could be hard coded in.
Then like launcher you have a local launch command and a deploy button. With
the combination of a well thought out deployment buildout such as uber
buildout or splissh we can add to the buildout something like
collective.hostout which can already deploy any buildout with custom eggs to
libcloud servers such as ec2 and amazon. You just need to enter your cloud
provider credentials and it does the rest.
Then we have a "plone sdk" environment thats friendly.
If we are careful about how the above was coded we could then reuse the code
for a "control panel". Imagine a section on plone.org called
"create plone
now" where it ran a similar UI to the above, except that it would deploy
from the web UI on plone.org to any of the cloud providers they pick, and
afterwards they can download the SDK + tar ball to further
customise it
later.
The same code could also be used by uni's, hosters etc to let customers
manage their own domains.
I think this is doable as a GSOC and also has a narrower scope than the
previous buildoutbuilder approach.
--
View this message in context:http://n2.nabble.com/Google-Summer-of-
Code-tp4794663p4821440.html
Sent from the General Questions mailing list archive at Nabble.com.
---
---
---
---
------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.http://
p.sf.net/sfu/intel-sw-dev
_______________________________________________
Plone-Users mailing list
lists/listinfo/plone-users
Nate Aune
2010-05-07 04:49:07 UTC
Permalink
* PloneQuickStart
* Plone/Haproxy/Munin Dashboard/Control Panel
Sound like what I'd most want to work on for a GSoC project, they
would fits nicely with recent "itches" I've been "scratching".
It also sounds like there is enough interest in the community for
something like this. My preference would be to extend some kind of
Administrator Control Panel and Dashboard.
It would be really nice implemented in light weight framework like bfg or
grok so the control panel could downloaded and ran locally with quick
startup time as well as a multiple user hosted plonequickstart.com
We used webob, jinja, repoze.who, boto and Dojo to make an ajaxy
dashboard for launching EC2 instances and creating Plone sites on
them. It even associates domain names with IP addresses using
nettica.com's API.

Right now it's EC2 specific, but we could rip out the boto library and
use CloudKick API instead to make it more generic (work with dozens of
hosting providers).

the CloudKick API now supports Fabric for deployment.
https://support.cloudkick.com/Integrating_Fabric_with_Cloudkick

Nate
Post by Nate Aune
Hi Dylan,
Just to riff some more on this idea, here's how I could envision it
You want to get a Plone site up and running quickly to evaluate it and
have a publicly accessible URL where others can look at the site,
customize it, add content, etc. But you don't time time to figure out
how to get a buildout running, how to install add-ons and themes, and
how to deploy this site to a hosting provider. Maybe later, but not
now.
I could imagine that there is a service such as PloneQuickStart.com
(or something like that) where you could fill out a signup form to get
a Plone site that is customized with the add-ons you want to evaluate,
styled with a theme of your choosing (among a range of choices), and
deployed to a cloud hosting provider that you specify.
1) Choose which version of Plone you want to evaluate: Plone 3 or
Plone 4
There would be a short description of why you would choose one over
the other. i.e. At this point, Plone 3 is more stable, but doesn't
have all the cool new features that Plone 4 has (list of some of these
features - TinyMCE, etc.)
Depending on which one you choose, it will write the appropriate line
  extends = http://dist.plone.org/release/3.3.5/versions.cfg
  -or-
  extends = http://dist.plone.org/release/4.0b1/versions.cfg
2) Choose which add-ons you want to install.
This will be a list of popular and proven add-ons that are known to
work well with Plone 3 and 4. For example, if the person checks the
box next to PloneFormGen, it will write out a line in the resulting
  eggs = Products.PloneFormGen
We could include some standard packages such as collective.amberjack
(http://plone.org/products/collective.amberjack) to help people get
started quickly with their new Plone site.
We could also have checkboxes on the form for bundles of add-ons, not
just individual add-ons. For example, there could be a bundle for EDU,
for multimedia or for multilingual. If one of these bundles was
selected, the buildout.cfg file would be updated with all of the eggs
included with that bundle.
Eventually, we could use Martin's Good-Py (http://good-
py.appspot.com/) to let the person specify a URL (or choose from a
dropdown of known good sets) to install user-contributed
distributions. Or even give them a text field, where they could paste
in their own URL to a .cfg file.
  extends = http://good-py.appspot.com/release/dexterity/2.0-next
  -or-
  extends = http://somedomain.com/release/myapp/myconfig.cfg
3) Chose which theme you want to use.
This will be a dropdown of themes with thumbnail previews of each
theme. Each theme will contain the HTML, CSS and rules.xml file needed
to render the theme with Plone on the backend serving up the dynamic
elements of the site (navigation, content, search, etc.)
Let's say the user chose a theme called "aprilfools", this would get
[supervisor]
programs +=
  80 deliverance ${buildout:directory}/bin/deliverance-proxy [themes/
aprilfools/rules.xml] ${buildout:directory} true
We can use Deliverance and simply change the rules.xml file that is
loaded by deliverance-proxy script to correlate to the theme that was
selected. Or we can use something like the uwosh.xdvchooser (https://
www.uwosh.edu/ploneprojects/plone-activities-blog/xdv-theme-chooser)
4) Choose a hosting provider that you want to use.
You choose from a dropdown which hosting provider you want to deploy
your Plone site to (Amazon EC2, Rackspace Cloud, Linode, etc.), and it
will prompt you for your credentials and/or public key. The server
will be started up and bootstrapped with all the dependencies to run
Plone (Python 2.4, Apache, PIL, etc.) I think we should standardize on
one OS such as Ubuntu Karmic, so we don't have to try to account for
all the various unix flavors.
Obviously there are some security issues with this approach, so maybe
this last step is done elsewhere, and the buildout is tarred up and
fetched remotely when the server starts up, using a provided startup
script.
I think Joel Burton's zopeskel.webui (http://pasteweb.joelburton.com/)
would probably work well for creating this form, and then utilize
Dylan Jay's collective.hostout (http://plone.org/products/
collective.hostout) for the last step in deploying it to any hosting
provider supported by libcloud (http://libcloud.org).
Do you think this would be an appropriate GSoC project? I would be
willing to mentor a qualified and committed student to make this
happen.
Nate
Post by Dylan Jay
Post by Martin Aspeli
Post by David Bain
*Raises Hand*
I will be enrolled as a student in a masters programme and am interested
in one of the following projects for GSoC.
a) Spliish – It aims at developing a simplified solution for the setup
and management of a zope server which hosts multiple Plone
instances. GSoC would provide the sponsorship I'd need to give this
project enough attention. I just don't know if this is something the
Plone community is as interested in.
I'd be more interested in something which made Plone easier to set up on
things like Amazon EC2. That's slightly different, I know.
In the past, infrastructure components like this coming out of GSoC have
usually failed to gain enough momentum and have enough maintenance,
documentation and other "soft" support to take off, which means they die
when the programme ends. At least you'd need to address that in any
application.
There was some great discussions with Nate, Calvin and others that came out
of plone hosting openspace at ploneconf2010 around the idea of a "control
panel", ie a UI that configured and installed plone, perhaps on your own
machine or perhaps a web UI that access that will install plone on the same
hosts, or other hosts.
Imagine a UI similar to the mac appengine launcher
http://google-appengine-wx-launcher.googlecode.com/svn/site/images/la...
Each line would be a plone/zope server, with a buildout. The buildout would
probably have to be reasonably rigid and a properties page gave you some
options and on save it reruns buildout.
It could be a tree control that opened up. Under the server you could add
"custom products" which hooks into zopeskel. Joel Burton has already done
some work on creating a forms UI for any zopeskel so that could be reused.
In addition you could add 3rd party products perhaps with metadata taken
from plone.org. This just inserts references into the buildout and reruns
buildout of course.
I don't think it would be possible to add in arbitrary buildout recipes but
several common services could be hard coded in.
Then like launcher you have a local launch command and a deploy button. With
the combination of a well thought out deployment buildout such as uber
buildout or splissh we can add to the buildout something like
collective.hostout which can already deploy any buildout with custom eggs to
libcloud servers such as ec2 and amazon.  You just need to enter your cloud
provider credentials and it does the rest.
Then we have a "plone sdk" environment thats friendly.
If we are careful about how the above was coded we could then reuse the code
for a "control panel". Imagine a section on plone.org called "create plone
now" where it ran a similar UI to the above, except that it would deploy
from the web UI on plone.org to any of the cloud providers they pick, and
afterwards they can download the SDK + tar ball to further customise it
later.
The same code could also be used by uni's, hosters etc to let customers
manage their own domains.
I think this is doable as a GSOC and also has a narrower scope than the
previous buildoutbuilder approach.
--
View this message in
context:http://n2.nabble.com/Google-Summer-of-Code-tp4794663p4821440.html
Sent from the General Questions mailing list archive at Nabble.com.
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during
beta.http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Plone-Users mailing list
--
// Learn the easiest way to theme Plone! //
http://plone-theming-with-deliverance-natesig.eventbrite.com/

Nate Aune - natea-cNZgzcB+5vhWk0Htik3J/***@public.gmane.org
http://www.jazkarta.com
http://card.ly/natea
http://tungle.me/natea
+1 (617) 517-4953

------------------------------------------------------------------------------
Israel Saeta Pérez
2010-03-27 17:23:29 UTC
Permalink
Post by Martin Aspeli
Post by Matthew Wilkes
Mentors
=======
I'm happy to mentor any appropriate Dexterity or Deco related projects,
provided the student is diligent and dedicated. :-)
As you might already know, I'll apply for tiles & panels & blocks & deco
related stuff. :)

-- israel
Martin Aspeli
2010-03-28 02:21:29 UTC
Permalink
Post by Martin Aspeli
Post by Matthew Wilkes
Mentors
=======
I'm happy to mentor any appropriate Dexterity or Deco related projects,
provided the student is diligent and dedicated. :-)
As you might already know, I'll apply for tiles& panels& blocks& deco
related stuff. :)
Are you planning to change your name to something starting with D also? :-p

Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
Tim Knapp
2010-03-28 02:36:03 UTC
Permalink
Post by Matthew Wilkes
Mentors
=3D=3D=3D=3D=3D=3D=3D
I'm happy to mentor any appropriate Dexterity or Deco related pr=
ojects,
provided the student is diligent and dedicated. :-)
As you might already know, I'll apply for tiles& panels& blocks=
& deco
related stuff. :)
=20
Are you planning to change your name to something starting with D a=
lso? :-p

dukebody you mean ;)
=20
Martin
=20
Continue reading on narkive:
Loading...