Hi again, I have been researching the Plone organization, especially Volto. My goal is to start contributing to the Volto project. Firstly, I want to ask the community members whether I am on the right learning path? So far, I have gone through the following:
The Plone API is a layer that we introduced in the code to make it easier for developers to do things using only one accepted way. In the past, Plone has often had more than one way to do something. The Plone API is intended to expose the one "best" way to do those things.
The REST API is the usual JSON mechanism for allowing external systems to communicate with Plone.
Your feedback is more than welcome! Last year we introduced a link on every training page for opening an issue. Opening an issue with a pointer to the training and the page of the training helps to address the trainers that authored the text.
Thanks in advance!
@avimishra18 Answer to your 2nd question:
Volto uses Razzle - a library which has out of the box features to build server rendered applications. Razzle has built-in HMR through webpack. Though we can customize it through razzle.config.js.
By default, it looks for folders inside src/** as modules and server reloads on changes. For backend you can use any of the provided buildout, or new pip based installation of Plone 6.
Ah, so does it means whenever I make changes in the theme/** folder, I need to restart the server.
I am using the Bootstrap the Plone API backend command i.e. docker run -it --rm --name=plone -p 8080:8080 -e SITE=Plone -e ADDONS="plone.restapi==8.18.0 plone.app.iterate==4.0.2 plone.rest==2.0.0a1 plone.app.vocabularies==4.3.0 plone.volto==3.1.0a7" -e PROFILES="plone.volto:default-homepage" plone/plone-backend