Skip to content

Yet another pre-Plone Summit blog entry

February 7, 2008

So, tomorrow I’m off to San Francisco for the Plone Strategic Planning Summit. It’s going to be great, the Plone community is full of fantastic people, and I had a great time at the Plone conference, and with a few exceptions all my favourite Plone people is coming. I can’t promise that we actually will come up with a straight answer to all the questions, but it sure is going to be interesting, and I’m sure I’m going to have a fantastic time.

So, what do I want Plone to be, look and work? What’s the current problems?

The first question is what Plone is? Is it a platform? A framework? A product? All of it? None of it? Well, it of course depends on how you define the words. Reinouts position makes sense with his definitions, but I’m not sure most people would use the words like that. Paul Everitt has one take on it, and I think that he uses the words slightly differently, and sees a platform as more of what Reinout calls framework. But I’m going to go with Reinouts definitions, because they seem to make sense to me.

So is Plone a platform/framework, and should it be? Well, in my opinion, it isn’t neither of them today, or at least not a good one. Plone is a good content management system (whatever Chris says 😉 ) that are easy to configure to suit your needs, and has loads of nice third party add-ons. So it’s a product, and good one at that. But is it a good platform, how easy is it to build on it? Well, after one year of Ploning, I have to say that it isn’t easy. Plone 2.5 was OK. It was a confused mess, but that confused mess centered on portal_skins, and most of the work was done in a big heap of skins that overrode each other. The trick was untangling the mess, and overriding the right thing. Once you got that, you could do most things. You usually did them in a ugly hacky way, which meant that taking over somebody else’s project usually was a minor nightmare, but that was Plone, and the Ploneish way. Ugly, but functional. A major complain of mine is that Plone complains to little when you do mistakes. Type one thing wrong in the type definition, and it just doesn’t show up, with no indication of which of a multitude of settings that are wrong.

Plone 3 tried to untangle the mess, but the effect is what a colleague of mine calls “a conspiracy on the hard disk”. Everything is done by little snippets of code spread out in several parts of the disk, which you typically have to find by doing a grep and reading loads of code. Many things, like creating a portlet, needs four files with quite a bit of repetition. There is no way to figure out how to do things, because it means you must deeply understand many parts of Plone and Zope. So what do you do? Well, you buy Martins helpful book, and copy out his code, and modify it. That works, but it’s not easy. And it stinks of cargo-cult programming. You copy out code without understanding all the bits of them, because it works. It’s not ideal at all.

We have a framework, Five, and we have a product, Plone, but I’m not sure we have a platform. Should Plone be a platform, or should we insert a platform layer in between the framework and the product?

Well, the ideal think would be if we could realize the vague plans Philipp and others have had on a Grok-style layer for Plone. That layer could easily be the platform. But creating that layer is a lot of work. Does an open source project like Plone have the stamina for something like that?


From → plone, zope, zope3

  1. Ye olde plone 2 days. Archetypes plus CMF’s skin layers. Archetypes plus CMF was basically the framework. I used archgenxml a lot because you had to know quite a lot of magic to get things running.

    Now we’re moving to zope3 as the framework. Agreed that you cannot develop without “grep”.

    In both cases Plone is the platform: it has a large number of extensions/conventions/addons/products on top of the framework. It is the platform as it gets accepted like that. It gets accepted/used as the basis for further work. The platform is more useful, better packaged, better configured, better documented, more featureful than the base framework.

    I’m thinking aloud to get a better feel myself for this 🙂

  2. Floroskop permalink

    I think this try.

Trackbacks & Pingbacks

  1. 10 potential topics for The Plone Strategic Planning Summit —

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: