Skip to content

@plone/cmsui - Aurora CMSUI as a standalone app #3

Description

@tisto

PLIP (Plone Improvement Proposal)

Responsible Persons

Proposer: Víctor Fernández de Alba (@sneridagh)

Seconder: Piero Nicoli (@pnicolli)

Abstract

Seven will provide a detached RR7 app built on the basis of Seven itself. This app will be configured as a superset of the basic Seven configurations and ideally having a collection of add-ons that will provide the CMSUI features and routes for maximum flexibility.

Seven CMSUI will live in packages/cmsui folder in the monorepo.

Motivation

Having the CMSUI completelly detached from the public UI is a goal that we are following since long time ago. The fact on how nowadays modern frontend apps are architectured, and how they work, make a lot of sense that both public UI and CMSUI are kept separated both on their own app. The public UI is not as heavy in terms of features, since it only has to be rendered, and has to be very performant and be able to be deployed in the widest variety of scenarios. While the CMSUI keeps the big chunk of features and UI/UX rich interactions forcing the logic to be in there far more bigger than the public UI. The performance in that app is less important, since it is only used by far fewer people than the public UI.

Ultimatelly, it opens also a lot of possible scenarios for the CMSUI, where could be that could even not to be deployed to its own site, but in a desktop app or mobile app. In the same way, this can allow to integrate the CMSUI in any existing React app, by pulling it and instantiate it properly.

Assumptions

No assumptions.

Proposal & Implementation

This PLIP has been splitted in small tasks, you can find them as sub-issues. This will allow people to focus in different, independent tasks at the same time. Each task will have their own associated PR(s) and their discussions.

The summary:

The CMSUI will use a complete new set of components based on @plone/components1.

The CMSUI will be a RR7 app based on the foundations of Seven (packages/seven)2.

The add/edit form will have to improve some of the current problems that we have in Volto, isolating the updates in an efficient way using Jotai slices or alike.
The block editor will use the Block Model v3:

We should investigate the addition of the Slate implementation called [Plate](https://platejs.org)3. See child issue for more information.

Deliverables

  • @plone/cmsui app.
  • Documentation on how to use it, configure it and deploy it.

Risks

No risks.

Participants

Víctor Fernández de Alba (@sneridagh)

Important

This PLIP is for Plone's core developers and the subsequent issues are part of the organization of this project.
It is not intended for newbies or first time contributors.

Footnotes

  1. We will complete @plone/components as we implement Seven. ↩

  2. TBD: if we can have an unified pluggable and configurable app boilerplate. ↩

  3. https://github.com/plone/aurora/issues/5 ↩

Activity

  1. changed the title [-]Split Editor[/-] [+]`@plone/editor` - Volto Editor as a standalone package[/+] on Nov 25, 2024
  2. changed the title [-]`@plone/editor` - Volto Editor as a standalone package[/-] [+]`@plone/editor` - Volto CMSUI as a standalone package[/+] on Nov 25, 2024
  3. changed the title [-]`@plone/editor` - Volto CMSUI as a standalone package[/-] [+]`@plone/cmsui` - Volto CMSUI as a standalone package[/+] on Feb 2, 2025
  4. changed the title [-]`@plone/cmsui` - Volto CMSUI as a standalone package[/-] [+]`@plone/cmsui` - Volto CMSUI as a standalone app[/+] on Feb 2, 2025
  5. changed the title [-]`@plone/cmsui` - Volto CMSUI as a standalone app[/-] [+]`@plone/cmsui` - Seven CMSUI as a standalone app[/+] on Feb 2, 2025
  6. moved this to In Progress in Auroraon Feb 2, 2025
  7. linked a pull request that will close this issueQuanta CMSUI app #6797on Mar 2, 2025
  8. 25 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions