David Glick: State of plone.restapi
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.