Scope of Plone Framework Team

13 messages Options
Embed this post
Permalink
Raphael Ritz

Scope of Plone Framework Team

Reply Threaded More More options
Print post
Permalink
Hi,

yesterday, our current FWT for Plone 4.0 discussed all
submitted PLIPs when an intersting question came up that
we'd like some feedback on from our developer community
at large.

First, let's look at some PLIPs and their rational:

http://dev.plone.org/plone/ticket/9250:
"We propose to include the jQuery Tools library in
the base Plone install." -> one reason being to
give recommendations to people what to use when
doing advanced JQ stuff

http://dev.plone.org/plone/ticket/9314:
"Provide in the installers an installation option
[..] to load a common development environment."
-> give recommendation on what 3rd-party add-ons
to use while developing

http://dev.plone.org/plone/ticket/9324:
"We propose using Amberjack to create [these]
guided tours for people new to Plone."
-> give recommendation on what 3rd-party tool
to use to support a certain feature

Note that this PLIP also states:
"In general, I'd say that this package shouldn't
be in core Plone as such, but probably be standard
issue in the installers."


What all these PLIPs have in common is that they propose
the Plone (core?) distribution should give recommendations
on additional software - not shipping with Plone as such -
to use for certain use cases.
Two of those explicitly address the installers rather than
the Plone core code itself.

The question we have is simply put:
Are people comfortable with the FWT making decisions here?

And maybe more importantly:
Where do we draw the line?

By that I mean: once we start "blessing" add-ons how should
we react if in the next round somebody proposes to include
product X for feature Y in the installer?
I'm not sure I would feel comfortable (as a FWT member) if
that became a pattern.

Do people see what I mean?
Is it maybe a non-issue?
Should we consider defining some sort of policy here?
Do we maybe need something else to come up with
"recommended best practices to do X"?

Opinions anyone?

Thanks for listening,

        Raphael







------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Lennart Regebro-2

Re: Scope of Plone Framework Team

Reply Threaded More More options
Print post
Permalink
2009/7/1 Raphael Ritz <[hidden email]>:

> By that I mean: once we start "blessing" add-ons how should
> we react if in the next round somebody proposes to include
> product X for feature Y in the installer?
> I'm not sure I would feel comfortable (as a FWT member) if
> that became a pattern.
>
> Do people see what I mean?
> Is it maybe a non-issue?
> Should we consider defining some sort of policy here?
> Do we maybe need something else to come up with
> "recommended best practices to do X"?

I don't see any reason for the FWT to recommend any packages.

- JQuery should be installed if Plone core uses it. We don't want to
embiggen Plone more than necessary.

- Using Amberjack for new to Plone people may very well be a good
idea, but I'm a bit surprised about it being a PLIP, it's not actually
*Plone*, is it?

A developers package seems slightly less problematic, though. That
could be seen less as recommendations, as a convenience package. Add
one package to the buildout instead of ten.

--
Lennart Regebro: Python, Zope, Plone, Grok
http://regebro.wordpress.com/
+33 661 58 14 64

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Jon Stahl

Re: Scope of Plone Framework Team

Reply Threaded More More options
Print post
Permalink


> -----Original Message-----
> From: Lennart Regebro [mailto:[hidden email]]
> - Using Amberjack for new to Plone people may very well be a good
> idea, but I'm a bit surprised about it being a PLIP, it's not actually
> *Plone*, is it?

The proposal as I understand it is to *use* (and thus ship with)
Amberjack in order to provide some user-friendly guided-tour/feature
demonstrations out-of-the-box to improve the "first hour" experience for
new users.  

I'm personally neutral on the merits, but I don't think it's at all
unreasonable.

:jon

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
-----
Jon Stahl, Director of Web Solutions
ONE/Northwest - Online Networking for the Environment
http://www.onenw.org
Lennart Regebro-2

Re: Scope of Plone Framework Team

Reply Threaded More More options
Print post
Permalink
2009/7/2 Jon Stahl <[hidden email]>:
> The proposal as I understand it is to *use* (and thus ship with)
> Amberjack in order to provide some user-friendly guided-tour/feature
> demonstrations out-of-the-box to improve the "first hour" experience for
> new users.

Ah, I see. That makes more sense.

--
Lennart Regebro: Python, Zope, Plone, Grok
http://regebro.wordpress.com/
+33 661 58 14 64

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Wichert Akkerman

Re: Scope of Plone Framework Team

Reply Threaded More More options
Print post
Permalink
On 7/3/09 1:05 PM, Lennart Regebro wrote:
> 2009/7/2 Jon Stahl<[hidden email]>:
>> The proposal as I understand it is to *use* (and thus ship with)
>> Amberjack in order to provide some user-friendly guided-tour/feature
>> demonstrations out-of-the-box to improve the "first hour" experience for
>> new users.
>
> Ah, I see. That makes more sense.

That is not true for the jQuery toolkit proposal though.

Neither is really relevant to Raphael's question though: is the
framework team the right entity to decide which optional extras ship
with Plone.

Wichert.

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
matthew lange-3

Re: Scope of Plone Framework Team

Reply Threaded More More options
Print post
Permalink
It seems to me from a relative newbie/outside perspective that this question might be better answered if it is reframed a bit.  Raphael's question about whether the framework team is the right body to include non-Plone items in the shipment of Plone, and the banter surrounding this, signifies to me that there is need reconsider how things get done.

Perhaps the first question should be:
Does one *flavor* (pick a descriptor of your choice if you must, but I like "flavor") of Plone at each version release (aside from installer vs. non-installer) meet the needs of all of everyone we are trying to reach?
--Clearly it does not, as it seems more than probabe that an installer package which includes the non-Plone utilities mentioned here would likely widen Plone acceptance, and  this is always good...

This leads to another question:
Might there be other instances in the future where other flavors might meet the needs of other major user groups within the Plone community, but still rely on the core Plone framework?
--Well, if we think of all the ways in which Plone as a development platform might grow and expand, I believe that this would be a yes.

Take Ubuntu as an example, with server, desktop, and now "netbook" releases, (although admittedly there are some optimizations happening under the hood here for each of these, but the major differences between desktop and server is what they ship with).

Going down this logical path then it seems to me that what is needed to make these decisions is a new body whose scope is outside that of the framework team, but would necessarily require close communication  with it.

mc




On Fri, Jul 3, 2009 at 4:11 AM, Wichert Akkerman <[hidden email]> wrote:
On 7/3/09 1:05 PM, Lennart Regebro wrote:
> 2009/7/2 Jon Stahl<[hidden email]>:
>> The proposal as I understand it is to *use* (and thus ship with)
>> Amberjack in order to provide some user-friendly guided-tour/feature
>> demonstrations out-of-the-box to improve the "first hour" experience for
>> new users.
>
> Ah, I see. That makes more sense.

That is not true for the jQuery toolkit proposal though.

Neither is really relevant to Raphael's question though: is the
framework team the right entity to decide which optional extras ship
with Plone.

Wichert.

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers


------------------------------------------------------------------------------

_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Hanno Schlichting-4

Re: Scope of Plone Framework Team

Reply Threaded More More options
Print post
Permalink
On Fri, Jul 3, 2009 at 6:45 PM, matthew lange<[hidden email]> wrote:
> Perhaps the first question should be:
> Does one *flavor* (pick a descriptor of your choice if you must, but I like
> "flavor") of Plone at each version release (aside from installer vs.
> non-installer) meet the needs of all of everyone we are trying to reach?

On the questions of multiple flavors we have so far concluded, that
maintaining these is additional overhead the core community cannot
take. Mostly because of the overhead of support, Q&A and security
responses. Looking at open tickets, follow-up times for our trackers
over the last years, I don't see any room for taking in more work.

What we encouraged so far instead is to have specialized communities
to publish their own flavors of Plone, like EduPlone, Plone4Artists
and maybe PloneGov counts here as well. This is similar in spirit to
Kubuntu or Edubuntu.

