Panel: Future of Plone

published Oct 23, 2019, last modified Oct 24, 2019

Panel on the future of Plone at the Plone Conference 2019 in Ferrara.

Panel with Paul Roeland, Philip Bauer, Timo Stollenwerk, Asko Soukka, Kim Paulissen. Panel chaired by Tim Nguyen.

This panel is not about Plone 6, but about what happens after: what could be in Plone 7, without thinking about limits.

What would you like to see as the biggest changes in Plone 7?

  • Some sort of machine learning, for example to provide tags for all images. Important for accessibility. The same for giving keywords.
  • Scheduling that works. Press release to go out at 9.00 on Monday should not be visible even when you know the url, which is what happens now.
  • Reliable intelligent pasting from Word and email.
  • Get rid of lots of old cruft in Plone. Not have so many ways to do the same thing. No more browser views, because we have a REST API and front end.
  • Get rid of the server rendered interface. Move all Plone UI to the ZMI, for admins who know what they are doing.
  • Make it easy for users to customize things without knowing Python.
  • Get rid of ZODB, ZMI, pickles, GenericSetup.
  • More Python, not too many different technologies.
  • Make Plone friendlier for smaller websites. Custom easy themes.
  • A form editor that can easily be reused as schema editor. Export as json schemata, and the Python schemas.
  • Customization is really hard. We had Products.Gloworm a long time ago. Click on a part of the site, and it shows you where it comes from, and allows you to customize it. This would make the first step of customizing easier.

What are the main pain points you have with Plone today?

  • When you create a new content type, and you add it to your site, it does not show up in the navigation. We should fix this. It bothers me that no one created an issue for that. We have a smart community, but people think that things have been decided by a secret committee, and there must be a good reason for it, so they never question it. Usually decisions are made five minutes before a final release, so it may not be the best solution.
  • The byline: I don't want the author to show, and you can switch this off, but it always shows somewhere.
  • Language and date/time notation should not be linked.
  • Accessibility should be more enforceable.
  • The entire front end stack: that is why we wrote Volto.
  • Behaviors: how we structure behaviors is done differently in Guillotina. We have lots of layers of flexibility, which is good, but also too much. At some point we have to take a step back.
  • I hate our TinyMCE link dialog.
  • Sane key bindings please, like CTRL-Enter to save the page.

What makes you envious when you look at other systems?

  • I regularly use the web forms from Drupal. Immensely powerful and user friendly.
  • Castle CMS has content quality checks.
  • Doing migrations is hard, so I am envious about systems that don't care about their users. I am joking.
  • Speed of GatsbyJS
  • Stability of Guillotina
  • Quick-start documentation. Short screen casts.

How can we remain approachable for enthusiasts?

  • Django had a perfect introduction. We need people that grow up with Plone. Easy tools to get your content in and out: we have those ways, but can be improved and documented more clearly.
  • For beginners it is hard to install add-ons. Buildout is new to them. Installing add-ons in a live site would be helpful.
  • Our developer team got energy from using the latest front end technologies. Keep up with the pace.
  • The feeling of the Plone community is very good. We try to do that for React as well. Building a community is incredibly important. Plone can give this to the JavaScript communities.

What will our theming story be? Will everything need to be done through Volto, and where will that leave Diazo.

  • Technically you can still use Diazo. With or without Diazo, theming has basically taken the same amount of time. Diazo gets you in the right direction faster, but you still need to do more.
  • Keep things simple: don't create and maintain our own difficult tooling. Volto builds on React and Semantic UI, who did the heavy lifting.
  • Plone is a do-ocracy: do what you want, you can use and improve Diazo.
  • For non-programmers, Diazo is still hard.

When will Plone drop server side rendering?

  • We have server side rendering of JavaScript. But I guess the question means Page Templates.
  • Plone 6 will keep the classic UI fully functional, is the plan.
  • After that, we can decide what to do. We could reduce two thirds of our code if we drop it.
  • It hurt when we moved to Python 3, because it was a lot of code. Currently it does not really hurt. But we can propose to remove it.
  • For Plone 6 we can say that PLIPs do not need to have traditional Page Templates.

How much of the REST API would Django CMS need to implement before we can call it Plone?

  • If the API contract is implemented 100 percent, then I don't care whether it is Django or Plone.
  • 180 percent, because Plone is also add-ons. Or 240 percent, because Plone is also the community.
  • Guillotina could replace Plone eventually. Django is just really different, making it hard to match the API.

How will Plone run 30 percent of sites on the Internet. In other words, how would Plone recapture mind share?

  • I refuse to discuss marketing in a bigger group than two.
  • Be better at introducing new types of developers to Plone. One for Python developers, one for React developers, for tinkerers, for users, etcetera. Make it easier to get into, and to grow.
  • Have plone.io website where people can try out Plone, deploy small sites.
  • Reaction to Volto was overwhelmingly positive.
  • Creating custom content types is really important for a CMS now. If we can provide that in an easy way, that really helps. People create things of which I think: Why are you doing this, Plone does that out of the box.

If you have improvement ideas, please do not suffer in silence. Talk with people, create a PLIP issue.