Dynamic Zone in Components
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.
Responsive Administration Panel
For both marketers and developers, it could be very useful to have the ability to contribute content from their tablet and mobile. To do that, the user interface needs to be responsive and adaptive to every device sizes.
Q3, 2023 — Better Rich Text Editor
Summary The current and previous (v3) WYSIWYG editor are more so basic markdown editors and while markdown is awesome (since I'm writing this feature request in markdown smile ) I believe there is room for improvement and we could swap the default editor shipped with Strapi for something more feature rich and complete. There is already community options in both v3 and v4 such as CKEditor 5, React MD, Toast UI, and Editor.js I do think we should ship something more feature complete then forcing everyone to install one of the community options. If anything we could also make it easier to swap out our editor by standardizing methods to build new editors into the Strapi interface. Why is it needed? Our current editor only supports the bare minimums in terms of markdown support (eg no tables, ect) and support for things like inline youtube video previews, ect are a bit more complex to handle properly. Likewise not all non-technical content editors are familiar or like markdown. Likewise in many frontend frameworks a library is required to convert markdown to html. I believe it could be possible to handle this type of conversion server side and maybe caching those outputs (or pregenerating them). see: https://github.com/strapi/strapi/issues/12440
Ordering Content Type entries in the List view
It would be really beneficial if there was a way to retain the order (using order column for example) of a collection and be able to update it via drag-and-drop on the collection view. There are many cases when we want to have a certain order of items (regardless of insert order/id/filter/sort options provided in the view), and to be able to retrieve the data using the predefined order later (as seen in the collection view for example) Using drag and drop would help as it's really tedious to go to a huge collection and pump the order column of each item (for a CMS user) or run a query on the database (for CMS power user) most common use case, ordering an employee list on a company website (or add a new employee at a specific position) see: https://github.com/strapi/strapi/issues/3946
Allow users having multiple versions of the same content at the same time.
Content history/Revision history
Track version history of content: view the different iterations of a piece of content.
Parent & child relationship/field
The easiest example to explain is laid out like this, we have the following models: Make Model Sales In this context we are talking about cars, so the make would contain a list of car manufacturers (Subaru, Toyota, Ford, Chevy, ect). Thus the model would contain some options like WRX, GT86, Mustang, Corvette. The way we would setup the sales model would be a oneWay relation to each make/model, and in the context of this request when we create a new "sale" we would select the make (say subaru) now when I go to select the model I should only be able to see/select the "WRX" model since it's made by Subaru. I should not be able to select "Toyota" "Mustang" as that car doesn't exist. See for more information: https://github.com/strapi/strapi/issues/8708