I think we should make sure that we do not let the installer vs. the
source distribution go anywhere near this. For me the installer is
restricted to providing an easier installation and environment for
using Plone. Otherwise it should be functionally equivalent. I don't
want to have to ask in every support ticket or help mail: How did you
install Plone? Unless it's obvious that the problem is in installation
and setup. Once the application server is up and running, it should
run the exact same codebase no matter which of the official
distributions people use.

Hanno

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Raphael Ritz

Re: Scope of Plone Framework Team

Reply Threaded More More options
Print post
Permalink
Hanno Schlichting wrote:

[..]

> I think we should make sure that we do not let the installer vs. the
> source distribution go anywhere near this. For me the installer is
> restricted to providing an easier installation and environment for
> using Plone. Otherwise it should be functionally equivalent. I don't
> want to have to ask in every support ticket or help mail: How did you
> install Plone? Unless it's obvious that the problem is in installation
> and setup. Once the application server is up and running, it should
> run the exact same codebase no matter which of the official
> distributions people use.

and this is exactly where I'm heading although it might need some
clarification of what we mean by "code base". If the 'dev pack'
pulls in some extras, is that the same code base? Of (CMF)Plone
yes, in total no.

Similar for Amberjack: if we decide to include that in the core
I'd personally consider that a step in the wrong direction.
Considering that some of us want to even see the current default
content disappear or become optional how would that go together
with even more default content (the Amberjack based tours
that can be great to demo Plone to someone new but might be
completely off for someone who uses Plone for real).
So sooner or later we might grow something like a "Plone demo
pack" or "Plone exploration pack" or "Plone evaluation pack"
where we do include some default content and tours and what
have you.

Maybe this is even the way to go as there is no "one size fits all"
solution when it comes to accommodating specific needs of newbies
versus developers (or development environments rather) versus
deployments.

And should we head in that direction (which I think we are already)
I'd appreciate opinions on what role the framework team should play
in view of this. From the feedback obtained so far it seems to me
we should ignore or rather reject things that go in any of those
directions. On the other hand (some?) people seem to be happy
with pulling in more and more for whatever reason. The crux is that
each individual case can usually very well be justified but the
overall trend that results from this might lead us in the opposite
direction of where some(?) of us want to see things heading.

Raphael


>
> Hanno
>
> ------------------------------------------------------------------------------


------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Dylan Jay

Re: Scope of Plone Framework Team

Reply Threaded More More options
Print post
Permalink
On 04/07/2009, at 5:45 AM, Raphael Ritz wrote:

>
> And should we head in that direction (which I think we are already)
> I'd appreciate opinions on what role the framework team should play
> in view of this. From the feedback obtained so far it seems to me
> we should ignore or rather reject things that go in any of those
> directions. On the other hand (some?) people seem to be happy
> with pulling in more and more for whatever reason. The crux is that
> each individual case can usually very well be justified but the
> overall trend that results from this might lead us in the opposite
> direction of where some(?) of us want to see things heading.


We seem to be going around in circles.
It seems like users and developers want more guidance on how to use  
plone but plone wants to stay neutral and not play favourites. Both  
are right.

Perhaps there are some creative ways to do both?

One that comes to mind would be to have non-core teams form to produce  
plone flavours/packages etc like plonegov or eduplone ... but instead  
of having them be formed offsite away from plone.org, they could be a  
central part of plone.org in the same way Products are. Anyone can  
form their own plone distribution and upload it to plone.org. The  
popular ones float to the top and form a community around them. There  
is no official blessing needed. It is still the democratic approach we  
know and like right?

Other ideas?




------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
pumazi

Re: Scope of Plone Framework Team

Reply Threaded More More options
Print post
Permalink
Dylan Jay-5 wrote:
We seem to be going around in circles.
It seems like users and developers want more guidance on how to use  
plone but plone wants to stay neutral and not play favourites. Both  
are right.

Perhaps there are some creative ways to do both?

