Weblog

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

Lightning talks Friday

published Sep 25, 2026

Lightning talks on Friday at the Plone Conference 2026

Rikupekka: Photo competetion winner

Jeremy H and Benoit Leybaeart, both 18 points. Benoit wins, as he got more Plone emojis.

Mikel: open source chess

https://lichess.org is online open source platform for chess. You can learn, you can play, you can practice, watch online broadcasts. They publish data about games, analysis: https://database.lichess.org

The code is online: https://github.com/lichess-org/

Armin: social media videos

Add stickers to pencils, and you can easily create social media videos. Or use chop sticks, move them around.

Jakob: Mofabande

Mofabande = Moped gang = Bromfietsbende The singer is from the Black Veg restaurant, in Bonn. We will visit that at Beethovensprint next year, 10-14 May 2027. Star Trek convention the weekend after.

Alex: Beyond the AI chat window

From chatbot to support system.

Chat, ask questions in ChatGPT or so window. Workspace, VS Code plus CoPilot, control stayed with me. I can teach it models, organize my knowledge, influence instructions.

But context explosion: coding rules, domain knowledge, project context. Symptoms: rate limits, slow answers, out of tokens, etc.

Solution: memory instead of context. This led me to Obsidian and SecondBrain. Not all knowledge belongs in every prompt. Sub agents: you can delegate. https://omo.dev if you want to go further.

Alec and Alin: Bucharest sprint

Video about Romania. Romania has great food, art, nice office, a tennis table, a dog, a greate city. We have Fred, Rob, other greate people. 12-16 April 2027: Bucharest sprint in the Eau de Web office.

Oh yes: Plone Conference Romania, September-October 2027. So come in March and leave in October.

Torben: AI cannot sign a contributor agreement

Do we have a policy for AI generated code in Plone core? Plone should have this already three months ago. There is a document, but not published yet.

Disclose it, say that AI helped, and how, which tool. Take responsibility: I am the sole copyright owner of the work. Understand it, only submit if you get it. You signed it. Review it first: no unreviewed AI outputs in PRs, issues, etc.

Jakob: I love free software day

Eery year 14th of February. This year we took part at it. In Bonn we moved it to the 21st, as 14th there are crazy many people. We had talks about open code, snacks, lightning talks, a quiz, postcards were written to thank open source contributors. Get involved. Check if your town has a Free Software Foundation or related organisation that organizes something, or do it yourself. Help with logistics, give talks, spread the word of Plone.

Jens Klein: Alpine City Sprint 2027

I told this yesterday already, but now with slides. This sprint will happen in 11-15 January 2027, just outside of Innsbruck, Austria. You can also go skiing. See https://alpinecity.tirol

BeardMan (yellow): Lightning show

We did karaoke with the whole group, singing Africa from Toto.

Martin Peeters: Plone Foundation Membership

If you have done Plone for years, attending conferences, or want to show the world that you care, you can go to plone.org and fill your application.

We have Plone Volto, Plone Aurora, Plone Blicca, Plone Nick, a Plone package. Con be confusing. Think about how we want to brand Plone. Let's have more impact.

Fred/Erico: pas-plugins-identity

We needed for Plone Foundation websites a way to have members as content (like Membrane) and also server authentication. You can sign in on https://id.plone.org You can search for other Plone members in your country. Let's try it out.

Code: https://github.com/collective/pas-plugins-identity/

Armin: Intellectual property rights and AI

We founded our company in 2042, created a time machine in 2084, and went back in time to cool conferences to tell about intellectual property rights. If you want your work to not be affected by AI, only let it work on your words, and improve them. Keep the original stuff, let AI enhance metadata. We need Python/Javascript packages to show what AI has done. We can do this with Plone, let's make it.

Guido: The conference

Sprints tomorrow in the Brandweerkazerne.

We prepared the conference, but you made the conference by coming here. Thank you.

It wouldn't have been possible without a lot of people helping. Thank you.

Timo Stollenwerk: How a contributor-led open-source platform decides what it becomes — Plone roadmap and AI, in public

published Sep 25, 2026

Presentation during the business track at the Plone Conference 2026

Choosing the right system is hard. There are no easy solutions. Where does the platform go after you have signed the deal? There is no free lunch and no risk free project. It is about mitigating and lowering the risks.

Biggest risk: single-vendor lock.

Then there are geopolitical and jurisdictional risk. The Brazilian government is using Plone a lot, so you have a choice. Own your digital future. That is a theme of this conference.

You can choose between closed and open source solutions. Everyone here will agree that open source is the better choice. Careful: there is a difference between open source versus free and open source. Vendor open source versus real open source: some solutions are driven by a single vendor, in other cases it is multiple vendors. Then there are vendors that contribute versus freeriders.

Some CMS systems have a paid add-on system, others a free ecosystem. Do you build or do you buy? Do you want your skills in-house or are you fine with hiring an external company. This is not black and white. Third option between buy or build: join.

How do open source communities work? How do we make decisions? Plone has a board of directors, we have release managers, teams, a steering circle meeting regularly where teams report and synchronize.

We have a Roadmap Team. How do we get our roadmap? We have the PLIP process: PLone Improvement Proposal. A PLIP is just an issue in a ticket system. Anyone can submit a PLIP. Create a new issue in the issue tracker and select the PLIP category. When working on it, you do need to sign a contributor agreement, for legal requirements.

Plone is a do-ocracy. If you make a proposal, you should also have a willingness to work on it. But you can get others involved, and it is also open for non-coders.

"The ladder": before working on a PLIP, start with small contributions, so you get to know how Plone and the community work.

How do you get from a PLIP to a roadmap? Let's focus for this day on an AI roadmap. There are different opinions here.

Look at PLIP 4213: Plone Model Context Protocol Server. This gets discussed. Should this be in core or an add-on? Should it be in JavaScript or Python or something else? Sometimes we would say: first make it work, maybe others make a different variant, try out alternatives, see what works in practice.

So we have a do-ocracy with a transparent process. We have a few formal quality gates. The Framework Team can make a final decision if needed when the discussion is heated. In reality this is not so much needed.

The AI roadmap is nothing more than a project on GitHub. We take those PLIPs, and at the Plone Conference one of the release managers presents the plans. Around or after the conference the roadmap team talks with each other. Teams like Blicca, Volto, and Marketing can get involved to get perspective.

Plone has 25 years of experience and track record and counting. Plone and the Plone community won't go away. Plone is multi-vendor and real open source. We have the Plone Foundation, really important, a solid legal foundation. Younger projects often have lots of enthousiasm, but not these legal guard rails.

If you build: we have a community you can join. If you choose to buy: we have a community recognition program.

Open source communities have to learn and adapt. There should be a contract or quality standard for all open source projects. Do they have a legal foundation? How long do they exist? If we want the wider people to adopt open source, we have to make it easier for them to make the right choices. This goes beyond the Plone community.

Johannes Raggam: How Blicca came to be: Renaming Classic UI

published Sep 25, 2026

Presentation at Plone Conference 2026

We had the Buschenschanksprint this year in Austria. We had an identity crisis there. What are the plans for Classic UI? What do we want? Who are we?

So we talked about the future of Classic UI. This gave us a lot of motivation and vision again. Outcome: Classic UI will stay. But: the name cannot stay. It sounded too obsolete, so it should be changed.

We had a naming discussion and let AIs basically have a podcast between themselves about the process of which name we should take.

Zope was named after a real fish. So we wanted something in the fish category.

The result is Blicca.

Once the video of this talk is live on YouTube, you should listen to this surreal podcast, while watching pictures of the sprint.

Mikel Larreategi and Lur Ibargutxi: Why We Rebuilt the Wheel: cs_dynamicpages and the Case for Behavior-Driven Classic Layouts

published Sep 25, 2026

Presentation at the Plone Conference 2026

Why did we create yet another page composition add-on? Modern design needs: customers provided Figma designs based on modular blocks.

Comparison with existing add-ons:

  • Mosaic: layout templates, tiles, and custom tiles; complex layout engine, content is not native Plone content
  • collective.contentsections: content-tree based; proliferation of distinct portal_types
  • cs_dynamicpages: 1 container plus 1 row type, behavior driven, with native views.

We have a simple setup: just change the display view. By default it works on Site root, Folders, Language root folders. You can control it via behaviors.

Default row types are in these categories: content, hero, grids/listings, structure/UI.

We give content insight and usage tracking via a control panel. Which row types are being used across the site?

We have some editor tools, like a clear cache button, to clear the (Varnish) cache for the page, when you have edited contents, but it is not showing up yet.

Every Row and Featured item ("column") has a standard Plone workflow. Rows and items are removed from the Plone sitemap and listings. All text is indexed in the main page (Folder).

You can save any configured DynamicPageFolder layout as a named template.

You can define new row types, with as basis for the data (fields) a standard schema.

Future:

  • Maybe single content-type, call everything a block
  • simplify workflow, private/published may be enough
  • specific permissions for templates and fields

Code: https://github.com/codesyntax/cs_dynamicpages

Maik Derstappen: When Blicca and Aurora meet to have fun — sharing blocks across Plone's two UI's

published Sep 25, 2026

Presentation at Plone Conference 2026

We have had lots of ways to make pages consisting of multiple sub parts. We had BernArticle, ATMediaPage, PortletPage, ContentPanels, Collage, Cover, Mosaic, ContentSections. The smaller parts were content items in a tree, views, portlets, or tiles. In Aurora, the page is one Plate.js tree.

So either you have separate objects, which can also be handled individually, also having workflows. Or you have Documents, with full, more fluid editing, but the contents are opaque to Plone, just a bunch of html or json.

Currently, between Blicca and Aurora/Volto, nothing is shared. We can change that.

The idea: you have an Aurora block, so just the data, defined in one way, and use that on both sides. On the Aurora side you have a view in React, use the Aurora editor (JS) and store it in the blocks/blocks_layout fiels. On the Blicca side, the view is a Python renderer as one small extra layer, the same editor but using the Blicca content browser instead of the Aurora object browser, and storage is identical, in those two fields. So both UIs use Aurora blocks, and the same Aurora editor. Blicca adds a small Python rendering layer. Same JSON, same block types.

For each block, the Python side would check the block type and look up a view for it.

Sharing is caring. Build a block once, and use it in both UIs. Blicca-first blocks publish their JS to npm; Aurora-first blocks get a thin Python wrapper. That is the goal, so a block should always be available on both PyPI and npmjs.com.

DEMO.