Requiring a subqueue when you don't specifically need them unnecessarily complicates the DX and UX. It should be a core goal of the 7.x-3.x branch (or any potential Entity Queue module) to not need this anymore unless you specifically enable a nodequeue_subqueue submodule.

Comments

amateescu’s picture

Status: Active » Closed (fixed)

In the Entityqueue sandbox that I just started, I merged queues and subqueues in a single entity. People who don't enable modules that provide subqueues will see no reference of them in the UI.

amateescu’s picture

Project: Nodequeue » Entityqueue
Version: 7.x-3.x-dev »
Status: Closed (fixed) » Active

Moving to the Entityqueue issue queue for further discussion.

tim.plunkett’s picture

The subqueue label is still currently visible when adding a queue, but not used anywhere yet. But you probably knew this :)

amateescu’s picture

That's right :)

I'm wondering now if creating a entityqueue_subqueue module makes sense. It would have to alter the entityqueue schema in order to add the 'parent_name', 'subqueue_label' and 'subqueue' columns/properties, and also hack somehow into the queue creating process :-?

I'm not really sure if this buys us anything.. the subqueue label form element can be easily hidden if you are creating a 'simple' queue, so users that don't enable a subqueue providing module will never know they exist.

@DamienMcKenna, can you chime in here?

damienmckenna’s picture

I don't know if it's really necessary to have subqueues, I mean you can filter the main queue by various means using Views relationships, or just build your own queries if you're so inclined. I'd honestly ditch the sq(u)id system entirely.

amateescu’s picture

I wouldn't ditch them, I think the use-case for smartqueue_taxonomy is quite good :)

I've been thinking about another thing recently, after @tim.plunkett asked me why aren't queues fieldable. And that is a very good question :)

So, my thought right now is to make queues entity bundles, and subqueues entities. That way, the subqueue support is baked in with no extra effort, and every queue can have it's own set of fields. The only problem is the approach needed, and that is using Entity API's support for making bundles entities themselves. I know many people don't like this approach (I am one of them) but I can't see a better solution that gives us exportability for free with the least amount of custom code.

tim.plunkett’s picture

I'm embarrassed to say I never really understood the subqueues in nodequeue, so I really don't have a strong opinion on it. All I know now is to form_alter out the subqueue label and set 'subqueue' => TRUE when programmatically creating one...

tim.plunkett’s picture

After further discussion on IRC, I think the idea is to follow the model used by Profile2, and have two entity types. EntityQueue Type (or other name) and EntityQueue.

amateescu’s picture

Status: Active » Closed (won't fix)

I've tried (very hard) to unify queues and subqueues in a single entity type, but it didn't work out because of limitations from Entity reference. The new structure is explained in #1524544-8: Add ability to add non-bundle based entityqueue types.