One that comes to mind would be to have non-core teams form to produce  
plone flavours/packages etc like plonegov or eduplone ... but instead  
of having them be formed offsite away from plone.org, they could be a  
central part of plone.org in the same way Products are. Anyone can  
form their own plone distribution and upload it to plone.org. The  
popular ones float to the top and form a community around them. There  
is no official blessing needed. It is still the democratic approach we  
know and like right?

Other ideas?
Wonderful idea.  It seems to follow the linux style distributions.  plone.org provides the core kernel (site application in this case) and distribution's provide specific support for whatever use case.  However, I don't think Plone has enough human resources to provide a stable moving distribution system.  In other words, I'm saying that I think developers would be spread to thin.

-Michael Mulich (pumazi)
Martin Aspeli

Re: Scope of Plone Framework Team

Reply Threaded More More options
Print post
Permalink
In reply to this post by Raphael Ritz
Hi guys,

I don't really want to get into the details of this, because I don't
have strong opinions on the exact PLIPs, but I would like to offer my
point of view.

Basically, we have three issues at stake here:

  1) Architecturally, having small and independent components makes
maintenance and evolution easier. Ergo, bundling too much stuff together
is a bad idea.

  2) Resource-wise, maintaining less means we can improve the quality
and/or speed of releases. Ergo, anything we add that needs to be part of
our core distribution has a cost in terms of testing and getting bug
fixes done.

  3) Feature wise, Plone needs to be able withstand scrutiny and provide
the tools people need to solve their everyday problems. Ergo, for things
that are "core" to our vision of what Plone needs to be, we should have
"core" package that solve these things in a well defined, well tested,
up-to-our-quality-standards sort of way.

Clearly, there's a balance to be struck between the first two and the
third of these.

Now, I wouldn't want the Framework Team to become over-stretched (a real
risk) or to try to control more than it's been given the legitimacy to
do (a very unlikely risk).

However, we need to be careful. It's all well and good to say Plone
should become smaller and simpler. To me that has more to do with
architectural cruft and the places where we have two solutions to the
same problem, than with actual end user features (although there are a
few we could possibly factor out).

However, our audience here is not necessarily the core developer who
knows how to evaluate a third party product, which developers of third
party products, to trust, and how to build something custom if there's
no decent solution as part of Plone. Our audience has to be the people
who use the installers and want to do something with Plone without
investing a huge amount of time becoming experts in our community and
our stack.

In other words: Plone is a framework to many people, but it's not *only*
a framework, and the "product nature" in terms of what you get when you
opt for Plone (not Plone-plus-some-vague-set-of-add-on-products) needs
to be compelling. Having just done a detailed CMS product evaluation and
seen what else is out there and how Plone gets written about, I cannot
overstate how important this is.

I suspect that's what Alex is talking about with Amberjack, for example.
And this is where installers are a convenient way out. The installers
can pull in additional eggs that are not dependencies of the 'Plone'
egg. These are still things we need to test and make sure work, of
course. But this approach allows us to at least deliver on (1) without
neglecting (3).

This still leaves the question of how we decide what's in and out of
scope, and thus what costs under (2) we're willing to accept. My
suggestion would be that we use the good old 80/20 rule:

  - If we think a feature might be useful to 80% of those who use Plone,
we ship with it.

  - If we think a feature is only going to be of value to 20% of our
users, we don't.

That's not necessarily a hard-and-fast rule always. Sometimes, the cost
may be so low and the "wow factory" may be so great in comparison that
shipping with a feature is a good idea. Sometimes we may want to ship
something to encourage a standard platform for certain things to aid
interoperability of third party propducts (I guess that's what the
jQuery Tools thing is about).

This approach has a few implications:

  - We make some choices about how we think Plone should be used. To me,
our "core" proposition is around web content management. Basic services
like types, versioning, check-in/check-out staging, theming, and so on
are all core CMS features, and we would stand no chance without them as
part of the supported core product. Conversely, we wouldn't ship with a
shopping cart or a flight tracker (yep, that one was on uservoice...)
because those are not really core to web content management.

  - We're allowed to have features that are "soft" dependencies, i.e.
