-
-
Notifications
You must be signed in to change notification settings - Fork 741
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
Backend takes time to start #6157
Comments
@wesleybl read on from this comment #6110 (review) for alternatives. You can either use buildout or generate the latest Plone backend snapshot from the cookiecutter. |
@stevepiercy @davisagli Volto is very dependent on Plone. I think it would be important to have a script to "install Plone quickly" in the Volto repository. Saying "use cookiecutter or use buildout" may be common for experienced developers but can be a hindrance for beginner developers or those who don't know Plone but want to help with Volto. Is there any documentation on "How to install Plone for the Volto core"? Another point is that the Volto CI does not always use the same versions as a Vanilla Plone. For example, a more actual version of |
@stevepiercy In this documentation, the command to start the backend is exactly the command I'm talking about in this issue:
Another problem with this command is that the data is not persisted. If we start the backend, stop it and then start it again, the data created is no longer there. |
@wesleybl I don't have an answer for you, but I put this on the agenda for next week's @plone/volto-team meeting to discuss and get back to you. Alternatively, you could post to the Community Forum to ask for an answer. |
Possibly related issue: https://community.plone.org/t/troubleshooting-volto-setup-frontend-configuration-issue/19656 |
@plone/volto-team it appears our documentation of Develop Volto core is broken. Can someone please help out? I have not verified the issue, and I wouldn't know what to do if I did. |
@wesleybl this is true regarding the persistence of data and it's a pity. Perhaps we should modify the make command as to mount a data folder inside the volto monorepo and use it thus persisting the data. @plone/volto-team if we tell users that this is the way to develop using docker we should make sure we persist their demoing, making it easier to come back and work on other issues. EDIT: |
@wesleybl you could test the backend changes that modelled the cookiecutter output from here I would be interested in hearing how that works for you, if api was still better or if this is more flexible for you. |
@ichim-david I didn't understand this commit. Is the link correct? Do you want me to test this PR? |
@wesleybl you can test it #6168 I already know it will solve your backend-docker-start data persistency issue. Regarding that commit that I meant to link to aade85d which was the previous commit before the one that removed the backend folder. See the commit after my comment I left here #6110 (comment) Here is the link to how backend folder was modelled before it was deemed as something that can be removed altogether instead of replacing the api folder |
@ichim-david I tested the But I respect the decision to use docker. For most situations it will resolve. We have the persistence problem that you are verifying. We also have the problem of taking a long time to start. I think it was due to the installation of the "custom version" of |
@wesleybl it's fast if you have a mac with a fast ssd :), it takes around 10s before starting the plone instance :). This happens due to the use of plone.restapi 9.7.0 for the teaser dynamic data fetching. Once a Plone version is released with this version that step should no longer be necessary to get rid of this bottleneck. Regarding the backend working I'm glad it works for you, I guess you can use this solution since it's more flexible in modifying the plone instance todo actual changes as opposed to the docker image. |
I have reservations about this. To see: #6157 (comment) But it's ok :) |
Let me add my 5c to this. The Plone versions used in Volto core should be "latest", since both backend and frontend have to be "in sync" for features. eg. if main has a feature not yet in an official Plone core release (as it's the case during these days) it needs to pull in the packages that provide these features (in this case latest p.restapi). This causes the build to pip install again, and this takes some extra time. This will be "solved" when 6.0.12 will be out. Volto core HAS to work like this, this is unavoidable. Using docker is just faster and much more convenient, and less error prone. From my point of view, you don't need anything else than the latest Plone to develop Volto features. In the case you are developing something in the backend as well that pairs with the PR that you are working on, no matter what package it is, you should use buildout.coredev. There's no reason for not doing it while developing the Plone backend. It's not only the recommended way to develop backend Plone, but the way to go. In the past, you could go away with the |
As far as updating Develop Volto core, is there anything we should do at this time?
IMO, the answer is "no" to all three questions, and we need those questions answered. There is an open PR that may help resolve Question 3 plone/documentation#1671. |
It will make the backend start faster, correct? |
When I run the command:
make backend-docker-start
The backend takes time to start. It first installs
plone.restapi
and then starts Plone. Every time I stop the container and start it again this happens. This is correct? Is there a way to start the backend faster? There used to be anapi
folder that had a Plone buildout, but it was removed.The text was updated successfully, but these errors were encountered: