`@plone/contents` - Enhance Contents View
PLIP (Plone Improvement Proposal)
Responsible Persons
Proposer: Víctor Fernández de Alba (@sneridagh)
Seconder:
Abstract
Overhaul, and refactor the contents view. Move it to use own core package @plone/contents, so it's portable to other frameworks or platforms (electron, ionic, etc...) or even use it in Plone ClassicUI
It should address these issues:
- [ ] Use
react-aria-componentsfor better accessibility support - [x] https://github.com/plone/volto/issues/5620
- [ ] https://github.com/plone/volto/issues/5677 (partially solves
#5620) - [ ] https://github.com/plone/volto/issues/5617
- [ ] https://github.com/plone/volto/issues/5566
- [x] https://github.com/plone/volto/issues/5549
Motivation
The contents view is a key element for managing content and should have the best support and UX possible. In addition, we should improve it in order to make it a true mini-app detached from the "site frame", so the usability is better (see Quanta mocks).
https://www.figma.com/file/YpaRSKjFcFaAkVYnTSVGuz/Volto-UI-%E2%80%93-Quanta?type=design&node-id=1780-534&t=APRtPBwzIc5APzxL-4
Assumptions
No preconditions.
Proposal & Implementation
Refactor the contents view:
- Use own core package
@plone/contents - Use TypeScript
- Better slicing of components so they are easily shadowable
- Don't use SemanticUI on it, use
react-aria-components - Use
@plone/clientinstead of the Volto redux-based request API
Deliverables
Refactored Contents.jsx (and child components) using the Tanstack table library. Documentation on how to use it outside Volto
Risks
No risks.
Participants
@iFlameing Put your name here.
@sneridagh what's the status of this? Do we still plan to tackle this in Plone 6.1? Otherwise, I'd move it to 6.2 in our roadmap...
@iFlameing you've been working on this, right? What's the status?
@tisto nope, I think there will be not enough time for this in 6.1.
@sneridagh I moved this to Plone 6.2 in the roadmap, ok with you?
@tisto this is not going to happen in 6.1, that's for sure.
My doubt is if we should maintain several projects one for each "desirable" release. Are you aware and you take a look at: https://github.com/orgs/plone/projects/33 ?
I'd go for a milestone rather than use a project for the minor releases. Let's talk about it.