they can ship in the installer without being mandatory dependencies of
the 'Plone' egg.

Martin

--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book


------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Raphael Ritz

Re: Scope of Plone Framework Team

Reply Threaded More More options
Print post
Permalink
Martin Aspeli wrote:
> Hi guys,

Hi Martin,

thanks for expressing your point of view.

[skip lots of thoughtful comments]


> That's not necessarily a hard-and-fast rule always. Sometimes, the cost
> may be so low and the "wow factory"

That's a good one, the "wow factory" ;-)

[..]

>
> This approach has a few implications:
>
>   - We make some choices about how we think Plone should be used. To me,
> our "core" proposition is around web content management. Basic services
> like types, versioning, check-in/check-out staging, theming, and so on
> are all core CMS features, and we would stand no chance without them as
> part of the supported core product. Conversely, we wouldn't ship with a
> shopping cart or a flight tracker (yep, that one was on uservoice...)
> because those are not really core to web content management.

No doubt about that. Nobody is questioning this.

>
>   - We're allowed to have features that are "soft" dependencies, i.e.
> they can ship in the installer without being mandatory dependencies of
> the 'Plone' egg.

Also true but does such a soft dependency require FWT approval
and in turn do changes to such soft dependencies need to be PLIPed?

Personally, I like the idea of having the FWT be responsible for
things that you get with "eggs=Plone" - not more and not less -
and have others care about a "dev pack", "demo pack", "learning pack",
"exploration pack", "default content pack", "eierlegende Wollmilchsau
pack" - who knows what that is? ;-)

This would imply that PLIPs that only mention changes to the installer
to optionally pull in further soft dependencies would be considered
out of scope of the FWT.

Raphael



>
> Martin
>


------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Martin Aspeli

Re: Scope of Plone Framework Team

Reply Threaded More More options
Print post
Permalink
Raphael Ritz wrote:

>>   - We're allowed to have features that are "soft" dependencies, i.e.
>> they can ship in the installer without being mandatory dependencies of
>> the 'Plone' egg.
>
> Also true but does such a soft dependency require FWT approval
> and in turn do changes to such soft dependencies need to be PLIPed?

If it means the release manager has to care about whether that component
keeps working, then I'd say yes.

Of course, some PLIPs may end up with a "no for core, but would make a
great add-on", which we've always done anyway.

> Personally, I like the idea of having the FWT be responsible for
> things that you get with "eggs=Plone" - not more and not less -
> and have others care about a "dev pack", "demo pack", "learning pack",
> "exploration pack", "default content pack", "eierlegende Wollmilchsau
> pack" - who knows what that is? ;-)

Getting some more team-oriented help would be good, and could alleviate
some responsibility from the FWT, which could perhaps just do some
overall voting and co-ordination but defer detailed review to special
interest groups.

However...

> This would imply that PLIPs that only mention changes to the installer
> to optionally pull in further soft dependencies would be considered
> out of scope of the FWT.

... I disagree on this as a hard and fast rule.

If we're talking about things that are decided non-core and managed
through some other sub-project, like PloneGov or EduPlone (does that
still exist?) or Plone4Artists - or possibly some slightly more official
version of this - then absolutely: those processes sit outside (but
could co-ordinate with) the framework team, and outside our release
cycles. In other words, if one of these things breaks, we won't hold up
a release.

However, if we're talking about something that we believe is an
important part of the "Plone core 80%", then that's something the
Framework Team and Release Manager need to own and QA and manage.
Whether it's part of a setup.py dependency for the Plone egg is really
just an implementation detail.

And this is the very distinction I'm trying to highlight: what we care
about as a product offering is not necessarily going to be definable in
a strict code dependency sense.

In other words, I think the installers are way more important than the
setup.py dependencies.

It's a good "feature" if developers can easily get a stripped down core
that doesn't include some things that are
optional-but-part-of-the-product. That "feature" doesn't override all
other concerns, though. When people evaluate Plone or start using it for
the first time, they should be using an installer, and we should be
providing them with the best possible experience out of the box.

Martin

--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book


------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers