18 Plone contributors met in Austria, renamed Classic UI to Blicca, advanced several PLIPs, improved tooling, accessibility, and documentation, discussed the future of Plone — and had a lot of fun!
From May 26 to 31, 2026, 18 Plone contributors gathered in Graßnitzberg, Spielfeld, Austria, for the ninth Buschenschanksprint. The first one took place back in 2010, and this year’s edition once again showed why meeting in person matters so much for the Plone community.
One of the core characteristics of the Buschenschanksprint is that it brings people together in one place for the whole week. We live and work together for as long as everyone wants, sometimes around the clock, interrupted only by the evening dinner program.
It was an amazing sprint. We worked on several hard-to-crack core topics that benefit enormously from focused in-person collaboration. We found a new name for Classic UI — Blicca — and made big progress on Blicca, Volto, and the nearly headless CMS Nick. We worked on different Plone Improvement Proposals (PLIPs), accessibility, tooling, documentation, demo sites, and experimental future-facing ideas.
It was great to see so many people with different backgrounds, knowledge, and opinions working closely together toward a common goal. We had numerous fruitful discussions. We had fun, laughed a lot, and sang a lot thanks to Philip, who brought his guitar.
And just as importantly, we grew closer as a community of friends and collaborators.
We, these were the following 18 participants, in alphabetical order:
Alessandro Pisa
Christine Baumgartner
Ciro Silvano
David Glick
Franco Pellegrini
Guido Stevens
Jens Klein
Johannes Raggam (organizer)
Maik Derstappen
Markus Hilbert
Mikel Larreategi
Paul Roeland
Peter Holzer
Peter Mathis
Philip Bauer
Rob Gietema
Roland Fasching
Thomas Lotze
With remote participants:
Astrid Beyers
Maurits van Rees
Steve Piercy
Sprint highlights
As always, the Buschenschanksprint took place on the Südsteirische Weinstraße, an area traditionally known for wine, especially white wine. It is sometimes boldly called the Tuscany of Austria — and while that may be a big claim, the surroundings really are beautiful.
The sprint location was the old wine estate of the List family. The house dates back to the late 1800s, and thanks to List Wein we had a week-long supply of excellent local wines.
The sprint actually started on Monday, when a few participants arrived early to prepare everything and enjoy some relaxed South Styrian evening conversations over a glass of wine.
Tuesday was arrival day, with new people reaching the nearby Spielfeld train station almost every hour. In the evening, we had a food truck serving tasty burgers, sponsored by Kombinat (Peter Mathis).
Over the following days, we held a daily standup at 10:00, streamed it to our Discord sprint channel, discussed topics, planned, hacked, reviewed, and merged.
On Thursday, we visited Steinhaus, a beautiful spot in Slovenia, about a 40-minute walk away. In the afternoon sun, under some apple trees, we had an encouraging “Future of Classic UI” discussion. That gave us all the certainty that Classic UI — now Blicca — will stay a valid and important user interface option for Plone, alongside Volto.
After that, we enjoyed roast pork, vegetables, and traditional Kaiserschmarrn. The whole experience was sponsored by syslab.com and the Plone Foundation.
On Saturday, we had a BBQ prepared perfectly on site by our grill master Roland, with many helping hands. Roland from cloud19 also sponsored several boxes of excellent beer from Melk in Lower Austria.
Jens and Christine from Klein und Partner brought a box of Budweiser — the original one — from the Czech Republic.
And of course, we visited Buschenschänken, hence the name of the sprint. We went to Muster Stubn and Buschenschank Neubauer, where we had cold plates and local wine. This is the original South Styrian experience and must never be missed at the Buschenschanksprint.
In the evenings, we closed the workday with lightning talks and then hung out together. Instead of karaoke, we sang along with Philip, who played guitar and had a huge repertoire of popular songs. That was a lot of fun!
But enough about food, wine, and singing — here is what we worked on.
Sprint topics
Plone Classic UI renaming
At the Buschenschanksprint we decided to rename Plone Classic UI to Blicca.
For the whole story read: Say hello to Blicca: Plone Classic UI has a new name
PLIP 3953: Start separating Blicca (Classic UI) code from the core
https://github.com/plone/Products.CMFPlone/issues/3953
Team: Thomas Lotze, Peter Holzer, Alessandro Pisa, Roland Fasching, Franco Pellegrini, Peter Mathis, Maik Derstappen
- Created separation pull requests for plone.app.content, plone.app.dexterity, plone.app.contenttypes, plone.app.registry, plone.app.users
- Finished plone.app.linkintegrity separation
- Finished plone.app.workflow separation
- Marked the packages plone.outputfilters and plone.app.theming as classic-ui-only packages, so they will not be separated/moved to plone.app.layout but kept as a dependency or as a "classic" add-on
PLIP 4115: Enhance timezone support in UI for plone.app.event based types
https://github.com/plone/Products.CMFPlone/issues/4115
Team: David Glick, Johannes Raggam
-
Add deserialization and serialization of event start and end timezone in plone.restapi. Start and end datetimes are still de- and serialized in UTC. https://github.com/plone/plone.restapi/pull/2018
-
Add timezone selector in Volto datetime widget.
https://github.com/plone/volto/pull/8304 -
Add timezone selector in Classic UI datetime widget. https://github.com/plone/plone.app.z3cform/pull/267
PLIP 2966: Implement deletion to a recycle bin that allows users to restore items
https://github.com/plone/Products.CMFPlone/issues/2966
Team: David Glick
-
Reviewed and merged work from Andrea Cecchi from the Bucharest sprint.
-
Generated a frontend for Seven. https://github.com/plone/volto/pull/8293
-
Created a new core add-on plone.recyclebin. This can also be used and tested with Plone < 6.3.
PLIP: Modernize pat-structure
PLIP document: https://github.com/plone/plone.classicui/issues/29
We used an agentic approach to reimplement the current feature set of pat-structure with Svelte in a new pattern called pat-filemanager.
https://github.com/plone/mockup/pull/1592
Team: Maik Derstappen, Peter Mathis, Johannes Raggam
- New features:
-
List sorting of the whole result set, not only the page.
-
Persistent reordering.
-
Drag&drop into folder or parent folder: select (multiple) items and move them to a folderish content.
-
Resumable multi-upload of files and even folders with drag&drop on current folder or subfolder,
-
Grid view (great for photos!)
-
And more.
-
Read more on the new file manager here: Meet "pat-filemanager" — a Plone Blicca successor to "pat-structure" folder contents
VPAT - Voluntary Product Accessibility Template
Team: Paul Roeland
We've received a request to update VPAT self-assessment (an a11y document that institutions often ask for). We can do it here, and/or establish more of a procedure where we keep a "running version" so that we don't start from scratch at each new version update.
-
There are now VPAT statements for Plone 6.2 (Volto and Classic) at https://plone.org/accessibility
-
The JSON representation of those is at https://github.com/plone/a11y-info
Nick improvements
Team: Rob Gietema
Rob was working on implementing a Blocks registry for Nick, the nearly headless CMS with plone.restapi compatibility. He also looked into a search/replace feature for content in Nick.
plone.api improvements
Team: Alessandro Pisa, David Glick
Cookieplone & friends
Team: Mikel Larreategi, Franco Pellegrini, Philip Bauer
Work was done on cookieplone-templates, mxdev, cookieplone and tui-forms, to provide a single project template that works for both Volto and Classic UI projects. The template uses mxdev to be able to configure development and editable checkouts, and also version overrides. We also documented this.
PRs:
- https://github.com/plone/documentation/pull/2088
- https://github.com/plone/cookieplone-templates/pull/400
- https://github.com/plone/cookieplone/pull/200
- https://github.com/collective/tui-forms/pull/27
- https://github.com/collective/tui-forms/pull/26
- https://github.com/mxstack/mxdev/pull/86
- https://github.com/mxstack/mxdev/pull/87
zc.buildout
Team: Mikel Larreategi
Mikel created a PR to allow python packages with just pyproject.toml (no setup.py) to work in buildout. That means you can use add-ons created with cookieplone in buildout-based projects.
https://github.com/buildout/buildout/pull/746
zpretty improvements
Team: Alessandro Pisa, Johannes Raggam
zpretty is part of the Plone meta QA pipeline for Blicca. Class attribute values were always formatted as one-line class attributes. This makes it hard to read and follow, especially if there are many classes on an element.
This PR avoids reformatting of class attribute values. The class attribute is sorted among the other attributes but the attribute value stays untouched. Manual formatting will survive a zpretty reformatting.
PR: https://github.com/collective/zpretty/pull/217
Blocks in Blicca
Team: Maik Derstappen
Experimental rendering of Volto blocks in Blicca. Implemented all core blocks and most VLT blocks.
Needs a running Volto instance for editing. In the future it would be great to update rendering to Volto blocks and also integrate the Plate editor including the Volto toolbar in Blicca. This way we can use the blocks in both worlds and bring the Blicca developers closer to Volto blocks. This will probably lead to Mosaic becoming deprecated at some point.
Demo Sites
Team: Mikel Larreategi, Philip Bauer, David Glick
- All demo sites now use the newest Plone (6.2.0) and Volto (19.x.x)
Mosaic documentation
Team: Mikel Larreategi, Peter Mathis
https://github.com/plone/plone.app.mosaic/pull/698
Updated to follow the Diátaxis framework and to create automatic screenshots with Playwright.
Awesome Plone update
Team: Philip Bauer
We added 13 new or newly discovered awesome add-ons to awesome-plone (https://github.com/collective/awesome-plone)
collective.richdescription
Team: Johannes Raggam, Mikel Larreategi
-
Merged https://github.com/collective/collective.richdescription/pull/7
-
PEP 420 Native namespaces: https://github.com/collective/collective.richdescription/pull/10
-
Release 4.0.0
Discussion and Experiments with alternative backend rendering approaches
Team: Maik Derstappen, Johannes Raggam
One big viewletmanager for the whole content area to allow add-ons to register snippets. Using one viewlet manager instead of multiple allows for easier moving viewlets to different positions. With multiple viewlet managers it's hard to move one viewlet to another place. The one-viewlet manager approach allows for reordering in markup via Generic Setup and reordering via CSS.
Portlets might still be useful and necessary. We now have docs on how to use the @@render-portlet view to reload via AJAX:
- https://github.com/plone/plone.app.portlets/pull/221
- https://github.com/plone/documentation/pull/2089
Other activities
Round table discussion on the future of Bli@render-portletca (back then Classic UI)
- Try to share components between Classic UI and Volto
- Use the new Plate editor in Classic UI (Mosaic replacement)
- Have a very basic shared base theme for both Classic, Volto (just design no framework)
- Use Quanta (or something what a designer makes) for the admin part for both classic and Volto
- Rename Classic UI since the name suggests it’s "old"
- Rename the Plone backend so it is less confusing what "Plone" is.
- Plone will be the brand name and we will have sub-names like "Plone Volto", "Plone ", "Plone Nick", "Plone "
Lightning talks 2026-05-27
collective.ajaxify
By Johannes Raggam
Demo of a collective.ajaxify which activates AJAX navigation in Plone, where only the necessary parts of a page are replaced by tiny, backend-rendered HTML snippets.
Native widgets
By Johannes Raggam
Demo on a <details> based navigation for the main menu and the toolbar.
Also a demo of a small, mostly CSS based Slider/Image gallery.
Use Case: Dokpool
By Philip Bauer
Demo of an application for the management of radiological emergencies which is used by Germany and Austria. Demo of the new GUI which will replace the old GUI this year. The GUI uses Patternslib and Bootstrap to manage a rather complex set of features.
https://github.com/OpenBfS/dokpool-plone/tree/gui
pat-filebrowser
By Maik Derstappen and Peter Mathis
Demonstration of the first prototype of pat-filebrowser, a reimplementation of the structure-pattern (/folder_contents)
Lightning talks 2026-05-29
Whats new in cookieplone?
By Philip Bauer
- now uses `uv sync`, not `uv pip install`, so it is many times faster and does not recreate the virtualenv when you change things
- `uvx cookieplone`
- pyproject.toml now has [tool.uv] managed=true
- uses repoplone for pinnings
- uses mxdev for checkouts and version-overrides (the overrides and sources are now written into pyproject.toml and used by uv)
- extension functionality coming soon
- plone.meta compatibility: no. plone.meta creates different files
Cloudbrine
By Jens Klein
Demo of the new PostgreSQL / jsonb based storage backend and reimplementation of the ZCatalog based on PostgreSQL jsonb indices.
Also a bunch of other cloud-native packages were introduced, among others a thumbor integration for image scales.
This is the list of packages in the cloudbrine stack:
- zope-pgjsonb
- zodb-json-codec
- zodb-s3blobs
- zodb-convert
- plone-pgcatalog
- plone-pgthumbor
- cloud-vinyl
- cdk8s-plone
- Registryfromenviron
Lightning talks 2026-05-30
-
Plone UX (doors, cycles and gulls)
By Ciro Silvano -
plone.palette
By Roland Fasching -
Extending cookieplone
By Mikel Larreategi -
pat-filemanager
By Maik Derstappen -
Volto Blocks in Blicca
By Maik Derstappen
Sponsorships
The sprint was funded by the Plone Foundation, so a big thanks for that! Also Syslab allowed me to contribute time to organize the sprint. But thanks also to Alex Pilz and the whole Syslab team, which I'm a proud member since 2019!
We got more sponsorships:
-
Kombinat sponsored the food truck on Tuesday, 26th. We got excellent burgers served.

-
Syslab and the Plone Foundation sponsored the dinner program at Pures Leben Steinhaus.
We had great discussions on the future of Plone Classic UI (later: Blicca) and Plone as a whole, and then a great dinner in beautiful scenery. -
Cloud19 sponsored some boxes of very good beer from a brewery from Melk/Lower Austria

-
Klein und Partner sponsored a box of Budweiser, directly from the Czech Republic, where Jens and Christine had just been before the sprint

All this allowed to reduce the costs per sprint participant. In the end it was below 60 € / day, all-inclusive! That contained accommodation (shared rooms, mostly), on-site catering, all dinners and drinks. I think, that's affordable! Still each participant also had to contribute their time. Traveling costs were also not covered.
Thanks to everyone being part of the Buschenschanksprint!
Photos
More here:
Conclusion
That's all! If you weren’t there, you missed out. But no worries, the next one will happen in 2 years, in 2028.






