-
Notifications
You must be signed in to change notification settings - Fork 126
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
Confused about what is optional in terms of Infra #348
Comments
You're right, docs could always be better. I'll try to explain things more clearly. There is 2 different cache used in open-next:
Both of those cache could be ignored, but we chose to put it under a dangerous flag because it breaks some functionality that may not seem obvious in the first place for everyone.
Disabling the S3 cache and using SSG, doesn't even break your app if you do not have For the IAC part, i totally agree, and that's why for V3 rc we include a reference CDK implementation that should help people to more easily create their own IAC. If you could create a PR to improve the docs, it would be greatly appreciated |
@conico974 I'm so pleased that there is going to be a reference implementation--I think that will probably answer the questions that sometimes docs struggle to. To be clear, I don't have a problem with calling something dangerous per se, it's more that it isn't clear why it is dangerous. Happy to submit some changes, but I'll need to clarify a few things further in order to do so. Here are my thoughts based on your explanation above:
Looking forward to your thoughts--what would you suggest to improve the docs? |
Sorry for the delay,
Not sure that we should put it in We should probably add a specific page about partial prerendering, because it cannot work the same way that it does on vercel. On vercel the page is served from the CDN, very likely from a cloudflare worker, that's impossible to do outside of vercel at the moment, you have to reach the server function. To make it work we would have to move the cache outside of the server function in the routing/middleware part (something that V3 will make possible, maybe in V3.1) and reconstruct the streamed html from the precomputed rendered part and the postponed RSC
We should probably add a paragraph about that in the docs, in the architecture page.
We should probably keep the diagram, we might need to revisit it a little bit and add a disclaimer that you should read the rest of the docs to really understand everything. Anyway, the docs will need a big revamp with the V3 release with the introduction of the |
https://open-next.js.org/advanced/architecture
Having some difficulty understanding what is required and what is optional, and which options/infra apply to which features.
For example, the diagram makes it seem like the Cache (bucket + files) is optional, but the description makes it sound very important. Is it just an ISR feature or is it always needed? Unless there is a good reason not to, I think the docs could do a better job of making it clearer which features each piece of infra is required by.
The options page is also somewhat confusing in a similar vain. For example, https://open-next.js.org/advanced/options#experimental-disable-dynamodb-cache says it is "unsafe" to disable dynamo, but as as far as I can tell it should be safe unless the optional ISR feature is being used. I don't think it makes sense to say it is "unsafe" to disable an optional feature? Again, I think this can be easily improved by adding a label to say which features it is relevant to. This could be as simple as changing the headings, eg
Experimental disable dynamodb cache (ISR)
I've been using OpenNext since v0 and I think it's fantastic. I used the original docs to build some stacks that we deploy in several applications at work, and I couldn't have done that without the original v0 docs. I have been trying to make some updates to those stacks and am finding the new docs much less detailed and imagine it would be significantly more difficult for somebody new to the project to do what I was able to do quite easily back then. Some of this is surely just a result of adding more features--which is great--but ease of adoption is very a important aspect of this project (unless I'm mistaken) and that means making the docs detailed enough for somebody to write their own IaC.
The text was updated successfully, but these errors were encountered: