Weblog

published Nov 03, 2021 , last modified Nov 04, 2021

David Glick: State of plone.restapi

published Oct 15, 2025

Talk by David Glick at Plone Conference 2025 in Jyväskylä, Finland.

[Missed the first part.]

Vision: plone.restapi aims to provide a complete, stable, documented, extensible, language-agnostic API for the Plone CMS.

New services

  • @site: global site settings. These are overall, public settings that are needed on all pages and that don't change per context.
  • @login: choose between multiple login provider.
  • @navroot: contextual data from the navigation root of the current context.
  • @inherit: contextual data from any behavior. It looks for the closest parent that has this behavior defined, and gets this data.

Dynamic teaser blocks: you can choose to customize the teaser content. So the teaser links to the item you have selected, but if you want, you can change the title and other fields.

Roadmap:

  • Don't break it.
  • 10.0 release for Plone 6.2: remove setuptools namespace.
  • Continue to support migration path from older versions: use an old plone.restapi version on an old Plone version to export it, and being able to import this to the latest versions.
  • Recycle bin (work in progress): a lot of the work from Rohan is in Classic UI, but he is working on the restapi as well.

Wishlist, no one is working on this, but would be good to have:

  • @permissions endpoint
  • @catalog endpoint
  • missing control panel
  • folder type constraints
  • Any time that you find yourself going to the Classic UI to do something, that is a sign something is missing.
  • Some changes to relative paths to fix some use cases
  • Machine readable specifications for OpenAPI, MCP
  • New forms backend
  • Bulk operations
  • Streaming API
  • External functional test suite, that you could also run against e.g. guillotina or Nick to see if it works there as well.
  • Time travel: be able to see the state of the database from some time ago. The ZODB has some options here.

Fred van Dijk: Behind the screens: the state and direction of Plone community IT

published Oct 15, 2025

Talk by Fred van Dijk at Plone Conference 2025 in Jyväskylä, Finland.

This is a talk I did not want to give.

I am team lead of the Plone Admin team, and work at kitconcept.

The current state: see the keynotes, lots happening on the frontend. Good.

The current state of our IT: very troubling and daunting.

This is not a 'blame game'. But focussing on resources and people this conference should be a first priority. We are a real volunteer organisation, nobody is pushing anybody around. That is a strength, but also a weakness. We also see that in the Admin team.

The Admin team is 4 senior Plonistas as allround admin, 2 release managers, 2 CI/CD experts. 3 former board members, everyone overburdened with work. We had all kinds of plans for this year, but we have mostly been putting out fires.

We are a volunteer organisation, and don't have a big company behind us that can throw money at the problems. Strength and weakness. In all society it is a problem that volunteers are decreasing.

Root causes:

  • We failed to scale down in time in our IT landscape and usage.
  • We have no clean role descriptions, team descriptions, we can't ask a minimum effort per week or month.
  • The trend is more communication channels, platforms to join and promote yourself, apps to use.

Overview of what have have to keep running as admin team:

  • Support main development process: github, CI/CD, Jenkins main and runners, dist.plone.org.
  • Main communication, documentation: pone.org, docs.plone.org, training.plone.org, conf and country sites, Matomo.
  • Community office automation: Google docds, workspacae, Quaive, Signal, Slack
  • Broader: Discourse and Discord

The first two are really needed, the second we already have some problems with.

Some services are self hosted, but also a lot of SAAS services/platforms. In all, it is quite a bit.

The Admin team does not officially support all of these, but it does provide fallback support. It is too much for the current team.

There are plans for what we can improve in the short term. Thank you to a lot of people that I have already talked to about this. 3 areas: GitHub setup and config, Google Workspace, user management.

On GitHub we have a sponsored OSS plan. So we have extra features for free, but it not enough by far. User management: hard to get people out. You can't contact your members directly. E-mail has been removed, for privacy. Features get added on GitHub, and no complete changelog.

Challenge on GitHub: we have public repositories, but we also have our deployments in there. Only really secure would be private repositories, otherwise the danger is that credentials or secret could get stolen. Every developer with access becomes an attack vector. Auditing is available for only 6 months. A simple question like: who has been active for the last 2 years? No, can't do.

Some actionable items on GitHub:

  • We will separate the contributor agreement check from the organisation membership. We create a hidden team for those who signed, and use that in the check.
  • Cleanup users, use Contributors team, Developers
  • Active members: check who has contributed the last years.
  • There have been security incidents. Someone accidentally removed a few repositories. Someone's account got hacked, luckily discovered within a few hours, and some actions had already been taken.
  • More fine grained teams to control repository access.
  • Use of GitHub Discussions for some central communication of changes.
  • Use project management better.
  • The elephant in the room that we have practice on this year, and ongoing: the Collective organisation. This was free for all, very nice, but the development world is not a nice and safe place anymore. So we already needed to lock down some things there.
  • Keep deployments and the secrets all out of GitHub, so no secrets can be stolen.

Google Workspace:

  • We are dependent on this.
  • No user management. Admins have had access because they were on the board, but they kept access after leaving the board. So remove most inactive users.
  • Spam and moderation issues
  • We could move to Google docs for all kinds of things. Use Google workspace drives for all things. But the Drive UI is a mess, so docs can be in your personal account without you realizing it.

User management:

  • We need separate standalone user management, but implementation is not clear.
  • We cannot contact our members one on one.

Oh yes, Plone websites:

  • upgrade plone.org
  • self preservation: I know what needs to be done, and can do it, but have no time, focusing on the previous points instead.

Timo Stollenwerk: State of Plone

published Oct 15, 2025

Keynote talk by Timo Stollenwerk at Plone Conference 2025 in Jyväskylä, Finland.

I make bad life choices. Years ago, for my first web programming language I picked PHP. I created my own CMS, of course. I skipped the cryptocurrencies long time ago, so today I am not rich.

I saw a job offer on the wall: "Help wanted". That was for Plone, which I did not know, but if someone wanted to pay me for learning it: cool.

I learned that architecture is important. I wrote a database application, but it become unmaintainable by all the spagghetti code and missing architecture. Same in lots of CMSes. But in Plone I saw architecture. Not everything was good by today's standards, but there was an idea behind it.

JavaScript become popular. Plone had KSS before jQuery even was created. But I was skeptic. That may be surprising when you know my role in Volto today.

Around the Barcelona Plone conference in 2017, Ramon approached me and was totally enthousiasic about AI, or I prefer to call it machine learning. Again, I was skeptic. I read three books about AI, but only to proof him wrong. The Plone community attracts smart and innovative people. I don't need to have FOMO, fear of missing out. We were talking about AI before it got hip. There are plans for an MCP to let an AI agent interact with Plone, for example creating news items.

Main competitors for Plone are Drupal, Typo3, other open source CMSes. Usually the UI is outdated, using old technology. Plone is the only open source CMS with a modern JavaScript stack. You have Wordpress, but that is not truly open source, look at the fight between two big Wordpress companies. Others have gotten modern, but their community is split.

Plone 6.2 will be released end of 2025, beginning 2026. No revolution, small improvements. In Volto: restore unsaved content, improve image upload widget, relative path support, blocks control panel (how many blocks of which type are in my site?) And one last important thing in the Python backend: move to native namespaces. That is a needed improvement because of changes in the Python packaging ecosystem.

Plone 6.3 is for end of 2026. Again small improvements. Improved and renamed Listing/Search block variants, improving link widget, keyword manager, recycle bin.

Plone 6.x: peace of mind. We offer 5 years of security support for all Plone 6.x minor versions. We might extend that, depending on when Plone 7 is released.

Plone 7 will be innovation. Expected in 2027.

  • It will be a lot faster. Main problem in performance measurements is the bundle size. How? Static site generators? Wait, why did I not hear about those the past years? Reason: javascript frameworks have gotten so fast that static site generators are basically not needed anymore. We will use those techniques.
  • We will use React Router 7.
  • Plone will be more flexible, component based, so you can build your own UI.
  • We will remove Semantic UI, and switch to react-aria. This is for accessibility, especially in the editor interface.

Can we do this in small steps? Unfortunately not. We modernize the frontend. Volto was created in 2017 ,following best practices then. Now it needs an update. The codename for that is: Seven. We did 5 code sprints this year, working on this, and others. See the pictures with the people who were there. Do you see someone on all five photos? Victor Fernandez d'Alba and Piero Nicolli. They are leading this effort.

Improved editing experience. With Block model 3 we improve the wysiwyg experience: there is almost no change when you view a page and then start editing it. This model also helps a lot when you want to have an own design system.

Plone: between stability and innovation.

Plone overview

published Feb 11, 2025

Lightning talk at Alpine City Sprint 2025

Plone is:

  • a CMS
    • create content: pages, folders, images
    • workflow: keep private or make public
    • share with other users/groups: allow to edit or view
  • a community:
    • Plone Foundation
    • companies, large institutions, individuals
    • teams: release, security, marketing, etc
    • conferences
  • a process:
    • PLIPs: PLone Improvement Proposals
    • Pull requests: reviews, tests
    • Sprints: week of planning and coding
    • Release schedule

Backend:

  • written in Python
  • build on Zope
  • data stored in object database
  • add-ons: adapt and extend

Two frontends:

  • Classic UI:
    • integrated in backend
    • html rendered in Python
    • plus CSS / JS  (Bootstrap 5)
  • Volto:

Challenges

  • Adopt Python best practices
  • Adopt latest Javascript/Node improvements
  • Be interesting and maintainable
  • Keep inventing nice stuff!

Links

Lightning talks Friday

published Nov 29, 2024

Lightning talks on Friday at Plone Conference 2024 in Brasilia.

Bonnie Tyler Sprint

On 12 August 2026 there is a total solar eclipse that can be seen from Valencia, Spain. So we organise a sprint there.

This conference

We had 291 participants, 234 in person and 57 online. 13 Brazilian states (that is all of them), 14 countries.

24.5 percent women, was 13% in 2013, so that has gone up, but we are not there yet. Thank you to PyLadies and Django Girls for making this happen.

We had more than 80 presenters, about 30 lightning talks, lots of talk in the hall ways.

Thanks also to the team!

Ramiro Luz: Yoga time

Yoga exercise.

Rikupekka: University case student portal

We have a student portal at the university. But mostly:

Welcome to Jyväskylä university in Finald for Plone conference 2025, October 13-19!

Jakob: Beethovensprint

26-30 mei 2025 in Bonn, Duitsland.

Afterwards, on May 30 and June 1 there will be FedCon in Bonn, a SciFi convention.

Piero/Victor: BYOUI

Add-ons first development with @plone/registry. See https://plone-registry.readthedocs.io/

It allows for development that is framework agnostic, so it is not only for Plone. It is around configuration that can be extended and injected, which is tricky in most javascript frameworks.

Imagine it.

Ana Dulce: 3D printing

For a difficult model I had trust the process, it took a week, but it worked.

Renan & Iza: Python Brasil

We organised the Python Brasil conference from 16 to 23 October this year in Rio de Janeiro.

Next year 21-27 October in São Paulo.

Erico: Python Cerrado

31 July to 2 August 2025 is the next Python Cerrado conference.