Yes yes yes, I know it's far too early in the development of this module to be making feature requests but I can't help myself.
I've been thinking about nodequeue / entityqueue a lot lately and I finally know what's bugging me about this module. These smart queues provides functionality very similar to the kind of functionality I've grown to love from various Netflix power user apps but doesn't attempt to implement the best feature from those apps: User-initiated sort filters.
In the case of the Netflix apps this feature specifically was the ability to have your queue sorted by some criteria (rating, alpha, genre) and then other filters could be applied (reverse sort). Given that a queue has other intelligent processes that populate the queues it makes sense to provide the user the ability to apply smart filters on the queue.
For example, my current problem that I'm trying to solve is that the user was to sort the items in the queue by title, but they named things in such a way that it's difficult for the system to do that perfectly (they used numbers in the title). So it would be great if there was a way to apply the sort filter on the queue, then manually sort a few items that were out of place.
This combination of system-driven sorting and human correction is very efficient and versatile.
Comments
Comment #1
jojonaloha commentedWhile this sounds interesting, I'm not sure what new feature is being requested here. All the queue handlers provided in this module only have manual sorting.
The automatic sorting makes me wonder if you can't just use Views sorting. I think the automatic sorting plus manual overrides problem is more difficult to solve for then it sounds though.
I've tried doing something like this using DraggableViews before. You start with a View that sorts items by title, and use DraggableViews to manually change the sort. The problem is that once you save your manual changes, all the items are now sorted manually. You add a new item, and it shows up at the bottom instead of sorted in the results by title because it doesn't have a manual sort yet while all the others do.
You would run into a similar problem with Entityqueue. If you have a View of items sorted by title and then only added the manual changes to your queue, you could position those overrides at the top or the bottom, but you would likely want to have those manual changes interspersed with the other results.
For example; you have some entities with the following titles:
Ideally those would be sorted by title like:
By default though, Views would sort them like:
If you used Entityqueue to add some manual sorting, you could add these items to the queue in this order:
Now your View could add a sort by Queue Position and then by Title, and everything should be sorted properly.
Once you added, say "Cool Runnings" the View would not be sorted properly:
You can see how the automatic sorting quickly becomes very manual and this problem gets worse (harder to manage) as there are more items in the list.
In general I would recommend having a separate field for sorting (ie: Sort Title) for this reason. Or you can try something like Views Natural Sort
Comment #2
cosmicdreams commentedThe disconnect between what you've imagined and what the original idea for this is that there are clients that greatly prefer administratively controlled actions rather than system driven ones. Many clients who I've implemented queues for have ultimately wanted full control over their queues and are comfortable with extra manual actions to ensure that a queue is ordered properly rather than having a system do magical things to their order even after they've made it right.
I can see that when you are making frequent changes to items in your queue having to manually sort each time would add extra burden. But when changes are infrequent and you just need some helpful tools to mass update the queue in logical and easy to use ways this kind of feature becomes important.