Plone is very complex. Zope2, Zope3, Five, ZCML, ZODB, ZEO, a whole bunch of acronyms and abbreviations.
It’s hard to begin and the current state seems to be undecided. It is mainly based on Zope2, but incorporates Zope3 via Five. And there are XML config files everywhere.
Does the steep learning curve pay of? Is this complexity still justified today?
Background: I need a platform. Customers often need a CMS. I’m currently reading ‘Professional Plone Development‘, without prior knowledge of Plone.
The problem: Customers don’t always want the same and you can’t know beforehand. One thing is sure: They don’t want the default theme of Plone. But any additional feature is a risk. You can’t just start and say ‘If you want to see the complexity of Plone, you have to ask for it.‘ when you don’t know the system good enough to plan.
If you want to see the complexity of Plone, you have to ask for it. For most people, it’s just not there. It installs in a couple of minutes through a one-click installer. Then it’s one click to log in, one click to create a page, use a WYSYWIG editor, and one click to save. Everything is through an intuitive web GUI. Plone is a product.
If you want to use it as a ‘platform,’ then the platform is a stack of over one million lines of code which implements a complete content management suite. No one knows it all. However, all those ‘acronyms’ and ‘files’ are evidence of a software which is factored in components so that no one need know it all. You can get as deep or shallow in it as you need. If there’s something you need for some aspect of content management, it’s already there, you don’t have to create it from scratch, and you can do it in a way that’s consistent with a wide practice and review.