Dynamic Zone in Components
A
Alexandre Retourne
It could be great to add context or let the users create their contents with little constraints. For example, a grid could have differents components inside like download cards or profile cards. Making a grid component for each variation is not optimal so it would make the UI clearer with fewer components. Lastly, the front-end developer could develop a component manager from front-end and it would manage all content to build the website like legos. The developer would maintain the content builder from strapi POV and the users can immediately use the news components or make change on already launched content.
Aurélien Georget
Hey everybody,
I wanted to share a few updates regarding this initiative. We are actively exploring the design impacts as we want to provide an elegant way to ensure it scales even if the level of depths is greater than 4 or 5.
Here is a screenshot of a possible option; as you can see, we are also trying to harmonize the look & feel between the Dynamic Zones and Components.
We will keep you posted once the development starts. We have no ETA to share so far, we are 100% focused on v5.
Ciao ✌️
D
Davomyan
I'm begging you guys please focus on this Q1 2025
D
Douwe Pausma
This would be a huge help, I currently have to create a lot of specific components to solve an issue that for example a "columns" component would. Adding Dynamic Zone's in components would declutter my Strapi alot!
Maybe a way to limit performance issues, is by setting a max depth for nesting components?
Koen Cornelis
This is a pretty big problem for us as well, as the lack of this functionality is really impactful on a content editor's workflow. Basically, if we hadn't made a lot of stuff in strapi already i'd be vehemently arguing to switch to another CMS.
I hope this comes soon, but if this is such a big deal: can you at least make conditional fields a thing. I can work around this problem in a lot of use cases if we get conditional fields.
That'd allow me to show a specific component depending on the type of field a user wants to see.
Kayode Okusanya
Hi Aurélien Georget
Greetings! I'm excited to be back in touch. First off, we want to express our deep appreciation to everyone at Strapi for the fantastic work you're doing. Strapi truly stands out, and we're grateful for all the effort your team puts in.
Regarding the dynamic zone within a component, could you clarify the specific blocker that's preventing its implementation? I’m curious about why this feature hasn’t been addressed yet. Is there any possibility of introducing it with a feature flag, even if it’s not yet perfect? As a Full Stack Developer, I understand this might be complex, but releasing it experimentally and gathering telemetry could provide valuable, data-driven insights.
Given that this feature has around 475 votes, some feedback on why it’s not being prioritized would be really helpful. Again, thank you and the entire Strapi team for creating such an outstanding platform. Looking forward to your response!
Aurélien Georget
Kayode Okusanya I won't get into all the details about how the priorization works, however, the main issues that we face are performance issues. A Dynamic Zones is a relation, a component is a relation, the deeper we go, the more database requests it generates, the slower it is.
You are right about the flag system, and we are currently implementing feature flags to be able to release new experimental features under flags.
This feature is in our radar and we are committed to work more on community features this year as our monetization model is in better shape now :)
D
Davomyan
Aurélien Georget Why are you guys deciding for us to use or not use a feature, what if we are perfectly fine with the performance hit? It should be our choice to make certain necessary trade-offs. In my case it's data I will be fetching from the database and cache it for weeks, so it's 1 operation that will take ''long'', and not many of the same operations a day, the performance hit for me is negligible
Aurélien Georget
Davomyan Since we are the ones handling the support tickets, open issues, and complaints, we have seen how this can lead to challenges. Many users are beginners and may not notice performance issues until their app grows, at which point it can become a problem, and we're often the ones they turn to for help. That said, you’re absolutely right, we could offer an option to unlock this feature, but we believe it’s better if it’s not available by default to avoid those potential issues early on.
D
Davomyan
Aurélien Georget That should be our problem and we should fix our mistakes later, for example us developers learn postgres the hard way when our user base grows and we have suddenly 1million + rows and the database is slow, then we learn about database indexing. Please talk to your higher ups and make this ticket happen ASAP!!!
O
Ondrej Zraly
Still nothing? I love Strapi but still need to use directus just for this reason. Common guys I want to switch! :D
D
Davomyan
Strapi v5 just released and it's absolutely mental this hasn't been implemented yet, this issue has been talked about since 2020
Roman Bondarenko
Aurélien Georget Hey! Strapi 5 Launch Week ✌️
Is it possible to use this feature in the already released new version of Strapi v5?
Aurélien Georget
Roman Bondarenko Hey, unfortunately it isn't available on Strapi 5. You can nest the components but you still cannot have DZ within a component.
Roman Bondarenko
Aurélien Georget sadly
Johnny Prescott
More than 2 years coming now. The focus is more on cloud and other features rather than features the current users really want.
Seriously need to address this. I'm still doing it the hacky way everywhere. You guys have to stop saying it's because of performance and actually look into finding a solution.
A
Abdulrahman Alhamada
any updates on this feature will this be supported in v5?
Eric Ferreira
Last update was from Q2, it's now halfway through Q3. Any more updates here?
Load More
→