Re-organize documents inside a collection

Hey everyone,

Here is my first post, I’ll try to be clear as much as possible.

The thing is I want to allow the content editor to organize the different projects (documents) in the case collection as he wants.

He should have the ability to re-order the list: project2 in the first position and project1 in the second position (cf picture).

I can use dynamic content but I lose the possibility of query only one project and also the ability of publish/unpublish cases.

I also can use a single type and then use a component but I will not able to fetch only one element. Also, it’s not possible to nested more than 2 components.

I’m currently using mongoDB atlas and heroku for deployment.

Any idea?

Many thanks!

1 Like

Currently we don’t support this (yet) though it has been requested as a feature request on GitHub here:

For the moment we don’t have any suggestions on implementing it at a per-project level.

I am wondering if using a dynamic zone would do the job. As I understood some of the use case from the issue on github is to be able to change the layout of a website for instance, and the dynamic zone feature is perfect in order to do this.

@DMehaffy thanks for your response !

@soupette Indeed, dynamic zone can do the tricks in terms of layout. That’s what I’m using right now and it’s working wonderfully. :slight_smile:

However, let’s say you have a list of projects (so documents in a collection) and you want to rearrange the order of the projects, this is - almost - not possible.

You can do it if you add a new integer field like order or something… but that’s mean you have to manually re-order every project… if you have more than 50 projects, it becomes very chronophage and unmaintainable.

I think this feature request could be high priority and game changer, in my opinion. I see a lot of comments for other headless CMS about the lack of this feature.

1 Like

Indeed, it’s a common “user” feature but in terms of technology, backend, and developer side it’s extremely difficult to implement; even more so to implement properly that meets almost everyone’s expectations.

Even looking at it from a pure data/database perspective, it can be a very resource intensive set of actions.

We prefer to do things -right- instead of quickly to prevent technical debt build up instead of rushing some unfinished option out the door. Or breaking things down into smaller meaningful chunks that we can build on over time.

Hi There! It’s confusing why this would be complicated to do as many CMSes have similar features :

In Drupal, you have Nodequeues or simple content type reorderable relations
In GraphCMS you can basically do it with relations
I’m new to Strapi, why is this feature isn’t there yet?

It’s an extremely common use case for collections of manually curated items (Listicles, Top N, Dossiers, Media sites…)

Yes please, it should be implemented ASAP, it is very important feature for a headless CMS.
Each entry need to have a position integer as a prop. We should be able to drag and drop some entries on the UI. That will trigger the update of this position integer. By default the UI will order those entries with this position integer. If another type of ordering is selected on the UI (e.g order by creation date or name) the drag and drap option gets disabled.

1 Like