plone / volto

React-based frontend for the Plone Content Management System
https://demo.plone.org/
MIT License
475 stars 643 forks source link

Refocus normal Volto project development towards addons #1599

Closed tiberiuichim closed 10 months ago

tiberiuichim commented 4 years ago

In Plone we're used to having complete websites developed as Plone addons. The theme, customizations, content types, etc, are all centralized in one or more addons. This makes it easy to keep the whole software stack up to date, upgrading between Plone versions, etc, because the "website" is just an addon.

In Volto the "website" is a complete software stack. Look at the https://github.com/plone/volto-starter-kit/ to see the minimal default configuration. On top of this, we keep adding and we're also enhancing it as we go along. This becomes hard to maintain: whenever something new and nice happens in Volto master, we have to go back and somehow trace whatever needs to be updated. It's not easy to just generate a new Volto project and bolt whatever custom stuff the website needs, on top of it.

So: I'm arguing that perhaps we should recommend that new Volto websites be developed as much as possible as a Volto addon. With the exception of the theme (which is not incompatible with an addon, actually), there's nothing today (or in the near future) that a Volto project can do that an addon can't do.

tiberiuichim commented 4 years ago

The scenario I wrote about in this ticket is currently a reality: I have a project that runs on Volto 8 with a "main addon". That addon loads and declares a theme, it can use razzle.extend.js to add new razzle plugins and configuration, etc. https://github.com/eea/volto-bise/

ichim-david commented 10 months ago

Today this vision is the reality