In https://github.com/neos/neos-ui/pull/3560#issuecomment-1624214622 i experienced an inconsistency where the NodeTypes would show up in different order in the Node Creation Dialog on different systems. Always in an unorder per system. But each different.
Thats because the underling directory scan via the RecursiveDirectoryIterator doesn't enforce a specific order, but will return the files how the underlying file system returns them - on linux - unordered.
But as part of a bigger picture it was pointed out that this kind of unorder will also happen in other cases:
I had an interesting discussion with @gjwnc first here and then continued here about the unorder in other parts of neos and flow.
None of the configs is or was sorted. Not the nodeTypes or Settings or Policy. Before neos/neos-development-collection#3332, the config was mainly loaded using Flow's YamlSource::load. This one is using glob() which, regarding sorting, has the same behavior.
Regarding Settings or other yaml files you just often don't notice the difference between your various installations. This is because your package order introduces a "good enough" hierarchy which, after merging the yaml files, results in, apart from sorting, the same yaml config - e.g. you likely find the same values using the same path injecting a setting.
A very simple example to show the unsortedness can be ./flow configuration:show itself. If you have many packages, it is likely that there is a difference in the results from your local dev and production. I don't mean a difference of existing/not existing packages because of require-dev, I mean that the order of settings is just different also for packages existing on both installations.
A quick check on a project of ours showed, that on production I get
and on my local dev it is reversed - Sandstorm before PunktDe.
Regarding configuration I think it would be great to have consistent and predictable results.
I would also go one step further and sort the packages and loaded yaml source, i.e.
This should result in predictable results for all installations and all configs. :smiley: But yeah, not sure if there is any interest in such little changes likely no one will even recognize, thus maybe not much of a need :see_no_evil: But I still favor predictability because it avoids future confusion.
In https://github.com/neos/neos-ui/pull/3560#issuecomment-1624214622 i experienced an inconsistency where the NodeTypes would show up in different order in the Node Creation Dialog on different systems. Always in an unorder per system. But each different. Thats because the underling directory scan via the
RecursiveDirectoryIterator
doesn't enforce a specific order, but will return the files how the underlying file system returns them - on linux - unordered.This describes of course a Neos problem. Thats why i created a bugfix for Neos: https://github.com/neos/neos-development-collection/pull/4394 (Which would fix the described
NodeTypes
configuration folder problem)But as part of a bigger picture it was pointed out that this kind of unorder will also happen in other cases:
I had an interesting discussion with @gjwnc first here and then continued here about the unorder in other parts of neos and flow.
Also @dlubitz chimed in:
And so did @kdambekalns:
Maybe we find the merged configuration order worth correcting, maybe not. Lets see.