neos / neos-development-collection

The unified repository containing the Neos core packages, used for Neos development.
https://www.neos.io/
GNU General Public License v3.0
266 stars 222 forks source link

Why does `findDescendantNodes` searches for abstract nodes? #4532

Open mhsdesign opened 1 year ago

mhsdesign commented 1 year ago

Why do we willingly include the abstract nodetypes in findDescendantNodes in neos 9?

https://github.com/neos/neos-development-collection/blob/88cb1fd2a1ad3bb0e012b3594a7a16a0d7e2848a/Neos.ContentRepository.Core/Classes/Projection/ContentGraph/NodeTypeConstraintsWithSubNodeTypes.php#L111

Originally posted by @mhsdesign in https://github.com/neos/neos-development-collection/pull/4501#pullrequestreview-1622337924

mhsdesign commented 1 year ago

Bernhard said that this probably wont make things slower on sql side as this is a simple lookup.

We might save some super little time on the php side though ;)

And then Neos 9.0 will behave more like neos 8.x https://github.com/neos/neos-development-collection/pull/4501

kitsunet commented 6 months ago

the question is a) what about nodetypes declared abstract after the fact, and what about inheritance chains like this:

abstract: false -> abstract: true -> abstract: false