Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PLIP: Ship Plone with Volto #2703

Closed
tisto opened this issue Jan 27, 2019 · 14 comments
Closed

PLIP: Ship Plone with Volto #2703

tisto opened this issue Jan 27, 2019 · 14 comments

Comments

@tisto
Copy link
Member

tisto commented Jan 27, 2019

PLIP (Plone Improvement Proposal)

Ship the next major version of Plone with Volto (aka Plone-React)

Responsible Persons

  • Timo Stollenwerk
  • Victor Fernandez de Alba
  • Rob Gietema

Proposer:

  • Timo Stollenwerk

Seconder:

  • Victor Fernandez de Alba

Abstract

Volto is considered stable and provides the basic Plone functionality on top of a modern, mature, and future-proof JavaScript framework. We released Volto 1.0.0 in September 2018 and we are using it in production on multiple sites since then.

Motivation

There was a major paradigm change in web technology in recent years where more and more functionality moved from backend systems to the frontend. The emerging frontend libraries stabilized a lot in the past three years and React specifically has been one of the most stable frameworks out there.

Assumptions

We sincerely believe that in order to keep Plone relevant in the CMS market, we have to move to a modern platform. We need to attract new open source developers and JavaScript is the language that has the biggest traction in the web industry right now. ReactJS is one of the (if not the) most popular frameworks and it has proven its stability and maturity in the last few years.

Proposal & Implementation

Ship Plone with Volto as the default frontend in the next major version.

Deliverables

  • Volto Documentation
  • Volto Training (done)
  • Update Plone core docs and include Volto
  • Polish the integrator story

Risks

  • Volto does not gain enough traction in the Plone community. If that happens, it would be easy to revert the decision and keep things as they are. Volto will just be shipped with Plone and people are free to keep using the traditional Plone UI if they prefer to.

Participants

  • Timo Stollenwerk
  • Victor Fernandez de Alba
  • Rob Gietema
@tisto tisto changed the title Ship Plone with Volto PLIP: Ship Plone with Volto Feb 12, 2019
@tisto tisto added this to the Plone 6.0 milestone Feb 12, 2019
@tisto
Copy link
Member Author

tisto commented Feb 12, 2019

@plone/framework-team please review and give feedback.

@frapell
Copy link
Member

frapell commented Feb 12, 2019

Huge +1 from me

@tisto
Copy link
Member Author

tisto commented Mar 12, 2019

At the last FWT meeting, we voted for this PLIP. Though, we did not finalize the vote because we were not complete. @frapell @ebrehault @gforcada would you mind submitting your vote for the next FWT meeting? :)

@htgoebel
Copy link

I'm heavily against making a front-end which requires Javascript the default or even mandatory.

For valid security reasons, many user have disabled Javascript: One never knows what code the server delivers and the code might threaten my privacy or even be hostile. Also this is contrary to what e.g. bootstrap 5 is doing: reduce the dependency on JS and use more modern CSS features.

@jensens
Copy link
Member

jensens commented Mar 26, 2019

@htgoebel we will have both, so it upon you what to use, classic or Volto. In high security scenarios classic is still there. But today the web w/o JS? Seriously, I doubt Plone will survive w/o adopting modern web.

@tisto
Copy link
Member Author

tisto commented Mar 27, 2019

@htgoebel Volto uses Server Side Rendering to pre-render the JavaScript on the server. A user in the browser with JS disabled will still be able to see the contents of a website, just like with the classic Plone UI. Therefore, there will be no difference in the use case you describe.

@tisto
Copy link
Member Author

tisto commented May 25, 2019

The Plone Framework team approved this PLIP in March 2019: https://community.plone.org/t/fwt-meeting-protocol-2019-03-19/8241

@jensens
Copy link
Member

jensens commented Nov 7, 2019

License legal problems needs to be solved before merge.

Fact:
According to Plone Framework Components Relicensing Policy all Plone core code needs to be GPL unless the board relicenses it on request to a BSD 3-clause license.

This Foundation Policy Resolution is from 2009 and may not reflect the current needs. Anyway, with the current resolution Volto with its with MIT License can not be merged into Plone core.

@tisto
Copy link
Member Author

tisto commented Nov 11, 2019

@polyester we discussed this when renaming plone-react to Volto, right? Did we decide on MIT or BSD?

@polyester
Copy link
Member

We need to update that policy. MIT is the prevailing license in the javascript world, so that would be preferable. @jensens shall we bring a proposal in the next Board meeting?

@jensens
Copy link
Member

jensens commented Nov 11, 2019

@polyester yes, we need to discuss it and we may end in updating our current policy.

@tisto
Copy link
Member Author

tisto commented Feb 21, 2020

@polyester @jensens any update on the licensing policy? We got quite a few contributors by now and changing the license might become harder the longer we wait.

@jensens
Copy link
Member

jensens commented Feb 21, 2020

@tisto we already discussed this the 2019-11-21 Board Meeting, see Meeting Minutes

We are in the process to probably allow MIT licence for all JS code. Sorry, this takes longer than expected. I'll add this again to the agenda to push it forward.

@tisto tisto closed this as completed Aug 15, 2020
@tisto tisto reopened this Aug 15, 2020
@ale-rt
Copy link
Member

ale-rt commented Mar 30, 2022

@tisto this can be closed because in Plone we are already shipping volto, right?
CC @plone/volto-team

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Merged
Development

No branches or pull requests

6 participants