We considered to support multiple node types in workbenches - behavior should be different depending on the view (Tree should show all, List & Thumbnail should only show Node types keeping real content - no folders).
In the WorkbenchDefinition you can define a list of node types:
- all of these will show up in the tree
- only nodes of the first type of it will show up in the list or thumbnail view
What if you want to display multiple NodeTypes
Let's say you want to display apples and pears in the same list. Here's how you can do:
- define an additional NodeType fruit
- let the NodeTypes apple and pear extend fruit
- configure your workbench to have NodeType fruit as first entry in the list
Considering the fact that non-folder NodeTypes that are displayed in the same Workbench should anyway have common attributes to be displayed in the columns this is most likely not too restrictive.
If we ever want or to have Lists fully supporting multiple NodeTypes without common parents the AbstractJcr should be changed to:
- query Jcr per NodeType
- keep info at which NodeType starts at which index
- calculate what NodeTypes with what offsets have to be queried to retrieve a requested page
We evaluated the effort to use a different approach: query for nt:base then filter out the unwanted items - it turned out to be far to complex to get proper paging.