ZODB has served the Zope and Plone community for over two decades. But its storage model — opaque pickle blobs and BTree-based catalog indexes — hasn't aged well. You can't query your data with SQL. You can't inspect object state without unpickling. And the catalog is a black box that lives inside the very database it indexes.

Time to change that. Four modules, one mission — get ZODB out of the pickle jar.

https://community.plone.org/t/zodb-out-of-the-pickle-jar/22832

#zope #plone #python #rust #pyo3 #postgres #jsonb #zodb

ZODB out of the pickle jar

A long time ago in a galaxy far, far away It is a period of agentic coding in the FOSS galaxy. Chats with AI are abused to produce flooding AI slop. Striking from a cluster of senior developers hidden between the billion slop-coders of the big corp, agentic craftsmen of the FOSS community won the first victory in a battle with the powerful floodings of the outside fleet of coders. The big corp fears that another contribution could bring a thousand more free software projects into the agentic ...

Plone Community

It was a fun combo-conference in Finland recently! PloneConf and PyCon Finland 👏

Released by CultRepo in August 2025, watch the documentary for free on YouTube 🎬 https://www.youtube.com/watch?v=GfH4QL4VqJ0

#opensource #python #guidovanrossum #zope #historyofplone #historyofpython #historyofzope #pauleveritt #jimfulton #digitalcreations #zoteroplone

@benignbala @ubind @ubuntu @soumyadghosh @artfulsodger says the idea of Lanuchpad being open source is to allow people to self-host it. #Launchpad is on #Zope!! #UbuConIndia2025
I asked ChatGPT to perform a deep analysis on the #Zope and #Plone architecture, the technological changes etc...this is the bottom line...and the details about internals about the ZODB, ZCatalog etc. are *completely* true...no halluzinations.

Vienna poetry school - first Perl based CMS in 1997, Zope ZClasses in 2001, I'm maintaining it since 2002, Plone 4 in 2010. Relaunch planning started in 2018 and after some attempts and different approaches, after 16 years of its Plone 4 Relaunch and more than 30 since sfd was founded I relaunched it today using Plone 6.1, ClassicUI, fully ajaxified.
I'm happy.

https://sfd.at

#Plone #Zope schule für dichtung

intro - Site

#Zope wydało nowe wersje paczek, usuwając przestrzenie nazw typu pkg-resources.

Całkowicie normalny sposób aktualizacji paczek w #Gentoo:

1. Na początek, zachowaj oryginalne obejście na testy (tworzenie własnego `__init__.py`).
2. Zauważ, że kolejna paczka się sypie, bo testy oczekują ścieżek względem podkatalogu `zope`. Pomiń ją na razie.
3. Przy następnej paczce uświadom sobie, że zamiast powyższego obejścia możesz po prostu wejść do podkatalogu `zope`. Wróć się i zaktualizuj poprzednie paczki, włącznie z tą, która się sypała.
4. Z powrotem do aktualizacji. Przy następnej paczce zauważ, że już wcześniej miałeś lepsze rozwiązanie: zamiast `cd` było `python -m unittest -s …`. No więc z powrotem, i znów wszystkie paczki na to jedno rozwiązania.
5. No i dalsze paczki. Przy kolejnej okazuje się, że ta jednak oczekuje ścieżek względem głównego katalogu site-packages… No dobra, zrobimy hybrydę `__init__.py` z `python -m unitest -s …`.

#Python

So #Zope released new versions of their packages, with pkg-resources style namespace removal.

Totally normal way to do the bumps:

1. At first, keep the existing testing hack (writing `__init__.py`).
2. Notice that the next package fails because it expects test paths relative to `zope` subdirectory. Skip it for now.
3. While doing the next package, realize you could remove that hack and simply run tests within the `zope` subdirectory! Go back and update all the previous packages, including the one that failed before.
4. Back to bumping. Notice that in the very next package you've had an even better solution: instead of `cd`, you just called `python -m unittest -s …`. Go back and update all the previous packages.
5. Back to bumping. The very next package turns out to actually expects test paths relative to the top-level site-packages directory. Well, you can use a hybrid of the `__init__.py` hack with `python -m unittest -s …`.

#Gentoo #Python